#!/usr/bin/env python3 import argparse import os.path import sys import cherrypy import guacamole import lesana import cherry_lesana as cl from pkg_resources import resource_filename class CherryLesana(guacamole.Command): def register_arguments(self, parser): parser.add_argument( '--collection', '-c', help='The collection to work on (default .)', default='.', ) parser.add_argument( '--browser', '-b', help='', ) def invoked(self, ctx): # TODO: read config from a file or something config = { '/': { 'tools.staticdir.root': resource_filename( 'cherry_lesana', 'data', ) }, '/static': { 'tools.staticdir.on': True, 'tools.staticdir.dir': 'static', } } if os.path.exists(os.path.join(ctx.args.collection, '.lesana')): collection = lesana.Collection(ctx.args.collection) else: collection = None app = cl.App(collection) cherrypy.quickstart(app, '/', config) if __name__ == '__main__': CherryLesana().main()