Metadata-Version: 1.1
Name: dwload_server
Version: 0.2.0
Summary: DWLOAD server implemented in Python
Home-page: https://github.com/DWLOAD/DwLoadServer
Author: Jens Diemer
Author-email: dwload_server@jensdiemer.de
License: GPL v3+
Description: DwLoadServer
        
        ==================================================================
        DWLOAD server implemented in Python (OpenSource, GPL v3 or above).
        ==================================================================
        
         It's in unuseable, experimental state and currently nothing more then some tests scripts.
        
        -------------
        current state
        -------------
        
        Tested DWEEBS:
        
        +------------+-------------------------------+------------------------------------------------+
        | DWEEB      | example                       | Description                                    |
        +============+===============================+================================================+
        | **DLOAD**  | ``DLOAD``                     | Load ``AUTOLOAD.DWL`` (Used on Dragon startup) |
        +------------+-------------------------------+------------------------------------------------+
        | **RESAVE** | ``DLOAD"RESAVE""MYFILE.BAS"`` | Save BASIC listing                             |
        +------------+-------------------------------+------------------------------------------------+
        
        Implemented DriveWire Transactions:
        
        +-----+-----+------------------+--------------------------------------------------------------------------+
        | hex | dez | DW name          | Description                                                              |
        +=====+=====+==================+==========================================================================+
        | $01 | 1   | OP_NAMEOBJ_MOUNT | Mount a file to a virtual drive number                                   |
        +-----+-----+------------------+--------------------------------------------------------------------------+
        | $d2 | 210 | OP_READEX        | Send 256 bytes sector from the DWLOAD server to the client               |
        +-----+-----+------------------+--------------------------------------------------------------------------+
        | $57 | 87  | OP_WRITE         | Write 256 bytes sector of data from the client into a file on the server |
        +-----+-----+------------------+--------------------------------------------------------------------------+
        
        ----
        TODO
        ----
        
        * support ``SAVE``
        
        * compare checksum
        
        ------------
        installation
        ------------
        
        Linux
        =====
        
        The is a virtualenv bootstrap file, created with `bootstrap_env <https://github.com/jedie/bootstrap_env>`_, for easy installation.
        
        Get the bootstrap file:
        
        ::
        
            /home/FooBar$ wget https://raw.githubusercontent.com/6809/DwLoadServer/master/boot_dwload_server.py
        
        There are tree types of installation:
        
        +------------------+------------------------------------------------------------------------+
        | option           | desciption                                                             |
        +==================+========================================================================+
        | **pypi**         | use `Python Package Index`_ (for all normal user!)                     |
        +------------------+------------------------------------------------------------------------+
        | **git_readonly** | use ``git`` to get the sourcecode (for developer without write access) |
        +------------------+------------------------------------------------------------------------+
        | **dev**          | use ``git`` with write access                                          |
        +------------------+------------------------------------------------------------------------+
        
        .. _Python Package Index: http://www.python.org/pypi/
        
        e.g.:
        
        ::
        
            /home/FooBar$ python3 boot_dwload_server.py ~/DwLoadServer_env --install_type git_readonly
        
        This creates a virtualenv in **``~/DwLoadServer_env``** and used ``git`` to checkout the needed repositories.
        
        In this case (using --install_type=**git_readonly**) the git repository are in: **.../DwLoadServer_env/src/**
        So you can easy update them e.g.:
        
        ::
        
            /home/FooBar$ cd ~/DwLoadServer_env/src/dwload-server
            /home/FooBar/DwLoadServer_env/src/dwload-server$ git pull
        
        Windows
        =======
        
        There are several ways to install the project under windows.
        
        The following is hopeful the easiest one:
        
        * Install Python 3, e.g.: `https://www.python.org/downloads/ <https://www.python.org/downloads/>`_
        
        * Download the ``DWLOAD Server`` git snapshot from Github: `master.zip <https://github.com/6809/DwLoadServer/archive/master.zip>`_
        
        * Extract the Archive somewhere
        
        * Maybe, adjust paths in ``boot_dwload_server.cmd``
        
        * Run ``boot_dwload_server.cmd``
        
        The default ``boot_dwload_server.cmd`` will install via ``Python Package Index`` (PyPi) into ``%APPDATA%\DwLoadServer_env``
        
        There are two batch files, for easy startup the server under Windows:
        
        * `/scripts/start_serial_DWLOAD_server.cmd <https://github.com/6809/DwLoadServer/blob/master/scripts/start_serial_DWLOAD_server.cmd>`_
        
        * `/scripts/start_becker_DWLOAD_server.cmd <https://github.com/6809/DwLoadServer/blob/master/scripts/start_becker_DWLOAD_server.cmd>`_
        
        Copy these files into ``%APPDATA%\DwLoadServer_env\`` and edit it for your needs.
        Just double click to start the server.
        
        start by cli (windows)
        ----------------------
        
        There is a batch file to open a commandline with a activated virtualenv:
        
        * `/scripts/cmd_here.cmd <https://github.com/6809/DwLoadServer/blob/master/scripts/cmd_here.cmd>`_
        
        copy this into ``%APPDATA%\DwLoadServer_env\`` and double click it ;)
        
        by hand: Start **cmd.exe** and do this:
        
        ::
        
            C:\Windows\system32>cd /d %APPDATA%\DwLoadServer_env\
            C:\Users\FOO\AppData\Roaming\DwLoadServer_env>call Scripts\activate.bat
            (DwLoadServer_env) C:\Users\FOO\AppData\Roaming\DwLoadServer_env>
        
        So use the DWLOAD-Server CLI, e.g:
        
        ::
        
            (DwLoadServer_env) C:\Users\FOO\AppData\Roaming\DwLoadServer_env> python.exe -m dwload_server.dwload_server_cli --root_dir=%APPDATA%\dwload-files\ --log_level=10 serial --port=COM3
        
        Do see the CLI help page:
        
        ::
        
            (DwLoadServer_env) C:\Users\FOO\AppData\Roaming\DwLoadServer_env> python.exe -m dwload_server.dwload_server_cli --help
            
            DWLOAD Server written in Python (GNU GPL v3+) v0.2.0
            
            usage: dwload_server_cli.py [-h] [--version] [--root_dir ROOT_DIR]
                                        [--log_level {0,10,20,30,30,40,50,99,100}]
                                        {becker,serial} ...
            
            optional arguments:
              -h, --help            show this help message and exit
              --version             show program's version number and exit
              --root_dir ROOT_DIR   Server root directory for load/store requested files
              --log_level {0,10,20,30,30,40,50,99,100}
                                    Logging level: 10=DEBUG, 20=INFO, 30=WARNING,
                                    40=ERROR, 50=CRITICAL/FATAL
            
            Interface:
              {becker,serial}
                becker              Use the Becker interface
                serial              Use the serial interface
            
            example usage:
                dwload_server_cli.py --root_dir=./dwload-files/ serial --port=/dev/ttyUSB0
                dwload_server_cli.py --root_dir=./dwload-files/ becker
            
            Interface help:
                dwload_server_cli.py serial --help
                dwload_server_cli.py becker --help
        
        startup linux
        =============
        
        There are two shell scripts, for easy startup the server under Linux:
        
        * `/scripts/start_serial_DWLOAD_server.sh <https://github.com/6809/DwLoadServer/blob/master/scripts/start_serial_DWLOAD_server.sh>`_
        
        * `/scripts/start_becker_DWLOAD_server.sh <https://github.com/6809/DwLoadServer/blob/master/scripts/start_becker_DWLOAD_server.sh>`_
        
        Copy these files into ``~/DwLoadServer_env/`` and edit it for your needs.
        
        The default DWLOAD-Server-root-directory is: ``~/dwload-files/``
        e.g.: Download ``dwload-demo-files.tar.xz.zip`` from `http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4964 <http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4964>`_
        and extract the files into ``~/dwload-files/``
        
        start by cli (linux)
        --------------------
        
        e.g.:
        
        ::
        
            /home/FooBar $ cd ~/DwLoadServer_env/
            /home/FooBar/DwLoadServer_env/ $ source bin/activate
            (DwLoadServer_env) ~/DwLoadServer_env $ python3 -m dwload_server.dwload_server_cli --root_dir=~/dwload-files --log_level=10 serial --port=/dev/ttyUSB0
        
        Display CLI help, e.g:
        
        ::
        
            /home/FooBar $ cd ~/DwLoadServer_env/
            /home/FooBar/DwLoadServer_env/ $ source bin/activate
            (DwLoadServer_env) ~/DwLoadServer_env $ python3 -m dwload_server.dwload_server_cli --help
            
            DWLOAD Server written in Python (GNU GPL v3+) v0.2.0
            
            usage: dwload_server_cli.py [-h] [--version] [--root_dir ROOT_DIR]
                                        [--log_level {0,10,20,30,30,40,50,99,100}]
                                        {becker,serial} ...
            
            optional arguments:
              -h, --help            show this help message and exit
              --version             show program's version number and exit
              --root_dir ROOT_DIR   Server root directory for load/store requested files
              --log_level {0,10,20,30,30,40,50,99,100}
                                    Logging level: 10=DEBUG, 20=INFO, 30=WARNING,
                                    40=ERROR, 50=CRITICAL/FATAL
            
            Interface:
              {becker,serial}
                becker              Use the Becker interface
                serial              Use the serial interface
            
            example usage:
                dwload_server_cli.py --root_dir=./dwload-files/ serial --port=/dev/ttyUSB0
                dwload_server_cli.py --root_dir=./dwload-files/ becker
            
            Interface help:
                dwload_server_cli.py serial --help
                dwload_server_cli.py becker --help
        
        -------
        History
        -------
        
        * 17.11.2014 - v0.2.0 - Support Becker and Serial interface.
        
        * 14.11.2014 - v0.1.0 - Create bootstrap file that work under linux and windows.
        
        * 12.11.2014 - v0.0.1 - send a file works rudimentary
        
        * 30.09.2014 - Idea was born: `Forum post 11893 <http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=8&t=4946#p11893>`_
        
        -----
        Links
        -----
        
        +--------------+---------------------------------------------------------------------+
        | Forum Thread | `http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=8&t=4946`_ |
        +--------------+---------------------------------------------------------------------+
        | IRC          | `#pylucid on freenode.net`_                                         |
        +--------------+---------------------------------------------------------------------+
        | Jabber       | pylucid@conference.jabber.org                                       |
        +--------------+---------------------------------------------------------------------+
        | PyPi         | `https://pypi.python.org/pypi/dwload_server/`_                      |
        +--------------+---------------------------------------------------------------------+
        | Github       | `https://github.com/6809/DwLoadServer`_                             |
        +--------------+---------------------------------------------------------------------+
        
        .. _http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=8&t=4946: http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=8&t=4946
        .. _#pylucid on freenode.net: http://www.pylucid.org/permalink/304/irc-channel
        .. _https://pypi.python.org/pypi/dwload_server/: https://pypi.python.org/pypi/dwload_server/
        .. _https://github.com/6809/DwLoadServer: https://github.com/6809/DwLoadServer
        
        some project related links:
        
        * About DWLOAD: `http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4964`_
        
        * DWEEBS application Thread: `http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4968 <http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4968>`_
        
        * Dragon 32/64 DriveWire Adapter: `http://archive.worldofdragon.org/index.php?title=Dragon_32/64_Drivewire_Adapter <http://archive.worldofdragon.org/index.php?title=Dragon_32/64_Drivewire_Adapter>`_
        
        * Drivewire for dummies: `http://archive.worldofdragon.org/index.php?title=Drivewire_for_dummies <http://archive.worldofdragon.org/index.php?title=Drivewire_for_dummies>`_
        
        * `http://sourceforge.net/p/drivewireserver/wiki/DriveWire_Specification/ <http://sourceforge.net/p/drivewireserver/wiki/DriveWire_Specification/>`_
        
        * `http://sourceforge.net/p/drivewireserver/wiki/ <http://sourceforge.net/p/drivewireserver/wiki/>`_
Keywords: 6809 Dragon CoCo DriveWire
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: MacOS X
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: X11 Applications
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: System :: Emulators
Classifier: Topic :: Software Development :: Assemblers
Classifier: Topic :: Software Development :: Testing
Provides: dwload_server
