Refactored code to work with cx_Freeze for creating standalone
executables for deployment. This involved implementing a 'setup.py'
script for cx_Freeze and moving files around. The 'data' folder will
eventually be removed after implementing the new SQL database but I want
to keep the old database file for reference at the moment. The
directives have been moved to the top level folder and the configuration
file 'descatter.ini' has as well. This allows cx_Freeze to place these
folders and files in the appropriate build folder, which can be zipped
and deployed. The MSI build has not been tested. The constants.py file
has been removed and the constants have been placed in the package
__init__.py file since they are used throughout the package. I am still
trying to figure out the best way to handle importing at the package and
module level, but I copied the style and format of the cx_Freeze
program, which appears to be better for desktop/command line
applications written in Python. However, Pydev now shows a bunch of
import errors, but the application still runs as a python script or a
standalone executeable.
Added the 'recent' command to display the most recently used directive
in the interactive console. Added the 'verbose' and 'absolute' arguments
to all console commands to display additional information during
execution of the command and to display all paths in an absolute path
format.
Updated the build script for cx_Freeze. I am still trying to figure out
cx_Freeze and to trim the distribution to as small as possible. I would
also like to rename the 'library.zip' file and not zip it, but make it
'lib' folder and just include it with the distribution. This might not
be possible, but the application at least builds and can be run from a
shell. I still need to figure out a way to create a console executable
that displays the interactive console on start instead of needing to
open up a command line first.