Development

Contributions

Comments, feedback and contributions are most welcome. Do not hesitate to report bugs in the issue tracker or send a pull request on GitHub.

The source code evolved slowly over the last few years, from repoze.bfg to the latest versions of Pyramid, so the code may seem dated here and there...

How to run the tests

The test suite may be run with nosetests if you have installed Nose, or python setup.py test otherwise. By default, an in-memory SQLite database is used (which is fast). You may indicate a different database by setting a TESTING_DB environment variable. It should be a valid SQLAlchemy connection string, e.g.:

postgresql+psycopg2://lasco:lasco@localhost/lasco

The code should be 100% covered with the exception of a few lines in the command-line interface and the third-party EXIF module.

Development utilities

The source ships with a Makefile that contains a few utility rules, amongst which:

coverage (or simply cov)
make coverage runs Coverage.py, generates an HTML report and open it in your web browser.
distcheck
make distcheck verifies that your current version of the code can be correctly installed on a virgin virtual environment. It basically builds a source distribution, creates a temporary virtual environment, installs the distribution there and run the tests.

Credits

Lasco contains a module to extract EXIF information written by Gene Cash (see ext/exif.py for the license). The pencil icon comes from Mark James’ FamFamFam Silk icon set that is licensed under the Creative Commons Attribution 3.0 License (CC BY 3.0).

Lasco is written by Damien Baty and is licensed under the 3-clause BSD license, a copy of which is included in the source and reproduced below:

Copyright (c) 2012, Damien Baty All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of “Lasco” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DAMIEN BATY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.