diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2021-04-01 15:31:52 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2021-04-01 15:31:52 +0200 |
| commit | 5cafa9d43b769e6f60740f59293ddf3588e7b8ad (patch) | |
| tree | a3d378cfbb91bec5c549e187e177a1fc327ef1fb /cli | |
| parent | 8c733583739517ff453d561f3b8fc5ca0d334819 (diff) | |
migration: add settings to uploads. cursor upload
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/app/controllers/upload_controller.py | 11 | ||||
| -rw-r--r-- | cli/app/sql/models/upload.py | 4 | ||||
| -rw-r--r-- | cli/app/sql/versions/202104011523_add_settings_to_uploads.py | 29 |
3 files changed, 42 insertions, 2 deletions
diff --git a/cli/app/controllers/upload_controller.py b/cli/app/controllers/upload_controller.py index 94a7fd1..022b08a 100644 --- a/cli/app/controllers/upload_controller.py +++ b/cli/app/controllers/upload_controller.py @@ -5,6 +5,7 @@ from werkzeug.utils import secure_filename import os import numpy as np from PIL import Image +import json from app.settings import app_cfg from app.sql.common import db, Session @@ -70,6 +71,14 @@ class UploadView(FlaskView): except: raise APIError('No graph_id specified') + try: + settings = request.form.get('settings') + settings = json.loads(settings) + # print(graph_id) + except: + settings = {} + + if 'image' in request.files: file = request.files['image'] # print(fn) @@ -113,7 +122,7 @@ class UploadView(FlaskView): os.makedirs(uploaded_im_abspath, exist_ok=True) file.save(uploaded_im_fullpath) - upload = Upload(username=username, tag=tag, fn=uploaded_im_fn, sha256=sha256, ext=ext, graph_id=graph_id) + upload = Upload(username=username, tag=tag, fn=uploaded_im_fn, sha256=sha256, ext=ext, graph_id=graph_id, settings=settings) session.add(upload) session.commit() response = { diff --git a/cli/app/sql/models/upload.py b/cli/app/sql/models/upload.py index d9307ff..ac3d900 100644 --- a/cli/app/sql/models/upload.py +++ b/cli/app/sql/models/upload.py @@ -1,4 +1,4 @@ -from sqlalchemy import create_engine, Table, Column, ForeignKey, String, Integer, DateTime +from sqlalchemy import create_engine, Table, Column, ForeignKey, String, Integer, DateTime, JSON import sqlalchemy.sql.functions as func from sqlalchemy_utc import UtcDateTime, utcnow from wtforms_alchemy import ModelForm @@ -20,6 +20,7 @@ class Upload(Base): ext = Column(String(4, convert_unicode=True), nullable=False) tag = Column(String(64, convert_unicode=True), nullable=True) username = Column(String(16, convert_unicode=True), nullable=False) + settings = Column(JSON, default={}, nullable=True) created_at = Column(UtcDateTime(), default=utcnow()) def toJSON(self): @@ -32,6 +33,7 @@ class Upload(Base): 'tag': self.tag, 'username': self.username, 'url': self.url(), + 'settings': self.settings, 'created_at': self.created_at, } diff --git a/cli/app/sql/versions/202104011523_add_settings_to_uploads.py b/cli/app/sql/versions/202104011523_add_settings_to_uploads.py new file mode 100644 index 0000000..b0d63b2 --- /dev/null +++ b/cli/app/sql/versions/202104011523_add_settings_to_uploads.py @@ -0,0 +1,29 @@ +"""add settings to uploads + +Revision ID: 844858ecfc5c +Revises: 9b687880918d +Create Date: 2021-04-01 15:23:29.581711 + +""" +from alembic import op +import sqlalchemy as sa +import sqlalchemy_utc + + +# revision identifiers, used by Alembic. +revision = '844858ecfc5c' +down_revision = '9b687880918d' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('upload', sa.Column('settings', sa.JSON(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('upload', 'settings') + # ### end Alembic commands ### |
