Cache Schedule downloading
This commit is contained in:
parent
dcf0f1ea35
commit
f1da7544cb
1 changed files with 11 additions and 4 deletions
15
renderlib.py
15
renderlib.py
|
@ -17,6 +17,8 @@ fps = 25
|
||||||
debug = True
|
debug = True
|
||||||
args = None
|
args = None
|
||||||
|
|
||||||
|
scheduleTree=None
|
||||||
|
|
||||||
def loadProject(projectname):
|
def loadProject(projectname):
|
||||||
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), projectname))
|
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), projectname))
|
||||||
return __import__(projectname)
|
return __import__(projectname)
|
||||||
|
@ -224,8 +226,6 @@ def rendertask(task):
|
||||||
# remove the generated svg
|
# remove the generated svg
|
||||||
ensureFilesRemoved(os.path.join(task.workdir, '.gen.svg'))
|
ensureFilesRemoved(os.path.join(task.workdir, '.gen.svg'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Download the Events-Schedule and parse all Events out of it. Yield a tupel for each Event
|
# Download the Events-Schedule and parse all Events out of it. Yield a tupel for each Event
|
||||||
def downloadSchedule(scheduleUrl):
|
def downloadSchedule(scheduleUrl):
|
||||||
print("downloading schedule")
|
print("downloading schedule")
|
||||||
|
@ -240,8 +240,15 @@ def downloadSchedule(scheduleUrl):
|
||||||
parser = etree.XMLParser(huge_tree=True)
|
parser = etree.XMLParser(huge_tree=True)
|
||||||
return etree.fromstring(xml, parser)
|
return etree.fromstring(xml, parser)
|
||||||
|
|
||||||
|
def getSchedule(scheduleUrl):
|
||||||
|
global scheduleTree
|
||||||
|
if not scheduleTree:
|
||||||
|
scheduleTree=downloadSchedule(scheduleUrl)
|
||||||
|
return scheduleTree
|
||||||
|
|
||||||
|
|
||||||
def persons(scheduleUrl, personmap={}, taglinemap={}, forEventId=None):
|
def persons(scheduleUrl, personmap={}, taglinemap={}, forEventId=None):
|
||||||
schedule = downloadSchedule(scheduleUrl)
|
schedule = getSchedule(scheduleUrl)
|
||||||
# iterate all days
|
# iterate all days
|
||||||
for day in schedule.iter('day'):
|
for day in schedule.iter('day'):
|
||||||
# iterate all rooms
|
# iterate all rooms
|
||||||
|
@ -275,7 +282,7 @@ def persons(scheduleUrl, personmap={}, taglinemap={}, forEventId=None):
|
||||||
}
|
}
|
||||||
|
|
||||||
def events(scheduleUrl, titlemap={}):
|
def events(scheduleUrl, titlemap={}):
|
||||||
schedule = downloadSchedule(scheduleUrl)
|
schedule = getSchedule(scheduleUrl)
|
||||||
# iterate all days
|
# iterate all days
|
||||||
for day in schedule.iter('day'):
|
for day in schedule.iter('day'):
|
||||||
# iterate all rooms
|
# iterate all rooms
|
||||||
|
|
Loading…
Add table
Reference in a new issue