From daf31eb42ef3c92d514f954bc64f5cc7242cb040 Mon Sep 17 00:00:00 2001 From: rlbr Date: Mon, 7 Jan 2019 13:22:48 -0600 Subject: [PATCH] changed self to a dictionary --- scraper.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scraper.py b/scraper.py index 803c14a..3041d8a 100644 --- a/scraper.py +++ b/scraper.py @@ -19,13 +19,14 @@ def datetime2date_time(dtime,mode): def seconds_from_midnight(t): return t.hour*60**2+ t.minute*60+t.second class Class: - def __init__(self,title,session,days,location,time_range): + def __init__(self,title,session,days,location,time_range,date_range): self.title = title self.session = session self.days = days self.location = location self.time_range = time_range self.lab = None + self.date_range = date_range # data is a list of two html tables def scrape(self,data): info,times = data @@ -71,21 +72,22 @@ class Class: ret = {} time_data = dict(zip(headers,data)) if time_data['time'] == 'TBA': - self.time_range = None + ret['time_range'] = None else: s,e = map(dateparse,time_data['time'].split(' - ')) - self.time_range = ( + ret['time_range'] = ( datetime2date_time(s,'time'), datetime2date_time(e,'time'), ) s,e = map(dateparse,time_data['date range'].split(' - ')) - self.date_range = ( + ret['date_range'] = ( datetime2date_time(s,'date'), datetime2date_time(e,'date'), ) time_data['days'] = re.sub('[^{}]'.format(''.join(filter(bool,days))),'',time_data['days']) - self.days = list(days.index(time_data['days'][i]) for i in range(len(time_data['days']))) - self.location = time_data['where'] + ret['days'] = list(days.index(time_data['days'][i]) for i in range(len(time_data['days']))) + ret['location'] = time_data['where'] + return ret @property def length(self): @@ -105,4 +107,4 @@ def get_classes(page): if __name__ == "__main__": with open('schedule.html') as file: page = BS(file.read(),'lxml') - class1,*classes = get_classes(page) \ No newline at end of file + class1,*classes = get_classes(page)