Hello All,

I'm sorry to disappoint you all, but for the EP Talks and Schedule we
have gone back to basics, and I do mean basics, and the whole thing
has been produced very simply.

The only PyCon-Tech *code* it uses is the CSS, plus many *ideas* which
using PyCon-Tech last year gave us.

2008/6/15 Douglas Napoleone <[EMAIL PROTECTED]>:
> John entered the data into an instance of PyCon-Tech (django based
> converence management software used to PyConUS) loaded up the web
> pages, saved as html, and then stuck them into the EuroPython website.
>
> That software supports all the features you are talking about, and
> yes, some people hate them.
> Oh well. Loosing the popups, personal schedule builder, reedit
> integration, slide upload, interest counts and session chair
> management are not that big a deal as long as you have them somewhere
> else.
>
> To see it in action see here:
> http://us.pycon.org/2008/conference/schedule/
>
>    -Doug
>
>
>
> On Sun, Jun 15, 2008 at 11:06 AM, Paul Boddie <[EMAIL PROTECTED]> wrote:
>> On Sunday 15 June 2008 12:42:04 Marius Gedminas wrote:
>>> The EuroPython 2008 timetable page has[1] has no downloadable iCalendar
>>> version.
>>>
>>>   [1] http://registration.europython.eu/timetable.html
>>>
>>> What can I do to make one available?
>>
>> I think there's scope for collaboration here. I've been corresponding with
>> Ville Säävuori (the guy who did the EuroPython Web site lightning talk last
>> year) about Web site stuff, and one of the things he's interested in is
>> dynamic timetables.
>>
>>> I assume the HTML on that page was generated dynamically from a
>>> database; if I saw the code I'm sure I could write the equivalent for
>>> iCal and send the patch to the maintainer.

The HTML is generated statically. Laura and Samuele did an analogue
schedule (this is  posh way of saying they laid out talks (pieces of
paper) on the dining room table) and I interpreted this into a Python
structure from which the timetable is built.. I've attached this.

>> I don't know what John and company has done, but it looks like very 
>> structured
>> information that a program might have produced from a database of some kind.
>>
>>> I feel like I should know these things from previous EuroPython
>>> IRC meetings.  I'm sorry that I didn't pay enough attention.
>>
>> No need to be sorry: I doubt that we touched on these things.

Well, it was talked about, but nobody actually did anything ;)

>> I like the
>> presentation of the timetable, and I appreciate the lack of pop-ups which, in
>> my opinion, made the original PyCon (not PyCon UK) timetables not so nice to
>> navigate, but I understand that dynamic timetables and iCalendar support can
>> be interesting to some people, even though they don't seem like high priority
>> things when putting everything else together for the conference.

Exactly. I'm afraid that in our world there's a tendency to talk a lot
about nice features and neglect the basics.

>>
>> Paul
>>
>> P.S. Out of impatience and for some amusement, I wrote a nasty little program
>> to parse the timetable page and produce an iCalendar file. See this page for
>> the details:

Well that seems like a practical route just now.

I could supply you with the stuff we've used, but right now, with all
the time that's been spent on EP and PyCon UK, I need to be spending
more time on my business, so I couldn't spend any time with you.

I'm down to give a talk on the conferencing software at Vilnius, maybe
it would be a good idea to get together and build in the iCal stuff
for next year.

Best wishes,

John
--
"""schedule for a conference.
Initially manually input, the intention is to create it semi-automatically
(one day)
"""

# This one is ep2008.py, for EuroPython 2008

#  The sched dictionary is used to build an HTML table representing the
#  conference timetable. In sched there an entry for each day of the conference;
#  for each day, there are keys for day (description, eg 'Wed 1st April'), rooms
#  and events. Events is a list of lists of the events, with these items:
#     Time; Type, eg 'talks', and a tuple of tuples of the form ( 31, 1, 1, )
#  Each entry in the tuple describes a talk:
#      Talk Number, no of rows to span, no of columns to span.
#  An empty slot has a talk number of zero.
#  Give a talk number of -1 if this cell is a continuation slot for a talk.
# For example:
"""
             [ '09:30', 'talks', ( (22,2,1,), (34,1,1,), (43,1,1,), (99,2,1,), ) ],
             [ '10:00', 'talks', ( (-1,1,1,), (51,1,1,), (29,1,1,), (-1,1,1,), ) ],
"""

# *****************************************************************************

sched = {
          1 : {
                'day'    : 'Monday 7th July',
                'rooms'  : ( 'Room 1', 'Room 2', 'Room 3', 'Room 4', ),
                'events' : [ 
                             [ '08:00', 'break', 'Registration and Coffee', ],
                             [ '09:00', 'plenary', 'Welcome and Barcamp Briefing, Room 1', ],
                             [ '09:30', 'talks', ( (23,2,1,), (42,2,1,), (20,1,1,), (0,1,1,), ) ],
                             [ '10:00', 'talks', ( (-1,1,1,), (-1,1,1,), (39,1,1,), (0,1,1,), ) ],
                             [ '10:30', 'break', 'Break', ],
                             [ '11:00', 'talks', ( (23,2,1,), (55,2,1,), (9,1,1,), (0,1,1,), ) ],
                             [ '11:30', 'talks', ( (-1,1,1,), (-1,1,1,), (40,1,1,), (0,1,1,), ) ],
                             [ '12:00', 'break', 'Lunch', ],
                             [ '14:00', 'talks', ( (26,1,1,), (16,1,1,), (50,1,1,), (0,1,1,), ) ],
                             [ '14:45', 'talks', ( (45,1,1,), (37,1,1,), (31,1,1,), (0,1,1,), ) ],
                             [ '15:30', 'break', 'Break', ],
                             [ '16:00', 'talks', ( (7,1,1,), (8,1,1,), (28,1,1,), (0,1,1,), ) ],
                             [ '16:45', 'talks', ( (36,1,1,), (47,1,1,), (27,1,1,), (0,1,1,), ) ],
                             [ '17:30', 'break', 'Break', ],
                             [ '18:00', 'plenary', 'Keynote, Guido van Rossum (video conference), Room 1', ],
                             [ '19:00', 'break', 'Finish for Day', ],
                           ],
              },
          2 : {
                'day'    : 'Tuesday 8th July',
                'rooms'  : ( 'Room 1', 'Room 2', 'Room 3', 'Room 4', ),
                'events' : [ 
                             [ '09:00', 'plenary', 'Announcements and Barcamp Briefing, Room 1', ],
                             [ '09:30', 'talks', ( (6,2,1,), (14,2,1,), (41,1,1,), (99,2,1,), ) ],
                             [ '10:00', 'talks', ( (-1,1,1,), (-1,1,1,), (1,1,1,), (-1,1,1,), ) ],
                             [ '10:30', 'break', 'Break', ],
                             [ '11:00', 'talks', ( (6,1,1,), (19,1,1,), (0,1,1,), (99,1,1,), ) ],
                             [ '11:30', 'talks', ( (21,1,1,), (24,1,1,), (38,1,1,), (99,1,1,), ) ],
                             [ '12:30', 'break', 'Lunch', ],
                             [ '14:00', 'talks', ( (12,1,1,), (48,1,1,), (52,1,1,), (0,1,1,), ) ],
                             [ '14:45', 'talks', ( (13,1,1,), (5,1,1,), (30,1,1,), (0,1,1,), ) ],
                             [ '15:30', 'break', 'Break', ],
                             [ '16:00', 'talks', ( (33,1,1,), (53,1,1,), (15,1,1,), (0,1,1,), ) ],
                             [ '16:30', 'plenary', 'Lightning Talks, Room 1', ],
                             [ '18:00', 'plenary', 'Keynote, Hans Rosling, Room 1', ],
                             [ '19:00', 'break', 'Break', ],
                             [ '19:30', 'social', 'Dinner at Hotel Lietuva', ],
                           ],
              },
          3 : {
                'day'    : 'Wednesday 9th July',
                'rooms'  : ( 'Room 1', 'Room 2', 'Room 3', 'Room 4', ),
                'events' : [ 
                             [ '09:00', 'plenary', 'Announcements and Barcamp Feedback, Room 1', ],
                             [ '09:30', 'talks', ( (22,2,1,), (34,1,1,), (43,1,1,), (99,2,1,), ) ],
                             [ '10:00', 'talks', ( (-1,1,1,), (51,1,1,), (29,1,1,), (-1,1,1,), ) ],
                             [ '10:30', 'break', 'Break', ],
                             [ '11:00', 'talks', ( (56,1,1,), (10,1,1,), (17,1,1,), (99,1,1,), ) ],
                             [ '12:00', 'talks', ( (46,1,1,), (54,1,1,), (44,1,1,), (99,1,1,), ) ],
                             [ '12:30', 'break', 'Lunch', ],
                             [ '14:00', 'talks', ( (25,2,1,), (18,1,1,), (2,1,1,), (0,1,1,), ) ],
                             [ '14:30', 'talks', ( (-1,1,1,), (32,1,1,), (11,1,1,), (0,1,1,), ) ],
                             [ '15:00', 'talks', ( (3,1,1,), (4,1,1,), (0,1,1,), (0,1,1,), ) ],
                             [ '15:30', 'break', 'Break', ],
                             [ '16:00', 'plenary', 'Lightning Talks, Room 1', ],
                             [ '17:00', 'plenary', 'Prize Draw and Finale', ],
                             [ '17:30', 'break', 'Close', ],
                           ],
              },
        }


# *****************************************************************************

#  eof  ep2008_schedule.py
_______________________________________________
Europython-improve mailing list
[email protected]
http://mail.python.org/mailman/listinfo/europython-improve

Reply via email to