From e1fb6fd193a465c1ac17ea218ed7d07a49d3db6a Mon Sep 17 00:00:00 2001 From: David Beniamine <david.beniamine@tetras-libre.fr> Date: Wed, 18 Jan 2023 16:24:56 +0100 Subject: [PATCH] Minimal CRUD resource --- .gitignore | 4 ++ Mirador-backend/__init__.py | 0 Mirador-backend/app.py | 11 ++++++ Mirador-backend/resources/__init__.py | 0 Mirador-backend/resources/mirador_resource.py | 18 +++++++++ Readme.md | 31 +++++++++++++++ setup.py | 39 +++++++++++++++++++ 7 files changed, 103 insertions(+) create mode 100644 .gitignore create mode 100644 Mirador-backend/__init__.py create mode 100644 Mirador-backend/app.py create mode 100644 Mirador-backend/resources/__init__.py create mode 100644 Mirador-backend/resources/mirador_resource.py create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..69b2b1e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +venv +*.egg-info +.eggs +**/__pycache__ diff --git a/Mirador-backend/__init__.py b/Mirador-backend/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Mirador-backend/app.py b/Mirador-backend/app.py new file mode 100644 index 0000000..548908a --- /dev/null +++ b/Mirador-backend/app.py @@ -0,0 +1,11 @@ +from flask import Flask +from flask_restful import Api +from .resources.mirador_resource import MiradorResource + +app = Flask(__name__) +api = Api(app) + +api.add_resource(MiradorResource, '/mirador_resource', '/mirador_resource/<int:id>') + +if __name__ == '__main__': + app.run(debug=True) diff --git a/Mirador-backend/resources/__init__.py b/Mirador-backend/resources/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Mirador-backend/resources/mirador_resource.py b/Mirador-backend/resources/mirador_resource.py new file mode 100644 index 0000000..08f1588 --- /dev/null +++ b/Mirador-backend/resources/mirador_resource.py @@ -0,0 +1,18 @@ +from flask_restful import Resource + + +class MiradorResource(Resource): + def get(self, id=None): + return {'method': 'get', 'id': id} + + def post(self): + return {'method': 'post'} + + def put(self, id): + return {'method': 'put', 'id': id} + + def patch(self, id): + return {'method': 'patch', 'id': id} + + def delete(self, id): + return {'method': 'delete', 'id': id} diff --git a/Readme.md b/Readme.md index e69de29..1fc694a 100644 --- a/Readme.md +++ b/Readme.md @@ -0,0 +1,31 @@ +# Mirador backend + +## Requirements + ++ virtualenv (optionnal) ++ Python >= 3.10 + +## Install + +### Dev mode + +1. Optionnal create a virtual env `virtualenv venv && . venv/bin/activate` +2. Install dependencies `pip install -e .` + +### Production mode + + +**TODO** + +## Run + +### Dev mode + +``` +cd Mirador-backend +flask --debug run +``` + +### Production mode + +**TODO** diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ec402d2 --- /dev/null +++ b/setup.py @@ -0,0 +1,39 @@ +from setuptools import setup, find_packages + +from os import path + +here = path.abspath(path.dirname(__file__)) + +with open(path.join(here, 'Readme.md'), encoding='utf-8') as f: + + long_description = f.read() + +setup( + + name="Mirador backend", + + url="https://gitlab.tetras-libre.fr/iiif/backend", + + version="1.0", + + python_requires='>3.10.0', + + license="Gpl v3+", + + author="Tetras Libre", + + author_email="David.Beniamine@Tetras-Libre.fr", + + description="Backend for Mirador viewer", + + long_description=long_description, + + packages=find_packages(), + + install_requires=["flask", "flask-restful"], + + setup_requires=["pytest-runner"], + + tests_require=["pytest"], + +) -- GitLab