本文整理汇总了Python中models.Course.section_days方法的典型用法代码示例。如果您正苦于以下问题:Python Course.section_days方法的具体用法?Python Course.section_days怎么用?Python Course.section_days使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Course
的用法示例。
在下文中一共展示了Course.section_days方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_course
# 需要导入模块: from models import Course [as 别名]
# 或者: from models.Course import section_days [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
#.........这里部分代码省略.........