"""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: return cmp(int(amin), int(bmin)) return cmp(int(ahour), int(bhour)) for day, data in sessions.iteritems(): for track in data.keys():
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: return cmp(int(amin), int(bmin)) return cmp(int(ahour), int(bhour))
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: return cmp(int(amin), int(bmin)) return cmp(int(ahour), int(bhour)) for day, data in sessions.iteritems(): for track in data.keys():
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))) } mysessions.add_paper(daydate, session_room, session_name, paper_info )