Skip to content

Commit 91aab31

Browse files
pkkingpraiskup
authored andcommitted
add packages count at homepage
Signed-off-by: Li Chaoran <[email protected]>
1 parent 6857443 commit 91aab31

File tree

6 files changed

+20
-4
lines changed

6 files changed

+20
-4
lines changed

frontend/coprs_frontend/config/copr.conf

+2-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,8 @@ HIDE_IMPORT_LOG_AFTER_DAYS = 14
171171
# OIDC_TOKEN_URL=""
172172
# OIDC_USERINFO_URL=""
173173

174-
174+
# Whether to show a total packages count at homepage
175+
# PACKAGES_COUNT = False
175176

176177
#############################
177178
##### DEBUGGING Section #####

frontend/coprs_frontend/coprs/config.py

+2
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ class Config(object):
175175
# OIDC is opt-in
176176
OIDC_LOGIN = False
177177

178+
PACKAGES_COUNT = False
179+
178180
class ProductionConfig(Config):
179181
DEBUG = False
180182
# SECRET_KEY = "put_some_secret_here"

frontend/coprs_frontend/coprs/logic/packages_logic.py

+7
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@
2121

2222
class PackagesLogic(object):
2323

24+
@classmethod
25+
def count(cls):
26+
"""
27+
Get packages count
28+
"""
29+
return models.Package.query.count()
30+
2431
@classmethod
2532
def get_by_id(cls, package_id):
2633
return models.Package.query.filter(models.Package.id == package_id)
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
<h2>
22
Copr hosts <span>{{ projects_count |int_with_commas }}</span> projects from
33
<br>
4-
<span>{{ users_count |int_with_commas }}</span> Fedora users
4+
<span>{{ users_count |int_with_commas }}</span> Fedora users{% if packages_count %} with
5+
<br>
6+
<span>{{ packages_count | int_with_commas }}</span> packages
7+
{% endif %}
58
</h2>

frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
from coprs.views.coprs_ns import coprs_ns
4747

48-
from coprs.logic import builds_logic, coprs_logic, actions_logic, users_logic
48+
from coprs.logic import builds_logic, coprs_logic, actions_logic, users_logic, packages_logic
4949
from coprs.helpers import generate_repo_url, \
5050
url_for_copr_view, CounterStatType
5151

@@ -86,6 +86,8 @@ def coprs_show(page=1):
8686
# users_count = models.User.query.count()
8787
users_count = users_logic.UsersLogic.get_multiple_with_projects().count()
8888

89+
packages_count = packages_logic.PackagesLogic.count() if app.config.get("PACKAGES_COUNT", False) else None
90+
8991
# flask.g.user is none when no user is logged - showing builds from everyone
9092
# TODO: builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 5) takes too much time, optimize sql
9193
# users_builds = builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 5)
@@ -100,6 +102,7 @@ def coprs_show(page=1):
100102
recent=recent,
101103
projects_count=projects_count,
102104
users_count=users_count,
105+
packages_count=packages_count,
103106
paginator=paginator,
104107
tasks_info=ComplexLogic.get_queue_sizes_cached(),
105108
users_builds=users_builds,

pylintrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ max-attributes=7
129129
min-public-methods=1
130130

131131
# Maximum number of public methods for a class (see R0904).
132-
max-public-methods=20
132+
max-public-methods=21
133133

134134

135135
[FORMAT]

0 commit comments

Comments
 (0)