mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 09:00:40 +00:00
add tables for files
This commit is contained in:
@ -250,6 +250,28 @@ class AnonymousUser(AnonymousUserMixin):
|
||||
return False
|
||||
|
||||
|
||||
class JobInput(db.Model):
|
||||
"""
|
||||
Class to define Files.
|
||||
"""
|
||||
__tablename__ = 'job_inputs'
|
||||
# Primary key
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
filename = db.Column(db.String(255))
|
||||
job_id = db.Column(db.Integer, db.ForeignKey('jobs.id'))
|
||||
|
||||
|
||||
class JobResult(db.Model):
|
||||
"""
|
||||
Class to define Files.
|
||||
"""
|
||||
__tablename__ = 'job_results'
|
||||
# Primary key
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
filename = db.Column(db.String(255))
|
||||
job_id = db.Column(db.Integer, db.ForeignKey('jobs.id'))
|
||||
|
||||
|
||||
class Job(db.Model):
|
||||
"""
|
||||
Class to define Jobs.
|
||||
@ -272,6 +294,15 @@ class Job(db.Model):
|
||||
status = db.Column(db.String(16))
|
||||
title = db.Column(db.String(32))
|
||||
user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
|
||||
# Relationships
|
||||
inputs = db.relationship('JobInput',
|
||||
backref='job',
|
||||
lazy='dynamic',
|
||||
cascade='save-update, merge, delete')
|
||||
results = db.relationship('JobResult',
|
||||
backref='job',
|
||||
lazy='dynamic',
|
||||
cascade='save-update, merge, delete')
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super(Job, self).__init__(**kwargs)
|
||||
@ -329,6 +360,17 @@ class Job(db.Model):
|
||||
db.session.commit()
|
||||
|
||||
|
||||
class CorpusFile(db.Model):
|
||||
"""
|
||||
Class to define Files.
|
||||
"""
|
||||
__tablename__ = 'corpus_files'
|
||||
# Primary key
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
filename = db.Column(db.String(255))
|
||||
corpus_id = db.Column(db.Integer, db.ForeignKey('corpora.id'))
|
||||
|
||||
|
||||
class Corpus(db.Model):
|
||||
"""
|
||||
Class to define a corpus.
|
||||
@ -340,6 +382,11 @@ class Corpus(db.Model):
|
||||
description = db.Column(db.String(255))
|
||||
title = db.Column(db.String(32))
|
||||
user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
|
||||
# Relationships
|
||||
files = db.relationship('CorpusFile',
|
||||
backref='relation',
|
||||
lazy='dynamic',
|
||||
cascade='save-update, merge, delete')
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super(Corpus, self).__init__(**kwargs)
|
||||
|
@ -1,9 +1,10 @@
|
||||
from flask import abort, current_app, flash, redirect, render_template, url_for
|
||||
from . import services
|
||||
from flask_login import current_user, login_required
|
||||
from werkzeug.utils import secure_filename
|
||||
from . import services
|
||||
from .forms import NewNLPJobForm, NewOCRJobForm
|
||||
from ..models import Job
|
||||
from .. import db
|
||||
from ..models import Job, JobInput
|
||||
import json
|
||||
import os
|
||||
|
||||
@ -53,7 +54,10 @@ def service(service_handle):
|
||||
else:
|
||||
for file in new_job_form.files.data:
|
||||
''' TODO: Use secure filename '''
|
||||
file.save(os.path.join(dir, file.filename))
|
||||
filename = secure_filename(file.filename)
|
||||
file.save(os.path.join(dir, filename))
|
||||
job_input = JobInput(filename=filename, job=job)
|
||||
db.session.add(job_input)
|
||||
job.status = 'submitted'
|
||||
db.session.commit()
|
||||
flash('Job created!')
|
||||
|
Reference in New Issue
Block a user