當前位置: 首頁>>代碼示例>>Python>>正文


Python Course.start_time方法代碼示例

本文整理匯總了Python中models.Course.start_time方法的典型用法代碼示例。如果您正苦於以下問題:Python Course.start_time方法的具體用法?Python Course.start_time怎麽用?Python Course.start_time使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在models.Course的用法示例。


在下文中一共展示了Course.start_time方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: add_course

# 需要導入模塊: from models import Course [as 別名]
# 或者: from models.Course import start_time [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 + "&sectionId=" + 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
#.........這裏部分代碼省略.........
開發者ID:unscsprt,項目名稱:umagellan,代碼行數:103,代碼來源:views.py


注:本文中的models.Course.start_time方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。