summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2021-04-01 15:31:52 +0200
committerJules Laplace <julescarbon@gmail.com>2021-04-01 15:31:52 +0200
commit5cafa9d43b769e6f60740f59293ddf3588e7b8ad (patch)
treea3d378cfbb91bec5c549e187e177a1fc327ef1fb /cli
parent8c733583739517ff453d561f3b8fc5ca0d334819 (diff)
migration: add settings to uploads. cursor upload
Diffstat (limited to 'cli')
-rw-r--r--cli/app/controllers/upload_controller.py11
-rw-r--r--cli/app/sql/models/upload.py4
-rw-r--r--cli/app/sql/versions/202104011523_add_settings_to_uploads.py29
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 ###