-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
40 lines (31 loc) · 1.23 KB
/
main.py
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
import re
from utils.sheet import articles_sheet, get_all_providers, send_articles_sheet
from utils.get_page import get_page
from utils.extractors import provider_dict, get_articles
from utils.format_date import current_time
def main(time):
all_providers = get_all_providers()
for provider in all_providers:
provider_name = provider["name"]
provider_url = provider["url"]
provider_element = provider["element"]
provider_handlers = provider_dict(provider_element)
handler = provider_handlers.get(provider_name)
if handler:
element = handler["element"]()
extractor = handler["extractor"]
elements = get_page(provider_url).find_all(element)
for article_info in get_articles(elements, extractor):
send_articles_sheet(article_info)
else:
print(f"Unknown provider: {provider_name}")
articles_sheet.sort((1, "des"))
articles_sheet.update_cell(1, 7, f"Updated at\n{time}")
if __name__ == "__main__":
date, time = current_time()
timestamp = f"{date} - {time}"
print(f"The process is starting at {timestamp}")
print()
main(f"{timestamp}")
print()
print("The process is completed")