コード例 #1
0
class BaseAttr(db.Model):
    __abstract__ = True
    __table_args__ = {"schema": "attrs"}
    id = db.Column(db.String(10), primary_key=True)
    name = db.Column(db.String())
    HEADERS = ["id", "name"]

    @classmethod
    def parents(cls, attr_id):
        raise Exception("Not implemented!")

    @classmethod
    def children(cls, attr_id):
        raise Exception("Not implemented!")

    def serialize(self):
        return {
            key: val
            for key, val in self.__dict__.items() if not key.startswith("_")
        }

    def data_serialize(self):
        return [self.id, self.name]

    def __repr__(self):
        return '<{}, id: {}, name: {}>'.format(self.__class__, self.id,
                                               self.name)
コード例 #2
0
class PumsNaics(BaseAttr, ImageAttr):
    __tablename__ = 'pums_naics'
    __table_args__ = {"schema": "pums_attrs"}
    id = db.Column(db.String(10), primary_key=True)
    level = db.Column(db.Integer, primary_key=True)
    parent = db.Column(db.String, db.ForeignKey(id))
    grandparent = db.Column(db.String, db.ForeignKey(id))

    @classmethod
    def children(cls, naics_id, **kwargs):
        objs = PumsNaics.query.filter(PumsNaics.parent == naics_id)
        data = [[obj.id, obj.name] for obj in objs if obj.id != naics_id]
        return data, PumsNaics.HEADERS

    @classmethod
    def parents(cls, naics_id, **kwargs):
        naics_obj = PumsNaics.query.filter_by(id=naics_id).first()
        tmp = []
        if naics_obj and naics_obj.grandparent:
            tmp.append(
                PumsNaics.query.filter_by(id=naics_obj.grandparent).first())
        if naics_obj and naics_obj.parent:
            tmp.append(PumsNaics.query.filter_by(id=naics_obj.parent).first())
        tmp = [[x.id, x.name] for x in tmp if x]
        return tmp, PumsNaics.HEADERS
コード例 #3
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
class YgcPostDischarge(AutomapBase, DartmouthBase):
    __tablename__ = 'ygc_post_discharge'
    median_moe = 2

    cohort = db.Column(db.String(), primary_key=True)

    @classmethod
    def get_supported_levels(cls):
        return {"geo": [ALL, NATION, STATE, COUNTY], "cohort": [ALL]}
コード例 #4
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
class SkillBySoc(BaseOnet, SkillId):
    __tablename__ = "skills_by_soc"
    median_moe = 1

    soc = db.Column(db.String(), primary_key=True)
    value = db.Column(db.Float)
    value_rca = db.Column(db.Float)

    @classmethod
    def get_supported_levels(cls):
        return {"soc": ["all"], "skill": ["all"]}
コード例 #5
0
class NonMedUsePainMeds(BaseOpiods):
    __tablename__ = "non_medical_use_of_pain_releivers"
    median_moe = 1
    source_title = 'National Survey on Drug Use and Health'
    source_org = 'SAMHSA, Center for Behavioral Health Statistics and Quality'
    source_link = 'https://nsduhweb.rti.org/respweb/homepage.cfm'
    start_year = db.Column(db.Integer(), primary_key=True)
    year = db.Column(db.Integer(), primary_key=True)

    non_medical_use_of_pain_relievers = db.Column(db.String())
    non_medical_use_of_pain_relievers_lci = db.Column(db.String())
    non_medical_use_of_pain_relievers_uci = db.Column(db.String())

    @classmethod
    def get_supported_levels(cls):
        return {
            "year": [ALL],
            "start_year": [ALL],
            "geo": [ALL, NATION, STATE]
        }
コード例 #6
0
class HealthYg(AutomapBase, db.Model, BaseModel):
    __table_args__ = {"schema": "chr"}
    source_title = 'County Health Rankings'
    source_link = 'http://www.countyhealthrankings.org/'
    source_org = 'University of Wisconsin'
    __tablename__ = 'yg'
    median_moe = 1

    year = db.Column(db.String(), primary_key=True)
    geo = db.Column(db.String(), primary_key=True)

    @classmethod
    def get_supported_levels(cls):
        return {"geo": [ALL, STATE, COUNTY]}

    @classmethod
    def geo_filter(cls, level):
        if level == ALL:
            return True
        level_map = {STATE: "040", COUNTY: "050"}
        level_code = level_map[level]
        return cls.geo.startswith(level_code)
コード例 #7
0
class FAFYodm(BaseFreight, OriginGeo, DestGeo):
    __tablename__ = "yodm_faf"
    median_moe = 3
    year = db.Column(db.Integer(), primary_key=True)
    transportation_mode = db.Column(db.String(), primary_key=True)

    @classmethod
    def get_supported_levels(cls):
        return {
            "origin_geo": [STATE, COUNTY, ALL],
            "destination_geo": [STATE, COUNTY, ALL],
            "transportation_mode": [ALL]
        }
コード例 #8
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
class DefaultsYg(BaseEd, GeoId):
    __tablename__ = "yg_defaults"
    median_moe = 1.1

    year = db.Column(db.Integer(), primary_key=True)
    rate_type = db.Column(db.String())
    default_rate = db.Column(db.Float)
    num_defaults = db.Column(db.Integer)
    num_borrowers = db.Column(db.Integer)

    @classmethod
    def get_supported_levels(cls):
        return {"year": [ALL], "geo": GeoId.LEVELS}
コード例 #9
0
class BaseCbp(db.Model, BaseModel):
    __abstract__ = True
    __table_args__ = {"schema": "cbp"}
    source_title = 'County Business Patterns'
    source_link = 'http://www.census.gov/econ/cbp/'
    source_org = 'Census Bureau'

    est = db.Column(db.Integer())

    emp = db.Column(db.Integer())
    emp_nf = db.Column(db.String())
    empflag = db.Column(db.String())

    ap = db.Column(db.Float())
    ap_nf = db.Column(db.String())

    n1_4 = db.Column(db.Integer())
    n5_9 = db.Column(db.Integer())
    n20_49 = db.Column(db.Integer())
    n50_99 = db.Column(db.Integer())
    n100_249 = db.Column(db.Integer())
    n250_499 = db.Column(db.Integer())
    n500_999 = db.Column(db.Integer())
    n1000 = db.Column(db.Integer())
    n1000_1 = db.Column(db.Integer())
    n1000_2 = db.Column(db.Integer())
    n1000_3 = db.Column(db.Integer())
    n1000_4 = db.Column(db.Integer())

    @classmethod
    def geo_filter(cls, level):
        if level == ALL:
            return True
        level_map = {NATION: "010", STATE: "040", MSA: "310", COUNTY: "050"}
        level_code = level_map[level]
        return cls.geo.startswith(level_code)
コード例 #10
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
class DefaultsYu(BaseEd, UniversityCols):
    __tablename__ = "yu_defaults"
    median_moe = 1

    year = db.Column(db.Integer(), primary_key=True)
    rate_type = db.Column(db.String())
    default_rate = db.Column(db.Float)
    num_defaults = db.Column(db.Integer)
    num_borrowers = db.Column(db.Integer)

    @classmethod
    def get_supported_levels(cls):
        return {
            "year": [ALL],
            "university": [ALL],
            "opeid": [ALL],
        }
コード例 #11
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
class DefaultsYure(BaseEd, UniversityCols):
    __tablename__ = "yure_defaults"
    median_moe = 3

    year = db.Column(db.Integer(), primary_key=True)
    rate_type = db.Column(db.String(), primary_key=True)
    ethnic_code = db.Column(db.Integer(), primary_key=True)

    @classmethod
    def get_supported_levels(cls):
        return {
            "year": [ALL],
            "university": [ALL],
            "opeid": [ALL],
            "rate_type": [ALL],
            "ethnic_code": [ALL],
        }
コード例 #12
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
class GradRateTimeframeYut(BaseIpeds, UniversityId):
    __tablename__ = "gradrate_timeframe_yut"

    year = db.Column(db.Integer(), primary_key=True)
    timeframe = db.Column(db.String(), primary_key=True)
    num_completed_ba = db.Column(db.Float)
    pct_completed_ba = db.Column(db.Float)

    median_moe = 1.5

    @classmethod
    def get_supported_levels(cls):
        return {
            "year": [ALL],
            "timeframe": [ALL],
            "university": UniversityId.LEVELS
        }
コード例 #13
0
class PumsSoc(BaseAttr, ImageAttr):
    __tablename__ = 'pums_soc'
    __table_args__ = {"schema": "pums_attrs"}
    id = db.Column(db.String(10), primary_key=True)
    level = db.Column(db.Integer, primary_key=True)
    parent = db.Column(db.String)
    grandparent = db.Column(db.String)
    great_grandparent = db.Column(db.String)

    @classmethod
    def parents(cls, soc_id, **kwargs):
        soc_hobj = SocHierarchy.query.filter_by(soc=soc_id).first()
        parents = [soc_hobj.great_grandparent_obj, soc_hobj.grandparent_obj, soc_hobj.parent_obj]
        data = [[p.id, p.name] for p in parents if p]
        return data, PumsNaics.HEADERS

    @classmethod
    def children(cls, soc_id, **kwargs):
        objs = SocHierarchy.query.filter_by(parent=soc_id).all()
        data = [[obj.soc_obj.id, obj.soc_obj.name] for obj in objs]
        return data, PumsSoc.HEADERS
コード例 #14
0
 def birthplace(cls):
     return db.Column(db.String(),
                      db.ForeignKey(PumsBirthplace.id),
                      primary_key=True)
コード例 #15
0
 def sex(cls):
     return db.Column(db.String(),
                      db.ForeignKey(PumsSex.id),
                      primary_key=True)
コード例 #16
0
 def wage_bin(cls):
     return db.Column(db.String(),
                      db.ForeignKey(PumsWage.id),
                      primary_key=True)
コード例 #17
0
 def naics(cls):
     return db.Column(db.String(),
                      db.ForeignKey(PumsNaics.id),
                      primary_key=True)
コード例 #18
0
 def degree(cls):
     return db.Column(db.String(),
                      db.ForeignKey(PumsDegree.id),
                      primary_key=True)
コード例 #19
0
 def cip(cls):
     return db.Column(db.String(), db.ForeignKey(Cip.id), primary_key=True)
コード例 #20
0
 def acs_occ(cls):
     return db.Column(db.String(),
                      db.ForeignKey(AcsOcc.id),
                      primary_key=True)
コード例 #21
0
 def ipeds_expense(cls):
     return db.Column(db.String(), db.ForeignKey(IPedsExpense.id), primary_key=True)
コード例 #22
0
class OpiodOverdoseDeathRate(BaseOpiods):
    __tablename__ = "opioid_overdose_deathrate"
    median_moe = 1
    source_link = 'https://www.kff.org/other/state-indicator/opioid-overdose-death-rates/?currentTimeframe=0&sortModel=%7B%22colId%22:%22Location%22,%22sort%22:%22asc%22%7D'
    year = db.Column(db.Integer(), primary_key=True)
    opioid_overdose_deathrate_ageadjusted = db.Column(db.String())
コード例 #23
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
 def opeid(cls):
     return db.Column(db.String(), primary_key=True)
コード例 #24
0
 def academic_rank(cls):
     return db.Column(db.String(), db.ForeignKey(AcademicRank.id), primary_key=True)
コード例 #25
0
 def sctg(cls):
     return db.Column(db.String(), db.ForeignKey(Sctg.id), primary_key=True)
コード例 #26
0
 def ipeds_occ(cls):
     return db.Column(db.String(), db.ForeignKey(IPedsOcc.id), primary_key=True)
コード例 #27
0
 def geo(cls):
     return db.Column(db.String(), db.ForeignKey(Geo.id), primary_key=True)
コード例 #28
0
 def language(cls):
     return db.Column(db.String(),
                      db.ForeignKey(AcsLanguage.id),
                      primary_key=True)
コード例 #29
0
 def acs_ind(cls):
     return db.Column(db.String(),
                      db.ForeignKey(AcsInd.id),
                      primary_key=True)
コード例 #30
0
ファイル: models.py プロジェクト: uaedpolicy/datausa-api
 def skill(cls):
     return db.Column(db.String(),
                      db.ForeignKey(Skill.id),
                      primary_key=True)