filessee the excel spreadsheet file linecounts xls in the media subdirectory of pymailguithis file is also used to test attachment sends and receivesand so appears near the end of the emails in file savedemail\version - if opened in the gui (we'll see how to open mail save files in momentwatch for the changes section ahead for size comparisons to prior versions also see the sloc counter script in for an alternative way to count source lines that is less manualbut can' include all related files in single run and doesn' discriminate between program code and help text code structure as these statistics probably suggestthis is the largest example we'll see in this bookbut you shouldn' be deterred by its size because it uses modular and oop techniquesthe code is simpler than you may thinkpython' modules allow us to divide the system into files that have cohesive purposewith minimal coupling between them--code is easier to locate and understand if your modules have logicalself-contained structure python' oop support allows us to factor code for reuse and avoid redundancy-as you'll seecode is customizednot repeatedand the classes we will code reflect the actual components of the gui to make them easy to follow for instancethe implementation of mail list windows is easy to read and changebecause it has been factored into common shared superclasswhich is customized by subclasses for mail-server and save-file listssince these are mostly just variations on thememost of the code appears in just one place similarlythe code that implements the message view window is superclass shared by writereplyand forward composition windowssubclasses simply tailor it for writing rather than viewing although we'll deploy these techniques in the context of mail processing program heresuch techniques will apply to any nontrivial program you'll write in python to help get you startedthe pymailguihelp py module listed in part near the end of this includes help text string that describes how this program is usedas well as its major features you can also view this help live in both text and html form when the program is run experimenting with the systemwhile referring to its codeis probably the best and quickest way to uncover its secrets why pymailguibefore we start digging into the code of this relatively large systemsome context is in order pymailgui is python program that implements client-side email processing user interface with the standard tkinter gui toolkit it is presented both as an instance the pymailgui client