Ok, I've committed a bunch of changes to pyepg and freevo.

The biggest changes involve pyepg:

-I've removed the pickle file stuff and replaced it with a sqlite database.
-removed the classes for channel, program, and guide. This should simplify interprocess communication, we don't have to worry about passing objects back and forth.
-The EPGDB class is the interface to the database, methods encapsulate db queries.
-You must load the schema into the database before using it, sqlite /path/to/freevo/cache/epgdb < lib/pyepg/epg_schema.sql. I would like to have this automaticly done, and also a way to auto upgrade the schema between revisiions.


TODO:

-interface to advisories, categories, and recording tables


channels.py:

-add ProgramItem and ChannelItem with code from old Freevo classes.
-get guide info from pyepg and create ChannelItems and ProgramItems based on the data.



freevo helper "epg":

-can be used as a test tool
-search programs
-fill DB with XMLTV data
-go nuts, add more options


Ok so there's a brief outline of the changes. The tv guide comes up with the channel and program info there, with the odd crash which needs debugging. Here's some issues or points I'd like to note:


-It still takes too long to enter the guide. Its fast getting the programs form the database but I'm still creating a ProgramItem for every program in the guide. We could: 1) get smaller groups of programs at a time, 2) have something refresh our data in the background, 3) don't keep a persistant list of ProgramItems but rebuild them on a page by page basis by creating them on the fly from frequent DB queries.

-do we still need to create an index of the list of ProgramItems for faster access?

-there was some checks for TV_CHANNELS being None and disabling the guide. This was of course after TV_CHANNELS was at least autodetected from XMLTV data. We now rely on pyepg for program and channel data, which can be filled from various sources.

-You can use TV_CHANNELS to override info from pyepg (if the channel id matches), or even add channels to pyepg based on TV_CHANNELS (not manditory) - useful for webcam channels, or anyhting custom like that.

-how should we deal with empy data and gaps? Should we use ProgramItems with defaults suitable for manipulating in a manual record interface (30-60 minute chunks)?

-Unicode: I think sqlite uses unicode, do we have to change anthing with how we deal with unicode with regard to the DB?

-We need to escape DB queries better, for example right now I'm dropping all double quotes from program titles and descriptions.

I'm tired now so that's all for tonight. There is still much work to do here but I wanted to get this in so people could help me squash some bugs in the tvguide in particular. I'll add some logic this week for dealing with recording and other program properties like categories, advisories, and ratings.

-Rob




------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to