forked from learn-co-curriculum/python-p3-freebie-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdebug.py
More file actions
61 lines (42 loc) · 1.58 KB
/
debug.py
File metadata and controls
61 lines (42 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# #!/usr/bin/env python3
# lib/debug.py
from models import Dev
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///freebie_tracker.db')
Session = sessionmaker(bind=engine)
session = Session()
# List all devs and their freebies
for dev in session.query(Dev).all():
print(f"{dev.name} has freebies:")
for freebie in dev.freebies:
print(f" - {freebie.item_name} (${freebie.value}) from {freebie.company.name}")
# from models import Company, Dev, Freebie
# from database import session
# import ipdb
# ipdb.set_trace()
# # Once inside the ipdb console, try commands like:
# # List all devs and their freebies
# for dev in session.query(Dev).all():
# print(f"{dev.name} has freebies:")
# for freebie in dev.freebies:
# print(f" - {freebie.print_details()}")
# # Oldest company
# oldest = Company.oldest_company(session)
# print(f"Oldest company: {oldest.name}")
# # Give a freebie
# company = session.query(Company).first()
# dev = session.query(Dev).first()
# new_freebie = company.give_freebie(dev, "Notebook", 5)
# print(new_freebie.print_details())
# # Check if dev received a specific freebie
# print(dev.received_one("Notebook"))
# # Give away a freebie
# other_dev = session.query(Dev).filter(Dev.id != dev.id).first()
# success = dev.give_away(other_dev, new_freebie)
# print(f"Give away successful? {success}")
# from sqlalchemy import create_engine
# from models import Company, Dev
# if __name__ == '__main__':
# engine = create_engine('sqlite:///freebies.db')
# import ipdb; ipdb.set_trace()