"""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():
Example #4
0
            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 )