diff options
Diffstat (limited to 'clesana')
| -rwxr-xr-x | clesana | 58 | 
1 files changed, 36 insertions, 22 deletions
@@ -1,35 +1,49 @@  #!/usr/bin/env python3 +import argparse +import os.path  import sys -import lesana  import cherrypy +import guacamole +import lesana  import cherry_lesana as cl  from pkg_resources import resource_filename -def main(): -    # 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', +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', +                }              } -        } -    # TODO: properly read command line args -    try: -        collection = lesana.Collection(sys.argv[1]) -    except IndexError: -        collection = None -    app = cl.App(collection) -    cherrypy.quickstart(app, '/', config) +        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__': -   main() +   CherryLesana().main()  | 
