Ejemplo n.º 1
0
class Ins(db.Model):
    __tablename__ = 'ins'
    id = db.Column(db.String(24), default=objectid, primary_key=True)
    type = db.Column(db.String(255), comment='机构类型')
    name = db.Column(db.String(50), comment='机构名称')
    ins_picture = db.Column(db.String(255), comment='机构图片')
    location_id = db.Column(db.String(50),
                            db.ForeignKey('location.id'),
                            comment='位置')
    ins_address = db.Column(db.String(255), comment='机构地址')
    note = db.Column(db.Text, comment='备注')
    latitude = db.Column(db.Float(asdecimal=True), comment='纬度')
    longitude = db.Column(db.Float(asdecimal=True), comment='经度')
    admin_user_id = db.Column(db.String(24),
                              db.ForeignKey('user.id'),
                              comment='管理员id')
    community = db.relationship('Community',
                                secondary=t_community_ins,
                                backref=db.backref('f1_community',
                                                   lazy='dynamic'),
                                lazy='dynamic')
    user = db.relationship('User',
                           secondary=t_user_ins,
                           backref=db.backref('f_user', lazy='dynamic'),
                           lazy='dynamic')
    disabled = db.Column(db.Boolean,
                         nullable=False,
                         default=False,
                         comment='是否可用')
Ejemplo n.º 2
0
class Home(db.Model):
    __tablename__ = 'home'

    id = db.Column(db.String(24), default=objectid, primary_key=True)
    name = db.Column(db.String(255), comment='家庭名称')
    community_id = db.Column(db.String(24),
                             db.ForeignKey('community.id'),
                             comment='社区id')
    community = db.relationship('Community')
    admin_user_id = db.Column(db.String(24),
                              db.ForeignKey('user.id'),
                              comment='创建者id')
    detail_address = db.Column(db.String(255), comment='家庭地址')
    link_name = db.Column(db.String(50), comment='主人姓名')
    telephone = db.Column(db.String(50), comment='电话号码')
    longitude = db.Column(db.Float(asdecimal=True), comment='经度')
    latitude = db.Column(db.Float(asdecimal=True), comment='纬度')
    alternate_phone = db.Column(db.String(50), comment='备用电话')
    gateway_id = db.Column(db.String(50),
                           db.ForeignKey('gateway.id'),
                           comment='网关id')
    disabled = db.Column(db.Boolean,
                         nullable=False,
                         default=False,
                         comment='是否可用')
Ejemplo n.º 3
0
class BaseUser(db.Model):
    __abstract__ = True

    @property
    def json(self):
        return {"personality": { "o": self.o, "c": self.c, "e": self.e, "a": self.a, "n": self.n }}

    id = db.Column(db.Integer, primary_key=True)
    o = db.Column(db.Float())
    c = db.Column(db.Float())
    e = db.Column(db.Float())
    a = db.Column(db.Float())
    n = db.Column(db.Float())
Ejemplo n.º 4
0
class Cinema(db.Model):
    __tablename__ = 'cinemas'
    cid = db.Column('mid', db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True, nullable=False, index=True)
    city = db.Column(db.String(10))
    district = db.Column(db.String(10))
    address = db.Column(db.String(64))
    phone = db.Column(db.String(20))
    score = db.Column(db.Float(3, 1), default=10.0)
    hallnum = db.Column(db.Integer)
    servicecharge = db.Column(db.Float(3, 1), default=1.2)
    astrict = db.Column(db.Integer)
    flag = db.Column(db.Boolean, default=True)
    isdelete = db.Column(db.Boolean, default=False)
Ejemplo n.º 5
0
class User(db.Model):
    # __tablename__ = 't_user'
    uid = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True, nullable=True)
    weight = db.Column(db.Float(10, 2))
    # # decimal
    money = db.Column(db.Numeric(10, 2))
    create_date = db.Column(db.DateTime, default=datetime.datetime.now())
    # # 不要在text字段上面加索引
    msg = db.Column(db.Text())
Ejemplo n.º 6
0
class Community(db.Model):
    __tablename__ = 'community'

    id = db.Column(db.String(24), default=objectid, primary_key=True)
    name = db.Column(db.String(255), comment='社区名')
    community_picture = db.Column(db.String(200), comment='社区图片')
    detail_address = db.Column(db.String(255), comment='详细地址')
    save_distance = db.Column(db.Integer, comment='求救距离')
    eva_distance = db.Column(db.Integer, comment='疏散距离')
    longitude = db.Column(db.Float(asdecimal=True), comment='经度')
    latitude = db.Column(db.Float(asdecimal=True), comment='纬度')
    ins = db.relationship('Ins',
                          secondary=t_community_ins,
                          backref=db.backref('f1_ins', lazy='dynamic'),
                          lazy='dynamic')
    homes = db.relationship('Home', lazy='dynamic')
    location_id = db.Column(db.String(50),
                            db.ForeignKey('location.id'),
                            comment='位置')
    disabled = db.Column(db.Boolean,
                         nullable=False,
                         default=False,
                         comment='是否可用')
Ejemplo n.º 7
0
class Link(db.Model):
    shortlink = db.Column(db.String(10), primary_key=True)
    url = db.Column(db.String(256), nullable=False)
    created = db.Column(db.DateTime(),
                        server_default=expression.text('now()'),
                        nullable=False)
    expired_time = db.Column(db.Float(),
                             server_default=expression.text('0'),
                             nullable=False)

    @classmethod
    def create(cls, vals):
        link = cls(**vals)
        db.session.add(link)

        return link

    @classmethod
    def generate_new_link(cls, url, expired_time):
        shortlink = LinkEncode.generate_new_link()

        cls.create({
            'shortlink': shortlink,
            'url': url,
            'expired_time': expired_time
        })

        return shortlink

    @classmethod
    def get_by_shortlink(cls, shortlink):
        link = cls.query.filter_by(shortlink=shortlink).first()
        if link and link.expired_time and time.time() > link.expired_time:
            db.session.delete(link)
            return None

        return link

    @classmethod
    def check_shortlink(cls, shortlink):
        return LinkEncode.check_shortlink(shortlink)
Ejemplo n.º 8
0
class Word(db.Model):
    __table_args__ = {'schema': "public"}
    __tablename__ = "Word"

    word = db.Column(db.String, primary_key=True)
    HGI_positiv = db.Column(db.Integer())
    HGI_negativ = db.Column(db.Integer())
    HGI_pstv = db.Column(db.Integer())
    HGI_affil = db.Column(db.Integer())
    HGI_ngtv = db.Column(db.Integer())
    HGI_hostile = db.Column(db.Integer())
    HGI_strong = db.Column(db.Integer())
    HGI_power = db.Column(db.Integer())
    HGI_weak = db.Column(db.Integer())
    HGI_submit = db.Column(db.Integer())
    HGI_active = db.Column(db.Integer())
    HGI_passive = db.Column(db.Integer())
    HGI_pleasur = db.Column(db.Integer())
    HGI_pain = db.Column(db.Integer())
    HGI_feel = db.Column(db.Integer())
    HGI_arousal = db.Column(db.Integer())
    HGI_emot = db.Column(db.Integer())
    HGI_virtue = db.Column(db.Integer())
    HGI_vice = db.Column(db.Integer())
    HGI_ovrst = db.Column(db.Integer())
    HGI_undrst = db.Column(db.Integer())
    HGI_academ = db.Column(db.Integer())
    HGI_doctrin = db.Column(db.Integer())
    HGI_econ2 = db.Column(db.Integer())
    HGI_exch = db.Column(db.Integer())
    HGI_econ = db.Column(db.Integer())
    HGI_exprsv = db.Column(db.Integer())
    HGI_legal = db.Column(db.Integer())
    HGI_milit = db.Column(db.Integer())
    HGI_polit2 = db.Column(db.Integer())
    HGI_polit = db.Column(db.Integer())
    HGI_relig = db.Column(db.Integer())
    HGI_role = db.Column(db.Integer())
    HGI_coll = db.Column(db.Integer())
    HGI_work = db.Column(db.Integer())
    HGI_ritual = db.Column(db.Integer())
    HGI_socrel = db.Column(db.Integer())
    HGI_race = db.Column(db.Integer())
    HGI_kin2 = db.Column(db.Integer())
    HGI_male = db.Column(db.Integer())
    HGI_female = db.Column(db.Integer())
    HGI_nonadlt = db.Column(db.Integer())
    HGI_hu = db.Column(db.Integer())
    HGI_ani = db.Column(db.Integer())
    HGI_place = db.Column(db.Integer())
    HGI_social = db.Column(db.Integer())
    HGI_region = db.Column(db.Integer())
    HGI_route = db.Column(db.Integer())
    HGI_aquatic = db.Column(db.Integer())
    HGI_land = db.Column(db.Integer())
    HGI_sky = db.Column(db.Integer())
    HGI_object = db.Column(db.Integer())
    HGI_tool = db.Column(db.Integer())
    HGI_food = db.Column(db.Integer())
    HGI_vehicle = db.Column(db.Integer())
    HGI_bldgpt = db.Column(db.Integer())
    HGI_comnobj = db.Column(db.Integer())
    HGI_natobj = db.Column(db.Integer())
    HGI_bodypt = db.Column(db.Integer())
    HGI_comform = db.Column(db.Integer())
    HGI_com = db.Column(db.Integer())
    HGI_say = db.Column(db.Integer())
    HGI_need = db.Column(db.Integer())
    HGI_goal = db.Column(db.Integer())
    HGI_try = db.Column(db.Integer())
    HGI_means = db.Column(db.Integer())
    HGI_persist = db.Column(db.Integer())
    HGI_complet = db.Column(db.Integer())
    HGI_fail = db.Column(db.Integer())
    HGI_natrpro = db.Column(db.Integer())
    HGI_begin = db.Column(db.Integer())
    HGI_vary = db.Column(db.Integer())
    HGI_increas = db.Column(db.Integer())
    HGI_decreas = db.Column(db.Integer())
    HGI_finish = db.Column(db.Integer())
    HGI_stay = db.Column(db.Integer())
    HGI_rise = db.Column(db.Integer())
    HGI_exert = db.Column(db.Integer())
    HGI_fetch = db.Column(db.Integer())
    HGI_travel = db.Column(db.Integer())
    HGI_fall = db.Column(db.Integer())
    HGI_think = db.Column(db.Integer())
    HGI_know = db.Column(db.Integer())
    HGI_causal = db.Column(db.Integer())
    HGI_ought = db.Column(db.Integer())
    HGI_perceiv = db.Column(db.Integer())
    HGI_compare = db.Column(db.Integer())
    HGI_eval2 = db.Column(db.Integer())
    HGI_eval = db.Column(db.Integer())
    HGI_solve = db.Column(db.Integer())
    HGI_abs2 = db.Column(db.Integer())
    HGI_abs = db.Column(db.Integer())
    HGI_quality = db.Column(db.Integer())
    HGI_quan = db.Column(db.Integer())
    HGI_numb = db.Column(db.Integer())
    HGI_ord = db.Column(db.Integer())
    HGI_card = db.Column(db.Integer())
    HGI_freq = db.Column(db.Integer())
    HGI_dist = db.Column(db.Integer())
    HGI_time2 = db.Column(db.Integer())
    HGI_time = db.Column(db.Integer())
    HGI_space = db.Column(db.Integer())
    HGI_pos = db.Column(db.Integer())
    HGI_dim = db.Column(db.Integer())
    HGI_rel = db.Column(db.Integer())
    HGI_color = db.Column(db.Integer())
    HGI_self = db.Column(db.Integer())
    HGI_our = db.Column(db.Integer())
    HGI_you = db.Column(db.Integer())
    HGI_name = db.Column(db.Integer())
    HGI_yes = db.Column(db.Integer())
    HGI_no = db.Column(db.Integer())
    HGI_negate = db.Column(db.Integer())
    HGI_intrj = db.Column(db.Integer())
    HGI_iav = db.Column(db.Integer())
    HGI_dav = db.Column(db.Integer())
    HGI_sv = db.Column(db.Integer())
    HGI_ipadj = db.Column(db.Integer())
    HGI_indadj = db.Column(db.Integer())
    HGI_powgain = db.Column(db.Integer())
    HGI_powloss = db.Column(db.Integer())
    HGI_powends = db.Column(db.Integer())
    HGI_powaren = db.Column(db.Integer())
    HGI_powcon = db.Column(db.Integer())
    HGI_powcoop = db.Column(db.Integer())
    HGI_powaupt = db.Column(db.Integer())
    HGI_powpt = db.Column(db.Integer())
    HGI_powdoct = db.Column(db.Integer())
    HGI_powauth = db.Column(db.Integer())
    HGI_powoth = db.Column(db.Integer())
    HGI_powtot = db.Column(db.Integer())
    HGI_rcethic = db.Column(db.Integer())
    HGI_rcrelig = db.Column(db.Integer())
    HGI_rcgain = db.Column(db.Integer())
    HGI_rcloss = db.Column(db.Integer())
    HGI_rcends = db.Column(db.Integer())
    HGI_rctot = db.Column(db.Integer())
    HGI_rspgain = db.Column(db.Integer())
    HGI_rsploss = db.Column(db.Integer())
    HGI_rspoth = db.Column(db.Integer())
    HGI_rsptot = db.Column(db.Integer())
    HGI_affgain = db.Column(db.Integer())
    HGI_affloss = db.Column(db.Integer())
    HGI_affpt = db.Column(db.Integer())
    HGI_affoth = db.Column(db.Integer())
    HGI_afftot = db.Column(db.Integer())
    HGI_wltpt = db.Column(db.Integer())
    HGI_wlttran = db.Column(db.Integer())
    HGI_wltoth = db.Column(db.Integer())
    HGI_wlttot = db.Column(db.Integer())
    HGI_wlbgain = db.Column(db.Integer())
    HGI_wlbloss = db.Column(db.Integer())
    HGI_wlbphys = db.Column(db.Integer())
    HGI_wlbpsyc = db.Column(db.Integer())
    HGI_wlbpt = db.Column(db.Integer())
    HGI_wlbtot = db.Column(db.Integer())
    HGI_enlgain = db.Column(db.Integer())
    HGI_enlloss = db.Column(db.Integer())
    HGI_enlends = db.Column(db.Integer())
    HGI_enlpt = db.Column(db.Integer())
    HGI_enloth = db.Column(db.Integer())
    HGI_enltot = db.Column(db.Integer())
    HGI_sklasth = db.Column(db.Integer())
    HGI_sklpt = db.Column(db.Integer())
    HGI_skloth = db.Column(db.Integer())
    HGI_skltot = db.Column(db.Integer())
    HGI_trngain = db.Column(db.Integer())
    HGI_trnloss = db.Column(db.Integer())
    HGI_tranlw = db.Column(db.Integer())
    HGI_meanslw = db.Column(db.Integer())
    HGI_endslw = db.Column(db.Integer())
    HGI_arenalw = db.Column(db.Integer())
    HGI_ptlw = db.Column(db.Integer())
    HGI_nation = db.Column(db.Integer())
    HGI_anomie = db.Column(db.Integer())
    HGI_negaff = db.Column(db.Integer())
    HGI_posaff = db.Column(db.Integer())
    HGI_surelw = db.Column(db.Integer())
    HGI_if = db.Column(db.Integer())
    HGI_notlw = db.Column(db.Integer())
    HGI_timespc = db.Column(db.Integer())
    HGI_formlw = db.Column(db.Integer())
    LIWC_function = db.Column(db.Integer())
    LIWC_pronoun = db.Column(db.Integer())
    LIWC_ppron = db.Column(db.Integer())
    LIWC_i = db.Column(db.Integer())
    LIWC_we = db.Column(db.Integer())
    LIWC_you = db.Column(db.Integer())
    LIWC_shehe = db.Column(db.Integer())
    LIWC_they = db.Column(db.Integer())
    LIWC_ipron = db.Column(db.Integer())
    LIWC_article = db.Column(db.Integer())
    LIWC_prep = db.Column(db.Integer())
    LIWC_auxverb = db.Column(db.Integer())
    LIWC_adverb = db.Column(db.Integer())
    LIWC_conj = db.Column(db.Integer())
    LIWC_negate = db.Column(db.Integer())
    LIWC_verb = db.Column(db.Integer())
    LIWC_adj = db.Column(db.Integer())
    LIWC_compare = db.Column(db.Integer())
    LIWC_interrog = db.Column(db.Integer())
    LIWC_number = db.Column(db.Integer())
    LIWC_quant = db.Column(db.Integer())
    LIWC_affect = db.Column(db.Integer())
    LIWC_posemo = db.Column(db.Integer())
    LIWC_negemo = db.Column(db.Integer())
    LIWC_anx = db.Column(db.Integer())
    LIWC_anger = db.Column(db.Integer())
    LIWC_sad = db.Column(db.Integer())
    LIWC_social = db.Column(db.Integer())
    LIWC_family = db.Column(db.Integer())
    LIWC_friend = db.Column(db.Integer())
    LIWC_female = db.Column(db.Integer())
    LIWC_male = db.Column(db.Integer())
    LIWC_cogproc = db.Column(db.Integer())
    LIWC_insight = db.Column(db.Integer())
    LIWC_cause = db.Column(db.Integer())
    LIWC_discrep = db.Column(db.Integer())
    LIWC_tentat = db.Column(db.Integer())
    LIWC_certain = db.Column(db.Integer())
    LIWC_differ = db.Column(db.Integer())
    LIWC_percept = db.Column(db.Integer())
    LIWC_see = db.Column(db.Integer())
    LIWC_hear = db.Column(db.Integer())
    LIWC_feel = db.Column(db.Integer())
    LIWC_bio = db.Column(db.Integer())
    LIWC_body = db.Column(db.Integer())
    LIWC_health = db.Column(db.Integer())
    LIWC_sexual = db.Column(db.Integer())
    LIWC_ingest = db.Column(db.Integer())
    LIWC_drives = db.Column(db.Integer())
    LIWC_affiliation = db.Column(db.Integer())
    LIWC_achiev = db.Column(db.Integer())
    LIWC_power = db.Column(db.Integer())
    LIWC_reward = db.Column(db.Integer())
    LIWC_risk = db.Column(db.Integer())
    LIWC_focuspast = db.Column(db.Integer())
    LIWC_focuspresent = db.Column(db.Integer())
    LIWC_focusfuture = db.Column(db.Integer())
    LIWC_relativ = db.Column(db.Integer())
    LIWC_motion = db.Column(db.Integer())
    LIWC_space = db.Column(db.Integer())
    LIWC_time = db.Column(db.Integer())
    LIWC_work = db.Column(db.Integer())
    LIWC_leisure = db.Column(db.Integer())
    LIWC_home = db.Column(db.Integer())
    LIWC_money = db.Column(db.Integer())
    LIWC_relig = db.Column(db.Integer())
    LIWC_death = db.Column(db.Integer())
    LIWC_informal = db.Column(db.Integer())
    LIWC_swear = db.Column(db.Integer())
    LIWC_netspeak = db.Column(db.Integer())
    LIWC_assent = db.Column(db.Integer())
    LIWC_nonflu = db.Column(db.Integer())
    LIWC_filler = db.Column(db.Integer())
    MRC_kf_freq = db.Column(db.Float())
    MRC_kf_nsamp = db.Column(db.Float())
    MRC_tl_freq = db.Column(db.Float())
    MRC_brown_freq = db.Column(db.Float())
    MRC_fam = db.Column(db.Float())
    MRC_conc = db.Column(db.Float())
    MRC_imag = db.Column(db.Float())
    MRC_meanc = db.Column(db.Float())
    MRC_meanp = db.Column(db.Float())
    MRC_aoa = db.Column(db.Float())
    NRC_positive = db.Column(db.Integer())
    NRC_negative = db.Column(db.Integer())
    NRC_anger = db.Column(db.Integer())
    NRC_anticipation = db.Column(db.Integer())
    NRC_disgust = db.Column(db.Integer())
    NRC_fear = db.Column(db.Integer())
    NRC_joy = db.Column(db.Integer())
    NRC_sadness = db.Column(db.Integer())
    NRC_surprise = db.Column(db.Integer())
    NRC_trust = db.Column(db.Integer())
    S_visual = db.Column(db.Float())
    S_auditory = db.Column(db.Float())
    S_gustatory = db.Column(db.Float())
    S_olfactory = db.Column(db.Float())
    S_tactile = db.Column(db.Float())
Ejemplo n.º 9
0
class BaseDocument(db.Model):
    __abstract__ = True

    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.Text())
    features = db.Column(db.ARRAY(db.Float()))
    wc = db.Column(db.Integer)

    def __init__(self, text):
        self.text = text
        self.wc = wc

    @property
    def json(self):
        return {
            "text": self.text,
            "features": self.features,
            "wc": self.wc
        }


    def compute_features(self):
        # Duplicate every apostrophe: this is for PostgreSQL, since apostrophe's are escaped by themselves
        text = self.text.replace("'", "''")

        # Split the text into words and get the document's count for every word
        words = text.split(" ")
        count = Counter(words)
        vocab = list(count.keys())

        total = np.zeros(FEATURES)
        sub = np.zeros(FEATURES)

        # Set up query input: ["Hello", "world"] => '{"Hello", "world"}'
        q = '{"' + '", "'.join(vocab) + '"}'

        # Get word features and convert to dictionary
        wordfs = db.session.execute(f"SELECT * FROM match_words('{q}');").fetchall() #! approx 0.2second/1k words
        wordfs = {x[0]: x[1:] for x in wordfs}

        for word in wordfs:

            wordf = wordfs[word]

            # Convert wordf into a numpy array called new
            new = np.array(wordf, dtype=float) 

            # Keep track of zero-valued continuous features
            sub += ((FLOATS == True) & np.isnan(new)) * count[word]

            # Aggregate feature values within total
            total += np.nan_to_num(new, 0) * count[word]

        # set(count) - set(wordfs) is the set of words in the document not in the Words table
        for word in set(count) - set(wordfs):
            sub += (FLOATS == True) * count[word]

        # For categoricals: calculate the average, and thus probability of words belonging to a given category, by total / |D|
        # For continuous values: calculate the non-zero average (this is why `sub` is needed!)
        # It can be the case that len(words) = sub, that is to say a division by 0 may be imminent.
        # This happens when a continuous value is always None for a given document. We don't really care for this and we can just ignore it.
        # If this were to happen though, make sure to convert them to 0.
        with np.errstate(divide='ignore',invalid='ignore'):
            total = total / (len(words) - sub).astype('float')
            total = np.nan_to_num(total, 0)

        total = total.tolist()

        # average word length is a last-second feature, deal with double apostrophe
        # avg_word_len = (sum(map(len, words)) - text.count("''")) / float(len(words)) 
        # total.append(avg_word_len)

        self.features = total

        return self.features