Image

Imagesiege wrote in Imagepython_dev

A podcast feed creator

I'm working on a project, tentatively named PodLauncher. It's a podcast feed creation and upload manager. That's as opposed to most podcast feed managers, which are basically download managers that keep your RSS feeds and podcast audio files organized. PodLauncher's purpose is to actually launch the feeds off your computer and onto the intended server.

So far, I have the version 0.1 default configuration file built, which will be read using Python's ConfigParser module. By having sane, nicely formatted configuration data, I should be able to build to spec much more easily.

I'm basically just posting to get comments on what I can improve in the config format before I move on to coding the app itself... and with PodLauncher, I'll probably need some GUI coding help, since I don't think it can be done well in any other way, and the only GUI experience I've had was with Visual Basic in an "intro to structured programming" class three years ago (it was required for my then-major).

Without further ado, the rules I made for the PodLauncher config file:

The first section is named [PodLauncher]. This section contains various configuration settings for the feed launcher itself. It currently has these options:
autoscan_time: 0
# time in minutes between automatic directory scans; 0 = off, minimum is 5
infoprompt_on_scan: True
# prompt for missing item info when directory scan finds a new file
automatic_upload: False
# automatically upload feeds which have been recently updated
use_item_defaults: True
# use "item_" tags in each feed's section as default values for new items
# autovalidate_feeds: False
# automatically validate each feed's RSS file when it is updated (future
# functionality)
feed_docs: http://blogs.law.harvard.edu/tech/rss
# RSS docs link for every feed
Following that are the sections for each feed. These sections are given individual names which may or may not be the same as the feed's title, and currently include lots of helpful comments on what they should contain. These comments will most likely be moved to the GUI help tags when that gets built. Individual feed items are not configured here: they get their own files, either created by PodLauncher when new files are found, or outlined by the user and filled in later.

Options which start with feed_ are congruous with their matching RSS tags. PodLauncher will automatically insert the lastBuildDate and generator tags, and therefore ignores any options specifying values for them.

The feed_cloud, feed_image, and feed_textInput options are followed by special groupings prefixed cloud_, image_, and textInput_. These groupings contain the associated contents of their respective tags.

There are several options which affect how and where PodLauncher will upload files:
upload_server: ftp.your-podcast-server.com
upload_method: ftp
upload_account: accountname
# The valid value for "upload_method" is currently only FTP via the default port.
# Variable ports and other upload methods will be implemented in later verions of
# PodLauncher.
# NOTE: There is no place for a password here! You will have to enter it yourself
# for security reasons. "upload_password" will not be implemented until it can be
# made properly secure.
If one of these is set to None or missing, PodLauncher should respectively:
  1. Not upload (if no server)
  2. default to FTP
  3. prompt for FTP username as well as password.
I'm not sure if including an encrypted password would ever be appropriate, because the encryption method must be reversible. But secure services can come later, I suppose. First, the thing has to work at all.

For a given feed, there are a handful of item_ tags which can be used to specify defaults for each new item added to the feed. They only cover a handful of tags within an RSS item, such as author and comments.

Finally, any options which are set to None are ignored and may be safely deleted from the options listing unless they're required to build the feed, in which case the user should be prompted to fill them in before PodLauncher will upload anything. If ignored options are made active, PodLauncher will of course re-add them when it saves its config file.

There you have it. Questions, comments, criticisms, etcetera?