Ophot is a project mainly written in PYTHON and JAVASCRIPT, based on the AGPL-3.0 license.
Mirror for ophot
This is ophot, a small web application which provides a simple photography portfolio website. It allows a manager to log in in order to add, edit or remove photos.
This README was last updated on 1 July 2011.
The code comprising this web application is copyright 2011 Jeffrey Finkelstein, and is published under the GNU Affero General Public License, either version 3 or (at your option) any later version. For more information see the LICENSE file.
This package contains:
The ophot/ directory is a Python package and contains the following files:
and the following subdirectories:
This application requires Python 2.7 (http://www.python.org/).
This application requires the following libraries to be installed:
Using "pip" or "easy_install" is probably the easiest way to install these:
pip install Flask Flask-Uploads Flask-WTF PIL configobj
This package can be built, installed, etc. as a Python egg using the provided setup.py script. For more information, run
python setup.py --help
To configure this application, edit the configuration file "config.py". You must add at least USERNAME, PASSWORD, and SECRET_KEY for allowing the administrator to log in. You probably want to change the value of NAME, plus some others as well.
Instead of editing the configuration file directly, you can set the OPHOT_SETTINGS environment variable to be the path to a file containing the configuration settings which you wish to override. For example, create a text file called "myconfig" and add the following:
USERNAME = 'myusername'
PASSWORD = 'mypassword'
SECRET_KEY = '123456789012345678901234'
(See the config.py file for more information on how to generate a secret key.) Next change the OPHOT_SETTINGS environment variable to point to that file:
export OPHOT_SETTINGS=/path/to/myconfig
Place the above command at the bottom of the file $HOME/.bash_profile in order to set that environment variable on every login:
echo OPHOT_SETTINGS=/path/to/myconfig >> $HOME/.bash_profile
Before running the application we also need to initialize the database. The reset-db.sh script will create the database for you based on the schema in the schema.sql file:
./reset-db.sh
To run the web server and start serving, run:
python runserver.py
Remember to disable debug mode when running on a production server.
One can also deploy this application as a WSGI application, using, for example, mod_wsgi for Apache. To deploy this application as a WSGI application, edit the first two lines in the ophot.wsgi file from
PATH_TO_APP = '/var/www/ophot'
PATH_TO_VIRTUALENV = PATH_TO_APP + '/env/bin/activate_this.py'
to be the correct paths to the top level directory of the application and the virtualenv environment in which the application should run, respectively.
The Python unit tests are contained in the ophot/tests/ directory (which is a Python package). To run the test suite, run the command
python setup.py test
Jeffrey Finkelstein [email protected]