def filter_query(self, query): if self.medium_id.data: query = query.filter(Document.medium_id == self.medium_id.data) if self.user_id.data: query = query.filter(Document.created_by_user_id == self.user_id.data) if self.created_from: query = query.filter(Document.created_at >= self.created_from) if self.created_to: query = query.filter(Document.created_at <= self.created_to) if self.published_from: query = query.filter(Document.published_at >= self.published_from) if self.published_to: query = query.filter(Document.published_at <= self.published_to) if self.problems.data: for code in self.problems.data: query = DocumentAnalysisProblem.lookup(code).filter_query(query) return query
def filter_query(self, query): query = query.filter( Document.analysis_nature_id == self.analysis_nature_id.data) if self.cluster_id.data: query = query.join(ClusteredDocument)\ .filter(ClusteredDocument.cluster_id == self.cluster_id.data) if self.medium_id.data: query = query.filter(Document.medium_id.in_(self.medium_id.data)) if self.user_id.data: if self.user_id.data == '-': query = query.filter( or_( Document.created_by_user_id == None, # noqa Document.checked_by_user_id == None)) else: query = query.filter( or_(Document.created_by_user_id == self.user_id.data, Document.checked_by_user_id == self.user_id.data)) if self.country_id.data: query = query.filter(Document.country_id.in_(self.country_id.data)) if self.created_from: query = query.filter(Document.created_at >= self.created_from) if self.created_to: query = query.filter(Document.created_at <= self.created_to) if self.published_from: query = query.filter(Document.published_at >= self.published_from) if self.published_to: query = query.filter(Document.published_at <= self.published_to) if self.source_person_id.data: query = query\ .join(DocumentSource)\ .filter(DocumentSource.person_id == self.source_person_id.data) if self.problems.data: for code in self.problems.data: query = DocumentAnalysisProblem.lookup(code).filter_query( query) if self.flagged.data: query = query.filter(Document.flagged == True) # noqa if self.has_url.data == '1': query = query.filter(Document.url != None, Document.url != '') # noqa elif self.has_url.data == '0': query = query.filter(or_(Document.url == None, Document.url == '')) # noqa if self.q.data: # full text search query = query.filter( FullTextSearch(self.q.data, Document, FullTextMode.NATURAL)) if self.tags.data: tags = set(f for f in re.split('\s*,\s*', self.tags.data) if f) for tag in tags: query = query.filter(Document.tags.contains(tag)) return query
def get_problems(self): return [ DocumentAnalysisProblem.lookup(code) for code in self.problems.data ]
def filter_query(self, query): query = query.filter(Document.analysis_nature_id == self.analysis_nature_id.data) if self.cluster_id.data: query = query.join(ClusteredDocument)\ .filter(ClusteredDocument.cluster_id == self.cluster_id.data) if self.medium_id.data: query = query.filter(Document.medium_id.in_(self.medium_id.data)) if self.user_id.data: if self.user_id.data == '-': query = query.filter(or_( Document.created_by_user_id == None, # noqa Document.checked_by_user_id == None)) else: query = query.filter(or_( Document.created_by_user_id == self.user_id.data, Document.checked_by_user_id == self.user_id.data)) if self.country_id.data: query = query.filter(Document.country_id.in_(self.country_id.data)) if self.created_from: query = query.filter(Document.created_at >= self.created_from) if self.created_to: query = query.filter(Document.created_at <= self.created_to) if self.published_from: query = query.filter(Document.published_at >= self.published_from) if self.published_to: query = query.filter(Document.published_at <= self.published_to) if self.source_person_id.data: query = query\ .join(DocumentSource)\ .filter(DocumentSource.person_id == self.source_person_id.data) if self.problems.data: for code in self.problems.data: query = DocumentAnalysisProblem.lookup(code).filter_query(query) if self.flagged.data: query = query.filter(Document.flagged == True) # noqa if self.has_url.data == '1': query = query.filter(Document.url != None, Document.url != '') # noqa elif self.has_url.data == '0': query = query.filter(or_(Document.url == None, Document.url == '')) # noqa if self.q.data: # full text search query = query.filter(FullTextSearch(self.q.data, Document, FullTextMode.NATURAL)) if self.tags.data: tags = set(f for f in re.split('\s*,\s*', self.tags.data) if f) for tag in tags: query = query.filter(Document.tags.contains(tag)) return query
def get_problems(self): return [DocumentAnalysisProblem.lookup(code) for code in self.problems.data]