Example #1
0
class Group(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    owner = db.Column(db.String(50), nullable=False, primary_key=True)
    groupname = db.Column(db.String(50), nullable=False)
    members = db.Column(db.String(200), nullable=False)
    prevStageKey = db.Column(db.Integer, nullable=False)

    def __repr__(self):
        return "<Group {}>".format(self.groupname)
Example #2
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(100), unique=True)
    password = db.Column(db.String(100))
    name = db.Column(db.String(1000))
    privID = db.Column(db.Integer, nullable=False)
    token = db.Column(db.String(500))

    def __repr__(self):
        return '<User %r>' % self.name
Example #3
0
class Party(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    target = db.Column(db.String(50), nullable=False)
    publicID = db.Column(db.String(500), nullable=False)
    side = db.Column(db.String(30), nullable=False)
    user_id = db.Column(db.Integer, nullable=False)

    def __repr__(self):
        return '<Key %r>' % self.username
Example #4
0
class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    owner = db.Column(db.String(50), nullable=False)
    sender = db.Column(db.String(50), nullable=False)
    content = db.Column(db.String(1000), nullable=False)
    time = db.Column(db.DateTime, nullable=False)
    recipient = db.Column(db.String(500), default="")

    # Goal of 'owner' : when someone connects, the server
    # gives them their messages, without thinking about it

    def __repr__(self):
        return "<Message {}, from {}>".format(self.id, self.sender)
Example #5
0
class users(db.Model, UserMixin):
    id = db.Column(db.Integer, db.Sequence('seq_users'), primary_key=True)
    email = db.Column(db.String(255), unique=True, nullable=False)
    password = db.Column(db.String(255))
    name = db.Column(db.String(255), nullable=False)
    organisation = db.Column(db.String(255))
    active = db.Column(db.Boolean(), default=True)
    roles = db.relationship('roles',
                            secondary=users_roles,
                            backref=db.backref('users', lazy='dynamic'))  #

    def __str__(self):
        return "{0} ({1})".format(self.name, self.email)
Example #6
0
class roles(db.Model, RoleMixin):
    id = db.Column(db.Integer(), primary_key=True)  #,db.Sequence('seq_roles')
    name = db.Column(db.String(80), unique=True, nullable=False)

    #    description = db.Column(db.String(255))
    def __str__(self):
        return self.name
Example #7
0
class OneTimeKey(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    owner = db.Column(db.String(50), nullable=False)
    privateOTK = db.Column(db.Integer, nullable=False)
    serverID = db.Column(db.Integer, nullable=False)

    def __repr__(self):
        return "<OTK of {}".format(self.owner)
Example #8
0
class users(db.Model, UserMixin):
    id = db.Column(db.Integer, db.Sequence('seq_users'), primary_key=True)
    email = db.Column(db.String(255), unique=True, nullable=False)
    password = db.Column(db.String(255))
    name = db.Column(db.String(255), nullable=False)
    organisation = db.Column(db.String(255))
    active = db.Column(db.Boolean(), default=True)
    roles = db.relationship('roles',
                            secondary=users_roles,
                            backref=db.backref('users', lazy='dynamic'))  #
    preferences = db.Column(db.String(40000))
    country = db.Column(db.String(50))
    usercreationdate = db.Column(TIMESTAMP, default=func.now())
    usercreationreason = db.Column(db.String(1000))

    def __str__(self):
        return "{0} ({1})".format(self.name, self.email)

    def GetPref(self, prjid, name, defval):
        try:
            prjid = str(prjid)
            tmp = json.loads(self.preferences)
            if prjid not in tmp:
                return defval
            if isinstance(defval, int):
                return int(tmp[prjid].get(name, defval))
            if isinstance(defval, (float)):
                return float(tmp[prjid].get(name, defval))
            return tmp[prjid].get(name, defval)
        except:
            return defval

    def SetPref(self, prjid, name, newval):
        try:
            prjid = str(prjid)
            tmp = json.loads(self.preferences)
            if prjid not in tmp:
                tmp[prjid] = {}
            if tmp[prjid].get(name, -99999) == newval:
                return 0  # déjà la bonne valeur donc il n'y a rien à faire
        except:
            tmp = {}
        if prjid not in tmp:
            tmp[prjid] = {}
        tmp[prjid][name] = newval
        tmp[prjid]['ts'] = time.time()
        if len(
                tmp
        ) > 75:  # si des settings pour plus de 50 projets on ne garde que les 25 plus recents
            newpref = {
                k: v
                for k, v in tmp.items() if isinstance(v, dict) and 'ts' in v
            }
            ChronoSorted = [[k, v['ts']] for k, v in newpref.items()]
            sorted(ChronoSorted, key=lambda r: r[1], reverse=True)
            tmp = {}
            for id, ts in ChronoSorted[0:50]:
                tmp[id] = newpref[id]
        self.preferences = json.dumps(tmp)
        return 1
Example #9
0
class Task(db.Model):
    __tablename__ = 'temp_tasks'
    id = db.Column(db.Integer(),
                   db.Sequence('seq_temp_tasks'),
                   primary_key=True)
    owner_id = db.Column(db.Integer(), db.ForeignKey('users.id'))
    owner_rel = db.relationship("users")
    taskclass = db.Column(db.String(80))
    taskstate = db.Column(db.String(80))
    taskstep = db.Column(db.Integer())
    progresspct = db.Column(db.Integer())
    progressmsg = db.Column(db.String())
    inputparam = db.Column(db.String())
    creationdate = db.Column(db.DateTime())
    lastupdate = db.Column(db.DateTime())

    def __str__(self):
        return self.name
Example #10
0
class User(db.Model):
    __tablename__ = "user"

    id = db.Column(db.Integer, primary_key=True)
    address = db.Column(db.String(100), unique=True)
    token = db.relationship('Token', backref='user')

    def __init__(self, address):
        self.address = address
Example #11
0
    owner_id = db.Column(db.Integer(), db.ForeignKey('users.id'))
    owner_rel = db.relationship("users")
    taskclass = db.Column(db.String(80))
    taskstate = db.Column(db.String(80))
    taskstep = db.Column(db.Integer())
    progresspct = db.Column(db.Integer())
    progressmsg = db.Column(db.String())
    inputparam = db.Column(db.String())
    creationdate = db.Column(db.DateTime())
    lastupdate = db.Column(db.DateTime())

    def __str__(self):
        return self.name


setattr(Task, "questiondata", db.Column(db.String()))
setattr(Task, "answerdata", db.Column(db.String()))


class AsyncTask:
    def __init__(self, task=None):
        if task is None:
            self.task = Task()
            self.task.taskclass = self.__class__.__name__
            self.task.taskstate = "Question"
            self.task.taskstep = 0
            self.task.creationdate = datetime.datetime.now()
        else:
            self.task = task

    def Process(self):
Example #12
0
class countrylist(db.Model, UserMixin):
    __tablename__ = 'countrylist'
    countryname = db.Column(db.String(50), primary_key=True, nullable=False)