Break the code up into separate modules

Registered by Marc Stewart

The source code could be made easier to maintain and extend by breaking it up into separate parts.
EDIT: The crebs module has been created, and, as of 0.9.7, consists of the following components:

__init__
Initialises the module, including gettext, app name and version.

main
Starts the app.

args
Parses any invocation arguments and sets up default options.

cli
Command-line interface.

gui
Graphical user interface; takes existing options and builds on them with user input.

times
Manipulates timings data.

filesystem
Renders filenames safe for use; creates any necessary directories for file writes.

entities
Decodes and encodes XML entities.

imagelists
Creates and manipulates image lists.

thumbnails
Generates and resizes image thumbnails.

slideshows
Recognises, reads, and writes slideshows.

wallpapers
Registers and sets the slideshow as the desktop background.

notify
Sends a notification.

debug
Prints debugging reports to stderr.

Blueprint information

Status:
Complete
Approver:
Marc Stewart
Priority:
High
Drafter:
Marc Stewart
Direction:
Approved
Assignee:
Marc Stewart
Definition:
Approved
Series goal:
Accepted for 0.9
Implementation:
Implemented
Milestone target:
milestone icon 0.9.7
Started by
Marc Stewart
Completed by
Marc Stewart

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.