Here are the examples of the python api sqlalchemy.func.array_length taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
3 Examples
0
Source : notices.py
with MIT License
from OneGov
with MIT License
from OneGov
def count_by_organization(self):
""" Returns the total number of notices by organizations.
Returns a tuple ``(organization name, number of notices)``
for each organization. Filters by the state of the collection.
"""
result = self.session.query(
GazetteNotice.organization,
GazetteNotice._issues.keys()
)
result = result.filter(
GazetteNotice.organization.isnot(None),
func.array_length(GazetteNotice._issues.keys(), 1) != 0
)
if self.state:
result = result.filter(GazetteNotice.state == self.state)
if self.issues:
result = result.filter(GazetteNotice._issues.has_any(self.issues))
result = result.order_by(GazetteNotice.organization)
issues = set(self.issues or [])
operation = issues.intersection if issues else issues.union
return [
(
group[0],
sum([len(operation(set(x[1]))) for x in group[1]])
)
for group in groupbylist(result, lambda a: a[0])
]
def count_by_category(self):
0
Source : notices.py
with MIT License
from OneGov
with MIT License
from OneGov
def count_by_category(self):
""" Returns the total number of notices by categories.
Returns a tuple ``(category name, number of notices)``
for each category. Filters by the state of the collection.
"""
result = self.session.query(
GazetteNotice.category,
GazetteNotice._issues.keys()
)
result = result.filter(
GazetteNotice.category.isnot(None),
func.array_length(GazetteNotice._issues.keys(), 1) != 0
)
if self.state:
result = result.filter(GazetteNotice.state == self.state)
if self.issues:
result = result.filter(GazetteNotice._issues.has_any(self.issues))
result = result.order_by(GazetteNotice.category)
issues = set(self.issues or [])
operation = issues.intersection if issues else issues.union
return [
(
group[0],
sum([len(operation(set(x[1]))) for x in group[1]])
)
for group in groupbylist(result, lambda a: a[0])
]
def count_by_group(self):
0
Source : notices.py
with MIT License
from OneGov
with MIT License
from OneGov
def count_by_group(self):
""" Returns the total number of notices by groups.
Returns a tuple ``(group name, number of notices)``
for each group. Filters by the state of the collection.
"""
result = self.session.query(
UserGroup.name,
GazetteNotice._issues.keys()
)
result = result.filter(
GazetteNotice.group_id == UserGroup.id,
func.array_length(GazetteNotice._issues.keys(), 1) != 0
)
if self.state:
result = result.filter(GazetteNotice.state == self.state)
if self.issues:
result = result.filter(GazetteNotice._issues.has_any(self.issues))
result = result.order_by(UserGroup.name)
issues = set(self.issues or [])
operation = issues.intersection if issues else issues.union
return [
(
group[0],
sum([len(operation(set(x[1]))) for x in group[1]])
)
for group in groupbylist(result, lambda a: a[0])
]
def count_rejected(self):