Next / Previous / Contents / Shipman's homepage

7. Overall program flow

Here is the overall flow of the program:

  1. Survey the current working directory for subdirectories with year names in the range 1000-2999, and build a list of YearRow instances.

    For each year, look in that subdirectory for monthly files with names like yyyy-mm.xml. If the file is unreadable or invalid, spew appropriate error messages. Otherwise, convert the file into a birdnotes.BirdNoteSet instance and store it inside the year's YearRow instance.

  2. Sort the list of YearRow instances into reverse chronological order.

  3. Work through the list of YearRow instances. For each contained month, render the BirdNoteSet instance into XHTML.

  4. Once all the monthly pages are built, write the completed index page.