-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscheduleSync.py
More file actions
43 lines (39 loc) · 1.38 KB
/
scheduleSync.py
File metadata and controls
43 lines (39 loc) · 1.38 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
import os, sys
from pyquery import PyQuery as pq
import requests
from Factory.factory import *
from Parser.allParser import *
class ScheduleSync:
def __init__(self, rq):
self.__f = Factory()
self.__uls = pq(rq.json()['parse']['text']['*'])
def launchParsing(self):
for ul in self.__uls(".session"):
p = SessionParser(ul)
self.__f.addSession(p.getResult())
for ul in self.__uls(".timeblock"):
p = TimeblockParser(ul)
self.__f.addTimeblock(p.getResult())
for ul in self.__uls(".tag"):
p = TagParser(ul)
self.__f.addTag(p.getResult())
for ul in self.__uls(".theme"):
p = ThemeParser(ul)
self.__f.addTheme(p.getResult())
self.__f.linkSessionToDay()
return self
def showFactory(self):
if len(sys.argv) > 2:
if sys.argv[2] == "sessions":
print(self.__f.getSessionsJson())
elif sys.argv[2] == "tags":
print(self.__f.getTagsJson())
elif sys.argv[2] == "themes":
print(self.__f.getThemesJson())
else:
print(self.__f.getSessionsJson())
print(self.__f.getTagsJson())
print(self.__f.getThemesJson())
return self
apiURL = sys.argv[1]
ScheduleSync(requests.get(url=apiURL)).launchParsing().showFactory()