Configuration

Configuration files are in ConfigParser format which basically means the same format as INI files, i.e., they consist of a series of [sections], in square brackets, with each section containing a list of name:value pairs (or name=value pairs, if you prefer).

You are welcome to place your entire configuration into one file. Alternately, you may factor out the templating into a "theme", and the list of subscriptions into one or more "reading lists".

[planet]

This is the only required section, which is a bit odd as none of the parameters listed below are required. Even so, you really do want to provide many of these, especially ones that identify your planet and either (or both) of template_files and theme.

Below is a complete list of predefined planet configuration parameters, including ones not (yet) implemented by Venus and ones that are either new or implemented differently by Venus.

name
Your planet's name
link
Link to the main page
owner_name
Your name
owner_email
Your e-mail address
cache_directory
Where cached feeds are stored
output_dir
Directory to place output files
output_theme
Directory containing a config.ini file which is merged with this one. This is typically used to specify templating and bill of material information.
template_files
Space-separated list of output template files
template_directories
Space-separated list of directories in which template_files can be found
bill_of_materials
Space-separated list of files to be copied as is directly from the template_directories to the output_dir
filter
Regular expression that must be found in the textual portion of the entry
exclude
Regular expression that must not be found in the textual portion of the entry
filters
Space-separated list of filters to apply to each entry
filter_directories
Space-separated list of directories in which filters can be found
items_per_page
How many items to put on each page. Whereas Planet 2.0 allows this to be overridden on a per template basis, Venus currently takes the maximum value for this across all templates.
days_per_page
How many complete days of posts to put on each page This is the absolute, hard limit (over the item limit)
date_format
strftime format for the default 'date' template variable
new_date_format
strftime format for the 'new_date' template variable only applies to htmltmpl templates
encoding
Output encoding for the file, Python 2.3+ users can use the special "xml" value to output ASCII with XML character references
locale
Locale to use for (e.g.) strings in dates, default is taken from your system
activity_threshold
If non-zero, all feeds which have not been updated in the indicated number of days will be marked as inactive
log_level
One of DEBUG, INFO, WARNING, ERROR or CRITICAL
log_format
format string to use for logging output. Note: this configuration value is processed raw
feed_timeout
Number of seconds to wait for any given feed
new_feed_items
Maximum number of items to include in the output from any one feed
spider_threads
The number of threads to use when spidering. When set to 0, the default, no threads are used and spidering follows the traditional algorithm.
http_cache_directory
If spider_threads is specified, you can also specify a directory to be used for an additional HTTP cache to front end the Venus cache. If specified as a relative path, it is evaluated relative to the cache_directory.
cache_keep_entries
Used by expunge to determine how many entries should be kept for each source when expunging old entries from the cache directory. This may be overriden on a per subscription feed basis.
pubsubhubbub_hub
URL to a PubSubHubbub hub, for example http://pubsubhubbub.appspot.com. Used by publish to ping the hub when feeds are published, speeding delivery of updates to subscribers. See the PubSubHubbub home page for more information.
pubsubhubbub_feeds
List of feeds to publish. Defaults to atom.xml rss10.xml rss20.xml.
django_autoescape
Control autoescaping behavior of django templates. Defaults to on.

Additional options can be found in normalization level overrides.

[DEFAULT]

Values placed in this section are used as default values for all sections. While it is true that few values make sense in all sections; in most cases unused parameters cause few problems.

[subscription]

All sections other than planet, DEFAULT, or are named in [planet]'s filters or templatefiles parameters are treated as subscriptions and typically take the form of a URI.

Parameters placed in this section are passed to templates. While you are free to include as few or as many parameters as you like, most of the predefined themes presume that at least name is defined.

The content_type parameter can be defined to indicate that this subscription is a reading list, i.e., is an external list of subscriptions. At the moment, three formats of reading lists are supported: opml, foaf, csv, and config. In the future, support for formats like xoxo could be added.

Normalization overrides can also be defined here.

[template]

Sections which are listed in [planet] template_files are processed as templates. With Planet 2.0, it is possible to override parameters like items_per_page on a per template basis, but at the current time Planet Venus doesn't implement this.

Filters can be defined on a per-template basis, and will be used to post-process the output of the template.

[filter]

Sections which are listed in [planet] filters are processed as filters.

Parameters which are listed in this section are passed to the filter in a language specific manner. Given the way defaults work, filters should be prepared to ignore parameters that they didn't expect.