Some kind of art site.
Python JavaScript Shell
Permalink
Failed to load latest commit information.
alembic
bin Automatically stamp new DB with alembic version. Sep 13, 2012
docs Add BrowserID to the authn doc page. #698 Feb 4, 2012
floof Redirect to current page on Persona login. Oct 6, 2012
migration Add controls for adding and removing BrowserIDs. #698 Feb 4, 2012
.gitignore
.gitmodules
LICENSE License this beast! ISC. Apr 27, 2011
MANIFEST.in Update some of the boilerplate files. Sep 24, 2012
README Update usage instructions for pserve & submodules. Sep 24, 2012
WORKAROUNDS Add WORKAROUNDS for the benefit of new devs. Jul 2, 2012
alembic.ini Rename labels to albums in the db. Introduce alembic! Sep 8, 2012
ez_setup.py Fresh Pylons project. May 19, 2010
paster.ini
setup.cfg Fresh Pylons project. May 19, 2010
setup.py

README

floof is a communal art gallery Web site.  It's powered by Python and runs atop
Pyramid.

* http://www.python.org/
* http://www.pylonsproject.org/


# Installation

First, make sure you've pulled in git submodules:

    git submodule init
    git submodule update

Use the setuptools setup script:

    python setup.py install
    -- OR --
    python setup.py develop

If you're a developer, you probably want `develop` instead of `install`, and
you may wish to consider using virtualenv to keep floof's Python environment
separate from the rest of your system.

Create a floof configuration file by copying the template:

    cp paster.ini config.ini

You may call this file whatever you want, for example `development.ini` or
`production.ini`.

Configure as appropriate, then set the sqlalchemy.url parameter in alembic.ini
to point to the same database as the floof config file.

Finally, run the setup script to populate the database and configure the CA:

    python bin/setup-floof.py config.ini#floof-prod alembic.ini

## File storage

You have two options for storing files, controlled by the `filestore` setting:

* **local** stores files in the filesystem normally.

    The `filestore.directory` setting specifies the root of the storage.  This
    directory must already exist and be writable by the Python process.

* **mogilefs** stores files in the MogileFS distributed filesystem.  You'll
    need the `pymogile` package installed, available from
    https://github.com/AloneRoad/pymogile in the 2.0 branch.

    `filestore.trackers` is a space-delimited list of trackers.

    `filestore.domain` is the name of the MogileFS domain under which all the
    files will be stored.

    See the mogile docs for creating a basic mogile environment:
    http://code.google.com/p/mogilefs/wiki/InstallHowTo

For development, invoke the application with:

    bin/dev-server.sh config.ini

If you hit some annoying problem during installation, check WORKAROUNDS.  If
the problem or answer is not there but you subsequently work it out, add your
solution to WORKAROUNDS for the sake of those who follow.


# Testing

To invoke testing, run from the top level directory:

    python setup.py test