-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlibsearch.py
More file actions
42 lines (32 loc) · 1.26 KB
/
Copy pathlibsearch.py
File metadata and controls
42 lines (32 loc) · 1.26 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
import asyncio
import webbrowser
from src.Clients.Cultuurconnect import Cultuurconnect
from src.Clients.Goodreads import Goodreads
from src.JSONOutput import JSONOutput
from src.Configuration import Configuration
from src.Cache import Cache
from src.Catalogue import Catalogue
from src.UI.ProgressBar import ProgressBar
from src.WebServer import WebServer
def main():
Configuration().load()
ProgressBar().print(0, 3, 'Retrieving books from Goodreads...')
books = Goodreads().get_books()
catalogue = Catalogue()
catalogue.set_books(books)
cultuurconnect = Cultuurconnect()
loop = asyncio.get_event_loop()
ProgressBar().print(1, 3, 'Retrieving books from library catalogue...')
catalogue.books = loop.run_until_complete(
cultuurconnect.search_books(catalogue.books))
Cache().save_catalogue(catalogue)
ProgressBar().print(2, 3, 'Retrieving availabilities... ')
books = loop.run_until_complete(
cultuurconnect.get_availibities_of_books(catalogue.books))
loop.close()
ProgressBar().print(3, 3, 'Creating output...')
JSONOutput().dump_info(catalogue)
webbrowser.open('http://127.0.0.1:8080')
WebServer().run()
if __name__ == "__main__":
main()