def verdicts(self):
     Verdict = ApiHandler.model_from_table_name('verdict')
     VerdictReviewer = ApiHandler.model_from_table_name('verdict_reviewer')
     verdict_reviewers = VerdictReviewer.query.filter_by(
         reviewerId=self.reviewerId)
     verdict_ids = [
         verdict_reviewer.verdict.id
         for verdict_reviewer in verdict_reviewers
     ]
     verdicts = Verdict.query.filter(Verdict.id.in_(verdict_ids)).all()
     return InstrumentedList(verdicts)
    def reviews(self):
        Review = ApiHandler.model_from_table_name('review')
        verdict_reviewer_ids = [
            verdictReviewer.reviewer.id
            for verdictReviewer in self.verdictReviewers
        ]
        reviews = Review.query.filter(
            (Review.contentId == self.contentId) &\
            (Review.reviewerId.in_(verdict_reviewer_ids))
        ).all()

        return InstrumentedList(reviews)
Exemple #3
0
def keep_not_saved_trendings(trendings, table_name):
    model = ApiHandler.model_from_table_name(table_name)

    identifier_key = 'buzzsumoIdentifier' if table_name == 'content' \
                                          else 'poynterIdentifier'

    already_saved_identifiers = [
        str(trending[identifier_key]) for trending in trendings
    ]
    is_already_saved_query = getattr(
        model, identifier_key).in_(already_saved_identifiers)
    already_saved_entities = model.query \
                          .filter(is_already_saved_query) \
                          .all()

    saved_source_ids = [
        getattr(saved_entity, identifier_key)
        for saved_entity in already_saved_entities
    ]

    return [
        trending for trending in trendings
        if trending[identifier_key] not in saved_source_ids
    ]
def get_graph(collection_name, entity_id):
    table_name = inflect.engine().singular_noun(collection_name)
    model = ApiHandler.model_from_table_name(table_name)
    entity = load_or_404(model, entity_id)
    graph = graph_from_entity(entity, shortcutted_types=SHORTCUTTED_TYPES)
    return jsonify(graph), 200