⇤ ← Revision 1 as of 2010-04-11 13:53:53
1523
Comment: Moving one proposal to a subpage, part 2
|
← Revision 2 as of 2010-04-11 13:57:34 ⇥
1496
Remove useless TOC
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<TableOfContents(3)>> |
Setup as a Class not a procedure
—David Lyon
Let's modernise setup and make it Object Oriented.
This will make it more user friendly and easier to learn and use.
To do this, we'll need to:
1) Extend setup.cfg to hold more/all-of the metadata
2) Turn 'setup' into a class (rather than a procedure)
3) Provide member information:
- destination directory (self.destination?).
- self.os_name - Operating system.
- self.window_manager - Window manager.
- self.scripts - location of script directories.
- self.data_dir - location of data directories.
- self.doc_dir - location of docs directories.
- self.desktop_shortcuts - an object for adding shortcuts.
- self.program_shortcuts - an object for adding shortcuts.
- self.packages -list of python packages already installed
- self.web_environment - information about the web environment
4) self.pre_setup() - A method run before setup
- This method can read member properties and do pre-setup
- initialisation.
- When the "self."* properties are then all adjusted
- the code can proceed to the 'self.setup()' method where the actual install can be done.
5) self.post_setup() - A method for post-install configuration
- This then gives the application a chance to do post
- setup initialisation.
- Examples are modifying attributes, registering
- libraries, generating documentation...