Skip to content
This repository has been archived by the owner on May 11, 2022. It is now read-only.

WeAreAVP/fixity

Repository files navigation

Fixity

Find extensive user documentation at https://www.avpreserve.com/tools/fixity/

Created By Furqan Wasi [email protected], April, 14, 2014.

Directory Structure

./build (Stores file required to create stand alone application)

./dist (contains Stand Alone app after creating using py2app or pyinstaller)

./history (Contain Manifest files of the project as history)

./assets (images using in Fixity and templates for scheduler xml templates)

./reports (Contains generated Reports)

./schedules (contains files used in scheduling process)

Code Structure

+---assets (Images and templates ) (Sub Directory ) +---template (templates of scheduler xml file creation)

+---Config (Files mentaion Fixity Setting up and Configuration )

+---Core   (Files Contains all business logic for Fixity )

+---GUI    (Files Contains all GUI for Fixity )

Files information

./conf.xml (contain information is debugging on or off )
./Fixity.db (Database of Fixity contains all information except dubugging is on or off)
./debug.log (Exceptions and error Logging )

Mac Configuration

  1. Download and install latest Xcode compatible with your macOS version

  2. Download and install QT 4.8 (witout debug-libraries) http://qt-project.org/downloads

  3. Download and install PySide (http://qt-project.org/wiki/PySide_Binaries_MacOSX)

  4. Download and install favorite IDE (PyCharm,Textmate,eclipse)

  5. install from mac port or brew

install cmake install qmake

  1. Install PySide using easyinstall:: sudo easy_install-2.7 PySide

  2. Upgrade PySide sudo easy_install-2.7 -U PySide

For App Creation

py2applet --make-setup MyApplication.py

rm -rf build dist

python setup.py py2app

new app will be create in "dist" folder

For More Information Visist:https://pythonhosted.org/py2app/tutorial.html

Scheduling Process

Fixity is using launchd for scheduling , it save's plist for scheduling at "cd ~/Library/LaunchAgents/" , in this .plist file stores all scheduling information , for each project one .plist will be created.

Windows Configuration

  1. Download and install Python2.7

  2. Download and install pyside1.2

  3. Download and install QT4.8

  4. Download and install PyInstaller 2.1 for .exe file create as stand alone application

  5. Download and install favorite IDE (PyCharm,Textmate,eclipse)

For eclipse from install new update , install pydev from python.org/updates and set interpreter as python from preferences

  1. if having problem of missing library download and install them from python.org using python setup.py install (setup.py file will be provided in the given library package )

App/Executable File Creation

python /path/to/pyinstaller/pyinstaller.py --onefile --noconsole --icon="assets\icon.ico" FileName.py

In Fixity two Files are created

python /path/to/pyinstaller/pyinstaller.py --onefile --noconsole --icon="assets\icon.ico" Fixity.py

python /path/to/pyinstaller/pyinstaller.py --onefile --noconsole --icon="assets\icon.ico" AutoFixity.py

These files are placed in "dist" directory after complilation of above commands

Note: to turn on the debugging for app using --console

when placing the file for the build

Fixity.exe will be placed at the same level of all other directories for example (bin,schedules,history,etc)

AutoFxity.py will be placed into schedules directory where from task scheduler will access it to run scanner

Scheduling Process

For scheduling process Fixity is using the Windows task scheduler. It triggers the scanning process at a given time when saving the project. For each project one scheduler will be created in the Windows task scheduler