def _handleCourseFromTable(string, xq, SchoolCode=''): meg = ' ' def __ListDaydataFromString(context_list): ccourse = course() return [ ccourse.daydataFromDayString(context_list[11 + i]) for i in range(7) ] strainer = SoupStrainer('table', border='1') soup_course = BeautifulSoup(string, parseOnlyThese=strainer, fromEncoding='GBK') tbody = soup_course.table if tbody is None: return string for i, tr in enumerate(tbody): if tr != None: if i > 0: context_list = list() for td in tr.contents: if td.font != None: context_list.append(td.font.getText().replace( u' ', '').strip(u' ')) elif td.a != None: context_list.append(td.a.getText().replace( u' ', '').strip(u' ')) else: temp = td.getText().replace(u' ', '').strip(u' ') context_list.append(temp) ckeyid = context_list[0] for i in range(7): tempStr = context_list[i + 11].strip() if tempStr: ckeyid += str(i) + tempStr ckeyid = ckeyid.strip() ckeyid += context_list[7] queryset = course.objects.filter(keyid=ckeyid, termnumber=xq) if queryset.count() > 0: ccourse = queryset.get(keyid=ckeyid) ccourse.SchoolCode = SchoolCode ccourse.CourseType = context_list[3] ccourse.name = context_list[1] ccourse.save() else: dayx = __ListDaydataFromString(context_list) ccourse = course(termnumber=xq,keyid=ckeyid,courseid=context_list[0],classnum=context_list[2],\ name=context_list[1],rawplace=None,time_test=None,credit=context_list[4],\ time=context_list[10],day1=dayx[0],day2=dayx[1],day3=dayx[2],day4=dayx[3],\ day5=dayx[4],day6=dayx[5],day7=dayx[6],teachername=context_list[7],\ SchoolCode = SchoolCode,Coursetype = context_list[3],course_category=0) ccourse.save() return meg
def savecourse(context,cuser): courseid = course.objects.filter(name__contains=context['name'],termnumber=getTermNumber(),teachername__contains=context['teachername'])[0].courseid error = u'' keyid = courseid + context.get('timeKey','') + context['teachername'] place_context = match_location_context(context['timeandplace']) try: ccourse = course.objects.get(keyid = keyid,termnumber=term) except: context.pop('timeandplace') context.pop('timeKey') for x in xrange(7): context['day'+str(x+1)] = course.daydataFromDayString(context['day'+str(x+1)]) ccourse = course(keyid=keyid,termnumber=getTermNumber(),course_category=0,**context) ccourse.save() if place_context: ccourse.rawplace = place_context['name'] ccourse.save() # try: # ccourse = course.objects.get(courseid=context['courseid'],termnumber=term,teachername__contains=context['teachername']) # except: # pass ccourse.user.add(cuser) ccourse.save() if place_context: ccourse.rawplace = place_context['name'] ccourse.save() return error
def _handleCourseFromTable2(string,xq,SchoolCode = None): #xq=1004 meg = ' ' def __ListDaydataFromString(context_list): ccourse = course() return [ccourse.daydataFromDayString(context_list[10+i]) for i in range(7)] strainer=SoupStrainer('table',border='1') soup_course=BeautifulSoup(string,parseOnlyThese=strainer,fromEncoding="GBK") tbody=soup_course.table if tbody is None: return '-2' for i,tr in enumerate(tbody): if tr != None: if i > 0: context_list = list() for td in tr.contents: if td.font != None: context_list.append(td.font.getText().replace(u' ','').strip(u' ')) elif td.a != None: context_list.append(td.a.getText().replace(u' ','').strip(u' ')) else: temp = td.getText().replace(u' ','').strip(u' ') context_list.append(temp) ckeyid = context_list[0] for i in range(7): tempStr = context_list[i+10].strip() if tempStr: ckeyid += str(i) + tempStr ckeyid = ckeyid.strip() ckeyid += context_list[6] queryset = course.objects.filter(keyid=ckeyid,termnumber=xq) if queryset.count() > 0: ccourse = queryset.get(keyid=ckeyid) ccourse.SchoolCode = SchoolCode ccourse.CourseType = context_list[3] ccourse.name = context_list[1] ccourse.save() else: dayx = __ListDaydataFromString(context_list) ccourse = course(termnumber=xq,keyid=ckeyid,courseid=context_list[0],classnum=0,\ name=context_list[1],rawplace=None,time_test=None,credit=context_list[3],\ time=context_list[9],day1=dayx[0],day2=dayx[1],day3=dayx[2],day4=dayx[3],\ day5=dayx[4],day6=dayx[5],day7=dayx[6],teachername=context_list[6],\ SchoolCode = SchoolCode,Coursetype = context_list[2],course_category=0) ccourse.save() return meg
def savecourse(context, cuser): courseid = course.objects.filter( name__contains=context['name'], termnumber=getTermNumber(), teachername__contains=context['teachername'])[0].courseid error = u'' keyid = courseid + context.get('timeKey', '') + context['teachername'] place_context = match_location_context(context['timeandplace']) try: ccourse = course.objects.get(keyid=keyid, termnumber=term) except: context.pop('timeandplace') context.pop('timeKey') for x in xrange(7): context['day' + str(x + 1)] = course.daydataFromDayString( context['day' + str(x + 1)]) ccourse = course(keyid=keyid, termnumber=getTermNumber(), course_category=0, **context) ccourse.save() if place_context: ccourse.rawplace = place_context['name'] ccourse.save() # try: # ccourse = course.objects.get(courseid=context['courseid'],termnumber=term,teachername__contains=context['teachername']) # except: # pass ccourse.user.add(cuser) ccourse.save() if place_context: ccourse.rawplace = place_context['name'] ccourse.save() return error
def __ListDaydataFromString(context_list): ccourse = course() return [ ccourse.daydataFromDayString(context_list[10 + i]) for i in range(7) ]
def __ListDaydataFromString(context_list): ccourse = course() return [ccourse.encodeTimeFromDayString(context_list[10 + i]) for i in range(7)]
def _handleCourseFromTable(string, xq, SchoolCode=""): meg = " " def __ListDaydataFromString(context_list): ccourse = course() return [ccourse.encodeTimeFromDayString(context_list[11 + i]) for i in range(7)] strainer = SoupStrainer("table", border="1") soup_course = BeautifulSoup(string, parseOnlyThese=strainer, fromEncoding="GBK") tbody = soup_course.table if tbody is None: return "-1" for i, tr in enumerate(tbody): if tr != None: if i > 0: context_list = list() for td in tr.contents: if td.font != None: context_list.append(td.font.getText().strip(u" ").strip(u" ")) elif td.a != None: context_list.append(td.a.getText().strip(u" ").strip(u" ")) else: temp = td.getText().strip(u" ").strip(u" ") context_list.append(temp) ckeyid = context_list[0] for i in range(7): tempStr = context_list[i + 11].strip() if tempStr: ckeyid += str(i) + tempStr ckeyid = ckeyid.strip() ckeyid += context_list[7] queryset = course.objects.filter(keyid=ckeyid, termnumber=xq) if queryset.count() > 0: ccourse = queryset.get(keyid=ckeyid) ccourse.SchoolCode = SchoolCode ccourse.CourseType = context_list[3] ccourse.save() else: dayx = __ListDaydataFromString(context_list) ccourse = course( termnumber=xq, keyid=ckeyid, courseid=context_list[0], classnum=context_list[2], name=context_list[1], rawplace=None, time_test=None, credit=context_list[4], time=context_list[10], day1=dayx[0], day2=dayx[1], day3=dayx[2], day4=dayx[3], day5=dayx[4], day6=dayx[5], day7=dayx[6], teachername=context_list[7], SchoolCode=SchoolCode, Coursetype=context_list[3], ) ccourse.save() return meg
def __ListDaydataFromString(context_list): ccourse = course() return [ccourse.daydataFromDayString(context_list[11+i]) for i in range(7)]
def __ListDaydataFromString(context_list): ccourse = course() return [ ccourse.encodeTimeFromDayString(context_list[11 + i]) for i in range(7) ]