class CollectionFieldFieldvalue(db.Model): """Represents a CollectionFieldFieldvalue record.""" __tablename__ = 'collection_field_fieldvalue' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True, nullable=False) id_field = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Field.id), primary_key=True, nullable=False) id_fieldvalue = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Fieldvalue.id), primary_key=True, nullable=True) type = db.Column(db.Char(3), nullable=False, server_default='src') score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') score_fieldvalue = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') collection = db.relationship(Collection, backref='field_fieldvalues', order_by=score) field = db.relationship(Field, backref='collection_fieldvalues', lazy='joined') fieldvalue = db.relationship(Fieldvalue, backref='collection_fields', lazy='joined')
class LnkENTRYURLTITLE(db.Model): """Represents a LnkENTRYURLTITLE record.""" __tablename__ = 'lnkENTRYURLTITLE' id = db.Column(db.Integer(15, unsigned=True), primary_key=True, nullable=False) url = db.Column(db.String(100), nullable=False, unique=True) title = db.Column(db.String(100), nullable=False, index=True) manual_set = db.Column(db.TinyInteger(1), nullable=False, server_default='0') broken_count = db.Column(db.Integer(5), server_default='0') broken = db.Column(db.TinyInteger(1), nullable=False, server_default='0')
class CollectionExternalcollection(db.Model): """Represents a CollectionExternalcollection record.""" __tablename__ = 'collection_externalcollection' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True, server_default='0') id_externalcollection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Externalcollection.id), primary_key=True, server_default='0') type = db.Column(db.TinyInteger(4, unsigned=True), server_default='0', nullable=False) def _collection_type(type): return db.relationship( Collection, primaryjoin=lambda: db.and_( CollectionExternalcollection.id_collection == Collection.id, CollectionExternalcollection.type == type), backref='_externalcollections_' + str(type)) collection_0 = _collection_type(0) collection_1 = _collection_type(1) collection_2 = _collection_type(2) externalcollection = db.relationship(Externalcollection)
class Bibdocfsinfo(db.Model): """Represents a Bibdocfsinfo record.""" __tablename__ = 'bibdocfsinfo' id_bibdoc = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Bibdoc.id), primary_key=True, nullable=False, autoincrement=False) version = db.Column(db.TinyInteger(4, unsigned=True), primary_key=True, nullable=False, autoincrement=False) format = db.Column(db.String(50), primary_key=True, nullable=False, index=True) last_version = db.Column(db.Boolean, nullable=False, index=True) cd = db.Column(db.DateTime, nullable=False, index=True) md = db.Column(db.DateTime, nullable=False, index=True) checksum = db.Column(db.Char(32), nullable=False) filesize = db.Column(db.BigInteger(15, unsigned=True), nullable=False, index=True) mime = db.Column(db.String(100), nullable=False, index=True) master_format = db.Column(db.String(50))
class FieldTag(db.Model): """Represents a FieldTag record.""" __tablename__ = 'field_tag' id_field = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey('field.id'), nullable=False, primary_key=True) id_tag = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey('tag.id'), nullable=False, primary_key=True) score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') tag = db.relationship(Tag, backref='fields', order_by=score) field = db.relationship(Field, backref='tags', order_by=score) def __init__(self, score=None, tup=None, *args, **kwargs): if score is not None: self.score = score if tup is not None: self.tag = Tag(tup) super(FieldTag, self).__init__(*args, **kwargs) @property def as_tag(self): """ Returns Tag record directly.""" return self.tag
class XtrJOB(db.Model): """Represents a XtrJOB record.""" def __init__(self): pass __tablename__ = 'xtrJOB' id = db.Column(db.TinyInteger(4), primary_key=True, nullable=False) name = db.Column(db.String(30), nullable=False) last_updated = db.Column(db.DateTime, nullable=False)
class AccMAILCOOKIE(db.Model): """Represents a AccMAILCOOKIE record.""" __tablename__ = 'accMAILCOOKIE' id = db.Column(db.Integer(15, unsigned=True), primary_key=True, autoincrement=True) data = db.Column(db.iBinary, nullable=False) expiration = db.Column(db.DateTime, nullable=False, server_default='9999-12-31 23:59:59', index=True) kind = db.Column(db.String(32), nullable=False) onetime = db.Column(db.TinyInteger(1), nullable=False, server_default='0') status = db.Column(db.Char(1), nullable=False, server_default='W')
class CollectionExample(db.Model): """Represents a CollectionExample record.""" __tablename__ = 'collection_example' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True) id_example = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Example.id), primary_key=True) score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') collection = db.relationship(Collection, backref='_examples', order_by=score) example = db.relationship(Example, backref='collections', order_by=score)
class CollectionRnkMETHOD(db.Model): """Represents a CollectionRnkMETHOD record.""" __tablename__ = 'collection_rnkMETHOD' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True, nullable=False) id_rnkMETHOD = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(RnkMETHOD.id), primary_key=True, nullable=False) score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') collection = db.relationship(Collection, backref='rnkMETHODs') rnkMETHOD = db.relationship(RnkMETHOD, backref='collections')
class BsrMETHODDATABUCKET(db.Model): """Represents a BsrMETHODDATABUCKET record.""" __tablename__ = 'bsrMETHODDATABUCKET' id_bsrMETHOD = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(BsrMETHOD.id), autoincrement=False, primary_key=True, nullable=False) bucket_no = db.Column(db.TinyInteger(2), primary_key=True, nullable=False, autoincrement=False) bucket_data = db.Column(db.LargeBinary) bucket_last_value = db.Column(db.String(255)) last_updated = db.Column(db.DateTime)
class HstTASK(db.Model): """Represents a HstTASK record.""" __tablename__ = 'hstTASK' id = db.Column(db.Integer(15, unsigned=True), nullable=False, primary_key=True, autoincrement=False) proc = db.Column(db.String(255), nullable=False) host = db.Column(db.String(255), nullable=False, server_default='') user = db.Column(db.String(50), nullable=False) runtime = db.Column(db.DateTime, nullable=False, index=True) sleeptime = db.Column(db.String(20), nullable=True) arguments = db.Column(db.iMediumBinary, nullable=True) status = db.Column(db.String(50), nullable=True, index=True) progress = db.Column(db.String(255), nullable=True) priority = db.Column(db.TinyInteger(4), nullable=False, server_default='0', index=True) sequenceid = db.Column(db.Integer(8), db.ForeignKey(SeqSTORE.id))
class Collection_bsrMETHOD(db.Model): """Represents a Collection_bsrMETHOD record.""" __tablename__ = 'collection_bsrMETHOD' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True, nullable=False, autoincrement=False) id_bsrMETHOD = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(BsrMETHOD.id), primary_key=True, nullable=False, autoincrement=False) score = db.Column(db.TinyInteger(4, unsigned=True), server_default='0', nullable=False)
class CollectionFormat(db.Model): """Represents a CollectionFormat record.""" __tablename__ = 'collection_format' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True) id_format = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Format.id), primary_key=True) score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') collection = db.relationship(Collection, backref='formats', order_by=db.desc(score)) format = db.relationship(Format, backref='collections', order_by=db.desc(score))
class Bibdocmoreinfo(db.Model): """Represents a Bibdocmoreinfo record.""" __tablename__ = 'bibdocmoreinfo' id = db.Column(db.MediumInteger(9, unsigned=True), primary_key=True) id_bibdoc = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Bibdoc.id), nullable=True) version = db.Column(db.TinyInteger(4, unsigned=True), nullable=True) format = db.Column(db.String(50), nullable=True) id_rel = db.Column(db.MediumInteger(9, unsigned=True), nullable=True) namespace = db.Column(db.Char(25), nullable=True) data_key = db.Column(db.Char(25)) data_value = db.Column(db.LargeBinary) __table_args__ = (db.Index('bibdocmoreinfo_key', id_bibdoc, version, format, id_rel, namespace, data_key), db.Model.__table_args__)
class Format(db.Model): """Represents a Format record.""" __tablename__ = 'format' id = db.Column(db.MediumInteger(9, unsigned=True), primary_key=True, autoincrement=True) name = db.Column(db.String(255), nullable=False) code = db.Column(db.String(6), nullable=False, unique=True) description = db.Column(db.String(255), server_default='') content_type = db.Column(db.String(255), server_default='') visibility = db.Column(db.TinyInteger(4), nullable=False, server_default='1') last_updated = db.Column(db.DateTime, nullable=True) @classmethod def get_export_formats(cls): return cls.query.filter(db.and_(Format.visibility == 1)).order_by( Format.name).all()
class CollectionPortalbox(db.Model): """Represents a CollectionPortalbox record.""" __tablename__ = 'collection_portalbox' id_collection = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True) id_portalbox = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Portalbox.id), primary_key=True) ln = db.Column(db.Char(5), primary_key=True, server_default='', nullable=False) position = db.Column(db.Char(3), nullable=False, server_default='top') score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') collection = db.relationship(Collection, backref='portalboxes', order_by=score) portalbox = db.relationship(Portalbox, backref='collections', order_by=score)
class CollectionCollection(db.Model): """Represents a CollectionCollection record.""" __tablename__ = 'collection_collection' id_dad = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True) id_son = db.Column(db.MediumInteger(9, unsigned=True), db.ForeignKey(Collection.id), primary_key=True) type = db.Column(db.Char(1), nullable=False, server_default='r') score = db.Column(db.TinyInteger(4, unsigned=True), nullable=False, server_default='0') son = db.relationship( Collection, primaryjoin=id_son == Collection.id, backref='dads', #FIX collection_class=db.attribute_mapped_collection('score'), order_by=db.asc(score)) dad = db.relationship(Collection, primaryjoin=id_dad == Collection.id, backref='sons', order_by=db.asc(score))
class CmtRECORDCOMMENT(db.Model): """Represents a CmtRECORDCOMMENT record.""" __tablename__ = 'cmtRECORDCOMMENT' id = db.Column(db.Integer(15, unsigned=True), nullable=False, primary_key=True, autoincrement=True) id_bibrec = db.Column(db.MediumInteger(8, unsigned=True), db.ForeignKey(Bibrec.id), nullable=False, server_default='0') id_user = db.Column(db.Integer(15, unsigned=True), db.ForeignKey(User.id), nullable=False, server_default='0') title = db.Column(db.String(255), nullable=False, server_default='') body = db.Column(db.Text, nullable=False) date_creation = db.Column(db.DateTime, nullable=False, server_default='1900-01-01 00:00:00') star_score = db.Column(db.TinyInteger(5, unsigned=True), nullable=False, server_default='0') nb_votes_yes = db.Column(db.Integer(10), nullable=False, server_default='0') nb_votes_total = db.Column(db.Integer(10, unsigned=True), nullable=False, server_default='0') nb_abuse_reports = db.Column(db.Integer(10), nullable=False, server_default='0') status = db.Column(db.Char(2), nullable=False, index=True, server_default='ok') round_name = db.Column(db.String(255), nullable=False, server_default='') restriction = db.Column(db.String(50), nullable=False, server_default='') in_reply_to_id_cmtRECORDCOMMENT = db.Column(db.Integer(15, unsigned=True), db.ForeignKey(id), nullable=False, server_default='0') reply_order_cached_data = db.Column(db.Binary, nullable=True) bibrec = db.relationship(Bibrec, backref='recordcomments') user = db.relationship(User, backref='recordcomments') replies = db.relationship('CmtRECORDCOMMENT', backref=db.backref('parent', remote_side=[id])) @property def is_deleted(self): return self.status != 'ok' def is_collapsed(self, id_user): """Returns true if the comment is collapsed by user.""" return CmtCOLLAPSED.query.filter( db.and_(CmtCOLLAPSED.id_bibrec == self.id_bibrec, CmtCOLLAPSED.id_cmtRECORDCOMMENT == self.id, CmtCOLLAPSED.id_user == id_user)).count() > 0 def collapse(self, id_user): """Collapses comment beloging to user.""" c = CmtCOLLAPSED(id_bibrec=self.id_bibrec, id_cmtRECORDCOMMENT=self.id, id_user=id_user) try: db.session.add(c) db.session.commit() except: db.session.rollback() def expand(self, id_user): """Expands comment beloging to user.""" CmtCOLLAPSED.query.filter( db.and_(CmtCOLLAPSED.id_bibrec == self.id_bibrec, CmtCOLLAPSED.id_cmtRECORDCOMMENT == self.id, CmtCOLLAPSED.id_user == id_user)).delete( synchronize_session=False) __table_args__ = (db.Index('cmtRECORDCOMMENT_reply_order_cached_data', reply_order_cached_data, mysql_length=[40]), db.Model.__table_args__)