From 90a209e69f455b49c4a642fb2b3288f915fed1dc Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Tue, 3 Oct 2017 22:02:16 +0200 Subject: Basic server implementation --- archivist/server.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 archivist/server.py (limited to 'archivist/server.py') 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)}) -- cgit v1.2.3-70-g09d2