示例#1
0
 def get(self, committee_id, **kwargs):
     totals_class, totals_schema = totals_schema_map.get(
         self._resolve_committee_type(committee_id, kwargs), default_schemas
     )
     totals = self.get_totals(committee_id, totals_class, kwargs)
     page = utils.fetch_page(totals, kwargs)
     return totals_schema().dump(page).data
示例#2
0
 def get(self, **kwargs):
     if kwargs.get('form_type') and 'RFAI' in kwargs.get('form_type'):
         #Adds FRQ types if RFAI was requested
         kwargs.get('form_type').append('FRQ')
     query = self.build_query(**kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query, kwargs, model=models.Filings, count=count, multi=True)
示例#3
0
文件: totals.py 项目: syyunn/openFEC
 def get(self, committee_id=None, committee_type=None, **kwargs):
     query, totals_class, totals_schema = self.build_query(
         committee_id=committee_id.upper(),
         committee_type=committee_type,
         **kwargs)
     page = utils.fetch_page(query, kwargs, model=totals_class)
     return totals_schema().dump(page).data
示例#4
0
 def get(self, **kwargs):
     query = self.build_query(**kwargs)
     count, _ = counts.get_count(query, models.db.session)
     return utils.fetch_page(query,
                             kwargs,
                             model=models.EFilings,
                             count=count)
示例#5
0
 def get(self, committee_id=None, committee_type=None, **kwargs):
     query, reports_class, reports_schema = self.get_reports(committee_id, committee_type, kwargs)
     validator = args.IndexValidator(reports_class)
     for key in kwargs['sort']:
         validator(key)
     page = utils.fetch_page(query, kwargs, model=reports_class)
     return reports_schema().dump(page).data
示例#6
0
 def get(self, **kwargs):
     query = self.build_query(**kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query,
                             kwargs,
                             model=models.Filings,
                             count=count)
示例#7
0
 def get(self, committee_id=None, **kwargs):
     query = self.build_query(committee_id=committee_id, **kwargs)
     count = counts.count_estimate(query, models.db.session)
     return utils.fetch_page(query,
                             kwargs,
                             model=self.model,
                             count=count,
                             index_column=self.index_column)
示例#8
0
 def get(self, **kwargs):
     label_columns = [
         ScheduleABySize.size,
         sa.func.sum(ScheduleABySize.total).label('total'),
     ]
     group_columns = [ScheduleABySize.size]
     _, query = candidate_aggregate(ScheduleABySize, label_columns, group_columns, kwargs)
     return utils.fetch_page(query, kwargs, cap=None)
示例#9
0
文件: views.py 项目: adborden/openFEC
 def get(self, *args, **kwargs):
     query = self.build_query(*args, **kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(
         query, kwargs,
         count=count, model=self.model, join_columns=self.join_columns, aliases=self.aliases,
         index_column=self.index_column, cap=self.cap,
     )
示例#10
0
 def get(self, committee_id, **kwargs):
     totals_class, totals_schema = totals_schema_map.get(
         self._resolve_committee_type(committee_id, kwargs),
         default_schemas,
     )
     totals = self.get_totals(committee_id, totals_class, kwargs)
     page = utils.fetch_page(totals, kwargs)
     return totals_schema().dump(page).data
示例#11
0
    def get(self, committee_type=None, **kwargs):
        if committee_type:
            self.model, self.schema, self.page_schema = \
                efile_reports_schema_map.get(form_type_map.get(committee_type))
        query = self.build_query(**kwargs)

        count = counts.count_estimate(query, models.db.session, threshold=5000)
        return utils.fetch_page(query, kwargs, model=self.model, count=count)
示例#12
0
 def get(self, committee_id=None, committee_type=None, **kwargs):
     query, reports_class, reports_schema = self.get_reports(
         committee_id, committee_type, kwargs)
     validator = args.IndexValidator(reports_class)
     for key in kwargs['sort']:
         validator(key)
     page = utils.fetch_page(query, kwargs, model=reports_class)
     return reports_schema().dump(page).data
示例#13
0
文件: totals.py 项目: syyunn/openFEC
 def get(self, candidate_id, **kwargs):
     query, totals_class, totals_schema = self.build_query(
         candidate_id=candidate_id.upper(), **kwargs)
     if kwargs['sort']:
         validator = args.IndexValidator(totals_class)
         validator(kwargs['sort'])
     page = utils.fetch_page(query, kwargs, model=totals_class)
     return totals_schema().dump(page).data
示例#14
0
 def get(self, committee_id=None, committee_type=None, **kwargs):
     query, reports_class, reports_schema = self.build_query(
         committee_id=committee_id, committee_type=committee_type, **kwargs)
     if kwargs['sort']:
         validator = args.IndicesValidator(reports_class)
         validator(kwargs['sort'])
     page = utils.fetch_page(query, kwargs, model=reports_class, multi=True)
     return reports_schema().dump(page).data
 def get(self, **kwargs):
     label_columns = [
         ScheduleABySize.size,
         sa.func.sum(ScheduleABySize.total).label('total'),
     ]
     group_columns = [ScheduleABySize.size]
     _, query = candidate_aggregate(ScheduleABySize, label_columns, group_columns, kwargs)
     return utils.fetch_page(query, kwargs, cap=None)
示例#16
0
 def get(self, committee_id=None, committee_type=None, **kwargs):
     query, totals_class, totals_schema = self.build_query(
         committee_id=committee_id, committee_type=committee_type, **kwargs)
     if kwargs['sort']:
         validator = args.IndexValidator(totals_class)
         validator(kwargs['sort'])
     page = utils.fetch_page(query, kwargs, model=totals_class)
     return totals_schema().dump(page).data
示例#17
0
 def get(self, committee_id=None, committee_type=None, **kwargs):
     query, reports_class, reports_schema = self.build_query(
         committee_id=committee_id, committee_type=committee_type, **kwargs
     )
     if kwargs["sort"]:
         validator = args.IndexValidator(reports_class)
         validator(kwargs["sort"])
     page = utils.fetch_page(query, kwargs, model=reports_class)
     return reports_schema().dump(page).data
 def get(self, **kwargs):
     query = candidate_aggregate(
         ScheduleAByState,
         [
             ScheduleAByState.state,
             sa.func.max(ScheduleAByState.state_full).label('state_full'),
         ],
         [ScheduleAByState.state],
         kwargs,
     )
     return utils.fetch_page(query, kwargs, cap=0)
示例#19
0
文件: reports.py 项目: 18F/openFEC
 def get(self, committee_type=None, **kwargs):
     committee_id = kwargs.get('committee_id')
     query, reports_class, reports_schema = self.build_query(
         committee_type=committee_type,
         **kwargs
     )
     if kwargs['sort']:
         validator = args.IndicesValidator(reports_class)
         validator(kwargs['sort'])
     page = utils.fetch_page(query, kwargs, model=reports_class, multi=True)
     return reports_schema().dump(page).data
示例#20
0
 def get(self, **kwargs):
     query = candidate_aggregate(
         ScheduleAByState,
         [
             ScheduleAByState.state,
             sa.func.max(ScheduleAByState.state_full).label('state_full'),
         ],
         [ScheduleAByState.state],
         kwargs,
     )
     return utils.fetch_page(query, kwargs, cap=0)
示例#21
0
文件: totals.py 项目: gboone/openFEC
 def get(self, committee_id, **kwargs):
     totals_class, totals_schema = totals_schema_map.get(
         self._resolve_committee_type(committee_id, kwargs),
         default_schemas,
     )
     validator = args.IndexValidator(totals_class)
     for key in kwargs['sort']:
         validator(key)
     totals = self.get_totals(committee_id, totals_class, kwargs)
     page = utils.fetch_page(totals, kwargs, model=totals_class)
     return totals_schema().dump(page).data
示例#22
0
    def get(self, *args, **kwargs):
        query = self.build_query(*args, **kwargs)
        count = counts.count_estimate(query, models.db.session)
        multi = False
        if isinstance(kwargs['sort'], (list, tuple)):
            multi = True

        return utils.fetch_page(
            query, kwargs,
            count=count, model=self.model, join_columns=self.join_columns, aliases=self.aliases,
            index_column=self.index_column, cap=self.cap, multi=multi,
        )
示例#23
0
    def get(self, committee_type=None, **kwargs):
        if committee_type:
            self.model, self.schema, self.page_schema = \
                efile_reports_schema_map.get(form_type_map.get(committee_type))
            #Filters need to be set dynamically at runtime (otherwise sql alchemy couldn't
            #determine proper table repid for the join operation)
            self.filter_multi_fields[0] = ('file_number',
                                           self.model.file_number)
        query = self.build_query(**kwargs)

        count = counts.count_estimate(query, models.db.session, threshold=5000)
        return utils.fetch_page(query, kwargs, model=self.model, count=count)
示例#24
0
 def get(self, *args, **kwargs):
     query = self.build_query(*args, **kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(
         query,
         kwargs,
         count=count,
         model=self.model,
         join_columns=self.join_columns,
         aliases=self.aliases,
         index_column=self.index_column,
         cap=self.cap,
     )
示例#25
0
 def get(self, **kwargs):
     _, query = candidate_aggregate(
         ScheduleAByState,
         [
             ScheduleAByState.state,
             sa.func.sum(ScheduleAByState.total).label('total'),
             sa.func.max(ScheduleAByState.state_full).label('state_full'),
             ScheduleAByState.count,
         ],
         [ScheduleAByState.state, ScheduleAByState.count],
         kwargs,
     )
     return utils.fetch_page(query, kwargs, cap=0)
示例#26
0
 def get(self, candidate_id, **kwargs):
     totals_model = totals_model_map[candidate_id[0]]
     kwargs['candidate_id'] = [candidate_id]
     rows, aggregates = self._get_aggregates(kwargs, totals_model)
     latest = self._get_latest(rows, totals_model).subquery()
     aggregates = aggregates.subquery()
     query = db.session.query(
         aggregates,
         latest,
     ).join(
         latest,
         aggregates.c.cand_id == latest.c.cand_id,
     )
     return utils.fetch_page(query, kwargs)
示例#27
0
    def get(self, **kwargs):
        _, query = candidate_aggregate(
            ScheduleAByState,
            [
                ScheduleAByState.state,
                sa.func.sum(ScheduleAByState.total).label('total'),
                sa.func.max(ScheduleAByState.state_full).label('state_full'),
                ScheduleAByState.count,
            ],
            [ScheduleAByState.state, ScheduleAByState.count],
            kwargs,
        )
        q = query.subquery()
        query = db.session.query(
            sa.func.sum(q.c.total).label('total'),
            sa.func.sum(q.c.count).label('count'),
            q.c.candidate_id.label('candidate_id'),
            q.c.cycle).group_by(q.c.candidate_id, q.c.cycle)

        return utils.fetch_page(query, kwargs, cap=0)
示例#28
0
 def get(self, candidate_id=None, committee_id=None, **kwargs):
     query = self.get_candidate(kwargs, candidate_id, committee_id)
     return utils.fetch_page(query, kwargs, model=models.CandidateDetail)
示例#29
0
 def get(self, candidate_id=None, committee_id=None, cycle=None, **kwargs):
     query = self.get_candidate(candidate_id, committee_id, cycle, kwargs)
     return utils.fetch_page(query, kwargs)
示例#30
0
 def get(self, **kwargs):
     query = self.get_committees(kwargs)
     return utils.fetch_page(query, kwargs)
示例#31
0
 def get(self, **kwargs):
     query = models.Filings.query
     query = filter_query(models.Filings, query, fields, kwargs)
     query = utils.filter_range(query, kwargs, range_fields)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query, kwargs, model=models.Filings, count=count)
示例#32
0
 def get(self, **kwargs):
     group_columns = [ScheduleAByContributorType.individual]
     query = candidate_aggregate(ScheduleAByContributorType, group_columns, group_columns, kwargs)
     return utils.fetch_page(query, kwargs, cap=0)
示例#33
0
 def get(self, committee_id=None, **kwargs):
     query = self._build_query(committee_id, kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query, kwargs, model=self.model, count=count)
示例#34
0
 def get(self, committee_id=None, candidate_id=None, cycle=None, **kwargs):
     query = self.get_committee(committee_id, candidate_id, cycle, kwargs)
     return utils.fetch_page(query, kwargs)
示例#35
0
 def get(self, **kwargs):
     query = self.get_committees(kwargs)
     return utils.fetch_page(query, kwargs, model=models.Committee)
示例#36
0
 def get(self, committee_id=None, candidate_id=None, cycle=None, **kwargs):
     query = self.get_committee(committee_id, candidate_id, cycle, kwargs)
     return utils.fetch_page(query, kwargs, model=models.CommitteeHistory)
示例#37
0
 def get(self, committee_id=None, **kwargs):
     query = self.build_query(committee_id=committee_id, **kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query, kwargs, model=self.model, count=count, index_column=self.index_column)
示例#38
0
 def get(self, committee_id=None, **kwargs):
     query = self._build_query(committee_id, kwargs)
     return utils.fetch_page(query, kwargs, model=self.model)
示例#39
0
 def get(self, **kwargs):
     query = self.build_query(**kwargs)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query, kwargs, model=models.Filings, count=count)
 def get(self, **kwargs):
     group_columns = [ScheduleABySize.size]
     query = candidate_aggregate(ScheduleABySize, group_columns, group_columns, kwargs)
     return utils.fetch_page(query, kwargs, cap=None)
示例#41
0
 def get(self, **kwargs):
     query = self.get_candidates(kwargs)
     return utils.fetch_page(query, kwargs, model=models.Candidate)
示例#42
0
 def get(self, candidate_id=None, committee_id=None, cycle=None, **kwargs):
     query = self.get_candidate(candidate_id, committee_id, cycle, kwargs)
     return utils.fetch_page(query, kwargs, model=models.CandidateHistory)
示例#43
0
 def get(self, **kwargs):
     query = self._get_elections(kwargs)
     return utils.fetch_page(query, kwargs)
示例#44
0
 def get(self, **kwargs):
     query = self.get_candidates(kwargs)
     return utils.fetch_page(query, kwargs, model=models.Candidate)
示例#45
0
 def get(self, **kwargs):
     query = self.build_query(**kwargs)
     return utils.fetch_page(query, kwargs, model=self.model, join_columns=self.join_columns)
示例#46
0
 def get(self, committee_id=None, **kwargs):
     query = self._build_query(committee_id, kwargs)
     return utils.fetch_page(query, kwargs, model=self.model)
示例#47
0
 def get(self, **kwargs):
     query = self._get_records(kwargs)
     return utils.fetch_page(query, kwargs, cap=0)
示例#48
0
 def get(self, **kwargs):
     query = self._get_elections(kwargs)
     return utils.fetch_page(query, kwargs, model=ElectionsList, multi=True)
示例#49
0
文件: elections.py 项目: 18F/openFEC
 def get(self, **kwargs):
     query = self._get_elections(kwargs)
     return utils.fetch_page(query, kwargs, model=ElectionsList, multi=True)
示例#50
0
 def get(self, committee_id=None, **kwargs):
     query = models.Filings.query
     query = query.filter_by(committee_id=committee_id)
     count = counts.count_estimate(query, models.db.session, threshold=5000)
     return utils.fetch_page(query, kwargs, model=models.Filings, count=count)
示例#51
0
 def get(self, **kwargs):
     query = self.model.query
     query = filter_query(self.model, query, self.filter_fields, kwargs)
     query = filter_upcoming(query, self.date_column, kwargs)
     return utils.fetch_page(query, kwargs, model=self.model)
示例#52
0
文件: dates.py 项目: mbland/openFEC
 def get(self, **kwargs):
     query = self.model.query
     query = filter_query(self.model, query, self.filter_fields, kwargs)
     query = filter_upcoming(query, self.date_column, kwargs)
     return utils.fetch_page(query, kwargs, model=self.model)
示例#53
0
 def get(self, candidate_id=None, committee_id=None, **kwargs):
     query = self.get_candidate(kwargs, candidate_id, committee_id)
     return utils.fetch_page(query, kwargs, model=models.CandidateDetail)