diff options
Diffstat (limited to '')
-rw-r--r-- | archivist/server.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/archivist/server.py b/archivist/server.py new file mode 100644 index 0000000..8500af0 --- /dev/null +++ b/archivist/server.py @@ -0,0 +1,31 @@ +import click +from flask.cli import FlaskGroup, ScriptInfo +from flask import Flask +from flask_restful import Api, Resource, marshal_with, marshal_with_field, fields + +from . import model as m + +class Tag(Resource): + tag_fields = { + 'name' : fields.String, + 'prefix' : fields.String + } + +class TagList(Resource): + tag_list = { fields.List(fields.Nested(Tag.tag_fields)) } + + @marshal_with_field(fields.List(fields.Nested(Tag.tag_fields))) + def get(self): + res = list(m.Tag.select().where(~m.Tag.default).dicts().iterator()) + print(res) + return res + +def create_app(info): + app = Flask('archivist') + api = Api(app) + api.add_resource(TagList, '/') + return app + +server_group = FlaskGroup( + name='server', + context_settings = {'obj' : ScriptInfo(create_app=create_app)}) |