本文整理匯總了Python中models.Course.tag方法的典型用法代碼示例。如果您正苦於以下問題:Python Course.tag方法的具體用法?Python Course.tag怎麽用?Python Course.tag使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類models.Course
的用法示例。
在下文中一共展示了Course.tag方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: add_course
# 需要導入模塊: from models import Course [as 別名]
# 或者: from models.Course import tag [as 別名]
def add_course(request):
'''
add new course object to the database
'''
course = request.GET.get('course').upper()
section = request.GET.get('section')
response_data = {}
course_info = {}
response_data['error'] = False
response_data['error_msg'] = ''
# add the course to the user's list of courses
user = UserProfile.objects.get(user=request.user)
profile = request.user.profile
# print course
# print section
if len(section) != 4:
if len(section) == 3:
section = "0" + section
else:
response_data['error'] = True
response_data['error_msg'] = 'Section ID is invalid!'
return HttpResponse(json.dumps(response_data), mimetype="application/json")
# Set URL for testudo course search, term, and other query data
page_url = "https://ntst.umd.edu/soc/search?courseId=" + course + "§ionId=" + section + "&termId=201308&_openSectionsOnly=on&courseLevelFilter=ALL&classStartTime=&_classDays=on&teachingCenter=ALL"
page = urllib2.urlopen(page_url).read()
soup = BeautifulSoup(page)
if soup.find("div", {"class" : "no-courses-message"}) != None:
response_data['error'] = True
response_data['error_msg'] = 'That course does not exist!'
return HttpResponse(json.dumps(response_data), mimetype="application/json")
if len(course) <= 4:
response_data['error'] = True
response_data['error_msg'] = 'That course does not exist!'
return HttpResponse(json.dumps(response_data), mimetype="application/json")
course_container = soup.find("div", {"class" : "courses-container"})
first_block = course_container.find("div", {"class" : "course"}, {"id": course})
if first_block == None:
response_data['error'] = True
response_data['error_msg'] = 'That course does not exist!'
return HttpResponse(json.dumps(response_data), mimetype="application/json")
class_block = first_block.find('div', {'class' : 'class-days-container'})
classes = class_block.findAll('div', {'class' : 'row'})
response_data['courses'] = []
# create the new course objects and add them to database
for i in range(0, len(classes)):
try:
# set c to the matching course if it exists in DB
room = classes[i].find('span', {'class' : 'class-room'}).text
c = Course.objects.get(name=course, section=section, room_number=room)
except:
# course does not exist in DB, create new course and add it to DB
c = Course()
c.name = course.upper()
c.section = section
room = classes[i].find('span', {'class' : 'class-room'}).text
if room != None:
if room == 'ONLINE':
response_data['error'] = True
response_data['error_msg'] = 'You cannot add online classes!'
return HttpResponse(json.dumps(response_data), mimetype="application/json")
else:
c.room_number = room
c.build_code = classes[i].find('span', {'class' : 'building-code'}).text
class_start = classes[i].find('span', {'class' : 'class-start-time'}).text
c.start_time = parser.parse(class_start)
class_end = classes[i].find('span', {'class' : 'class-end-time'}).text
c.end_time = parser.parse(class_end)
c.section_days = classes[i].find('span', {'class' : 'section-days'}).text
c.link = page_url
if classes[i].find('span', {'class' : 'class-type'}) != None:
c.tag = classes[i].find('span', {'class' : 'class-type'}).text
c.save()
# add course to user's list of courses
if not c in profile.courses.all():
user.courses.add(c)
user.save()
course_info = {}
course_info['name'] = c.name
course_info['section'] = c.section
course_info['build_code'] = c.build_code
#.........這裏部分代碼省略.........