Skip to content

Commit cd204a1

Browse files
committed
Now with latest packages out of the database.
1 parent d9d723d commit cd204a1

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

app/ch10_using_sqlachemy/final/pypi_org/data/db_session.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def global_init(db_file: str):
1919
conn_str = 'sqlite:///' + db_file.strip()
2020
print("Connecting to DB with {}".format(conn_str))
2121

22-
engine = sa.create_engine(conn_str, echo=False)
22+
engine = sa.create_engine(conn_str, echo=True)
2323
__factory = orm.sessionmaker(bind=engine)
2424

2525
# noinspection PyUnresolvedReferences

app/ch10_using_sqlachemy/final/pypi_org/services/package_service.py

+15-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
1+
from typing import List
2+
import sqlalchemy.orm
3+
14
import pypi_org.data.db_session as db_session
25
from pypi_org.data.package import Package
36
from pypi_org.data.releases import Release
47

58

6-
def get_latest_packages():
7-
return [
8-
{'name': 'flask', 'version': '1.2.3'},
9-
{'name': 'sqlalchemy', 'version': '2.2.0'},
10-
{'name': 'passlib', 'version': '3.0.0'},
11-
]
9+
def get_latest_releases(limit=10) -> List[Release]:
10+
session = db_session.create_session()
11+
12+
releases = session.query(Release). \
13+
options(sqlalchemy.orm.joinedload(Release.package)).\
14+
order_by(Release.created_date.desc()). \
15+
limit(limit). \
16+
all()
17+
18+
session.close()
19+
20+
return releases
1221

1322

1423
def get_package_count() -> int:

app/ch10_using_sqlachemy/final/pypi_org/templates/home/index.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ <h2>New releases</h2>
2727
Hot off the press: the newest project releases
2828
</div>
2929

30-
{% for p in packages %}
30+
{% for r in releases %}
3131
<div class="project">
3232
<div class="title">
33-
<a href="#">{{ p.name }} {{ p.version }}</a>
34-
<div class="desc">THE DESC</div>
33+
<a href="#">{{ r.package.id }} {{ r.version_text }}</a>
34+
<div class="desc">{{ r.package.summary }}</div>
3535
</div>
3636
</div>
3737
{% endfor %}

app/ch10_using_sqlachemy/final/pypi_org/views/home_views.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010
@blueprint.route('/')
1111
@response(template_file='home/index.html')
1212
def index():
13-
test_packages = package_service.get_latest_packages()
1413
return {
15-
'packages': test_packages,
14+
'releases': package_service.get_latest_releases(),
1615
'package_count': package_service.get_package_count(),
1716
'release_count': package_service.get_release_count(),
1817
'user_count': user_service.get_user_count(),
1918
}
20-
# return flask.render_template('home/index.html', packages=test_packages)
2119

2220

2321
@blueprint.route('/about')

0 commit comments

Comments
 (0)