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
57 lines (39 loc) · 1.41 KB
/
debug.py
File metadata and controls
57 lines (39 loc) · 1.41 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
#!/usr/bin/env python3
from models import Company, Dev, Freebie, session
def fetch_dev_by_name(name):
dev = session.query(Dev).filter_by(name=name).first()
if dev is None:
print(f"No developer found with the name: {name}")
return dev
def fetch_freebie():
freebie = session.query(Freebie).first()
if freebie is None:
print("No freebies found in the database.")
return freebie
def fetch_oldest_company():
oldest_company = Company.oldest_company()
if oldest_company is None:
print("No companies found in the database.")
return oldest_company
def main():
# interactive debugger session
import ipdb; ipdb.set_trace()
# Fetching Developer (Alice)
dev = fetch_dev_by_name('Alice')
if dev:
print(f"Developer: {dev.name}")
print("Freebies associated with Alice:")
for freebie in dev.freebies:
print(freebie.print_details())
# Fetching Freebie and print its details
freebie = fetch_freebie()
if freebie:
print(f"Freebie details: {freebie.print_details()}")
# Finding the oldest company and print its details
oldest_company = fetch_oldest_company()
if oldest_company:
print(f"Oldest company: {oldest_company.name}, Founded in {oldest_company.founding_year}")
# Closes the session after all operations
session.close()
if __name__ == "__main__":
main()