# sessions[daydate][session_track][session_name]['papers'].append({ # 'time': timerange, # 'title': p.escaped_title(), # 'authors': (', '.join(map(unicode, p.authors))) # }) elif re.match(r'\d+ ', line): """Posters""" print(line) if session_name is None: print "* WARNING: paper without a session name" continue if sessions[daydate][session_track].has_key(session_name): paper_id, _ = line.split(' ', 1) p = Paper('data/%s/proceedings/final/%s/%s_metadata.txt' % (subconf, paper_id, paper_id)) if not sessions[daydate][session_track][session_name].has_key('papers'): sessions[daydate][session_track][session_name]['papers'] = [] sessions[daydate][session_track][session_name]['papers'].append({ 'time': '00:00--00:00', 'title': p.escaped_title(), 'authors': (', '.join(map(unicode, p.authors))) }) templateEnv = jinja2.Environment(loader = jinja2.FileSystemLoader( searchpath="." )) template = templateEnv.get_template(args.template) def sort_times(a, b): ahour, amin = a['time'].split('--')[0].split(':') bhour, bmin = b['time'].split('--')[0].split(':') if ahour == bhour:
'track': session_track, 'papers': [] } elif re.match(r'\d+ \d+:\d+', line): """For the overview, we don't print sessions or papers, but we do need to look at oral presentations in order to determine the time range of the session (if any applies)""" if session_name is None: print "* WARNING: paper without a session name" continue if sessions[daydate][session_track].has_key(session_name): paper_id, timerange, _ = line.split(' ', 2) start, stop = timerange.split('--') p = Paper('data/%s/proceedings/final/%s/%s_metadata.txt' % (subconf, paper_id, paper_id)) if not sessions[daydate][session_track][session_name].has_key('papers'): sessions[daydate][session_track][session_name]['papers'] = [] sessions[daydate][session_track][session_name]['papers'].append({ 'time': minus12range(timerange), 'title': p.escaped_title(), 'authors': (', '.join(map(unicode, p.authors))) }) templateEnv = jinja2.Environment(loader = jinja2.FileSystemLoader( searchpath="." )) template = templateEnv.get_template(args.template) def sort_times(a, b): ahour, amin = a['time'].split('--')[0].split(':') bhour, bmin = b['time'].split('--')[0].split(':') if ahour == bhour:
kw = extract_keywords(line) session_name = line.split("#",1)[0] match = re.search(r'Session \d+([A-Z])|Session ([A-Z])\d+', session_name) if (match is not None) and kw.has_key("room"): session_track = match.group(1) session_room = kw['room'] session_name = re.sub("\([^(]+\)\s*$","", session_name) session_info = { 'date': daydate, 'title': session_name, 'track': session_track, 'room': session_room, 'chair': kw.get('chair1') } mysessions.add(daydate, session_room, session_name, session_info ) else: print >> sys.stderr, "Skipping session: %s"% line elif line.startswith('!'): item = MyExternalItem(line, subconf) if item.id is not None: p = Paper('data/%s/final/%s/%s_metadata.txt' % (item.subconf, item.id, item.id)) paper_info = {'time': item.time, 'title': "%s%s"% (item.prefix, p.escaped_title()), 'authors': (', '.join(map(unicode, p.authors))) } mysessions.add_paper(daydate, session_room, session_name, paper_info ) else: paper_info = {'time': item.time, 'title': item.title, 'authors': item.authors } mysessions.add_paper(daydate, session_room, session_name, paper_info ) elif re.match(r'\d+ ', line): if not mysessions.exists(daydate, session_room, session_name): raise ValueError("Session does not exist") item = MyPaper( line, subconf ) p = Paper('data/%s/final/%s/%s_metadata.txt' % (item.subconf, item.id, item.id)) paper_info = {'time': item.time, 'title': p.escaped_title(), 'authors': (', '.join(map(unicode, p.authors))) }