-
Notifications
You must be signed in to change notification settings - Fork 1
/
delamo_csv_serija.py
38 lines (30 loc) · 1.73 KB
/
delamo_csv_serija.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
from delamo_csv import idji_knjig
import re
import orodja
import copy
vzorec_ime_serije = re.compile("""head>\s*?(<script.*?/script>\s*)*<title>\s*(?P<ime>.*?) (Saga|Series )?by .*?\s*</title>""")
vzorec_knjige_v_seriji = re.compile(
"""class="bookTitle" itemprop="url" href="(?P<kratki_url>.*?(?P<id_knjige>\d+).*?)">\s*?<span itemprop='name'>(?P<naslov>.*?)\((?P<serija>.*?),? #(?P<zaporedna_st>\d+)\)</span>\s*?</a>\s*?<br/>\s*?<span class='by smallText'>by</span>""")
seznam_vseh_serij = []
urlji_knjig_iz_serij = []
idji_serij = set()
seznam_serija_knjiga = []
# mapa_serije = orodja.datoteke("serije")
def shrani_serije(mapa):
for serija in mapa:
vsebina = orodja.vsebina_datoteke(serija)
for vzorec in re.finditer(vzorec_ime_serije, vsebina):
podatki_serija = vzorec.groupdict()
for vzorec in re.finditer(vzorec_knjige_v_seriji, vsebina):
knjiga = vzorec.groupdict()
if knjiga['id_knjige'] not in idji_knjig and (knjiga['serija'] == podatki_serija['ime']):
naslov = re.sub('[:|/|?]', '-', knjiga['naslov'])
urlji_knjig_iz_serij.append((knjiga['kratki_url'], naslov + knjiga['id_knjige']))
seznam_serija_knjiga.append({'id_knjige': knjiga['id_knjige'],
'id_serije': serija.split('.')[0].split('\\')[-1],
'zaporedna_stevilka_serije': knjiga['zaporedna_st']})
# CSV datoteka serija: - naslov se je dodal že prej
podatki_serija['id'] = serija.split('.')[0].split('\\')[-1]
idji_serij.add(podatki_serija['id'])
seznam_vseh_serij.append(podatki_serija)
#shrani_serije(mapa_serije)