#        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:
Ejemplo n.º 3
0
            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))) }