XiboGUI

Xibo Uploader Application
This application should provide the following functionality:

0) Take a path / zip file and process the files inside

1) Upload files with a specified name and duration, provide a thumbnail view of these images before uploading

2) Transcode any movie files that are not compatible using OSS software libraries -- This step can probably be ignored. After discussion with Alex it is clear that FFMPEG being used in the Python  -- Client will be able to play most media

3) Provide a download solution to download large files from the server if changes needed to be made etc -- MORE DISCUSSION NEEDED  -- WOULD BE EASY TO ADMINISTER USING ALEX'S CODE FROM THE CLIENT

Current GUI Screenshot


The workflow is as follows:


 * Select a path / archive file
 * Backend reads information about each file
 * Display thumbnail for each image
 * Allow the user to change duration and Library name
 * Display status information for each file as it becomes available
 * Use other backend class to upload files

Current Prefs. Window



 * This will see a lot of changes as I add the OAuth stuff etc

Brief
The python client reads from an easy to read configuration file in order gain the settings needed to communicate with the server and also to render the digital signage output.

Not all users are comfortable with configuration files, so a GUI application was put together

Prerequisites
The application is coded in Python and uses the GLADE system to create the GUI. All other modules should be part of the standard Python install.

Linux install
Install the python-glade2 package


 * Download the branch from launchpad using the bzr command line tool
 * In the client.conf file set the location of the configuration file
 * Run the Python file configApp.py (from the command line for testing, as the lift options can be viewed using configApp.py lift)

Windows install

 * Python 2.6 is needed as it does not seem that 2.7 has glade compatibility yet
 * Install the gtk+ runtime
 * Install the pygtk packages
 * Edit client.conf
 * Run configApp.py

Python

GTKRuntime

PYGTK(WithGlade)

PyCairo

PyGObject