Skip to content

Commit 181b118

Browse files
committed
Data inserted.
1 parent 95609b2 commit 181b118

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

apps/py/ch08_db/guitary/app.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import flask
22
from guitary.services import catalog_service
33
from guitary.data import session_factory
4+
from guitary.data import data_loader
45

56
app = flask.Flask(__name__)
67

@@ -20,6 +21,7 @@ def guitars(style: str = None):
2021
def main():
2122
session_factory.global_init('guitary.sqlite')
2223
session_factory.create_tables()
24+
data_loader.load_guitars_if_empty()
2325

2426
app.run(debug=True)
2527

apps/py/ch08_db/guitary/data/context_session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
class ContextSession:
55
def __init__(self, session: Session):
6-
self.session = session
6+
self.session: Session = session
77

88
def __enter__(self):
99
return self
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from guitary.data.guitar import Guitar
2+
from guitary.data import session_factory
3+
4+
5+
def load_guitars_if_empty():
6+
7+
with session_factory.create_session() as ctx:
8+
count = ctx.session.query(Guitar).count()
9+
if count > 0:
10+
print(f"Not adding new data, there are {count} guitars already.")
11+
return
12+
13+
guitars = [
14+
Guitar(name='AX Black', price=499, img='/static/img/guitars/ax-black.jpg', style='electric'),
15+
Guitar(name='Jet Black Electric', price=599, img='/static/img/guitars/jet-black-electric.jpg',
16+
style='electric'),
17+
Guitar(name='Weezer Classic', price=1499, img='/static/img/guitars/weezer-classic.jpg', style='electric'),
18+
Guitar(name='Acoustic Black', price=1298, img='/static/img/guitars/black-acoustic.jpg', style='acoustic'),
19+
Guitar(name='Mellow Yellow', price=799, img='/static/img/guitars/mellow-yellow.jpg', style='electric'),
20+
Guitar(name='White Vibes', price=699, img='/static/img/guitars/white-vibes.jpg', style='electric'),
21+
Guitar(name='Brush Riffs', price=599, img='/static/img/guitars/brushed-black-electric.jpg',
22+
style='electric'),
23+
Guitar(name="Nature's Song", price=799, img='/static/img/guitars/natures-song.jpg', style='electric'),
24+
Guitar(name='Electric Wood Grain', price=399, img='/static/img/guitars/woodgrain-electric.jpg',
25+
style='electric'),
26+
]
27+
28+
# Do work here...
29+
for guitar in guitars:
30+
ctx.session.add(guitar)
31+
32+
ctx.session.commit()
0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)