From 9fe96eac2686ef9ec2385f898cccfad853aaf9bd Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Thu, 14 Aug 2014 13:21:31 +0200 Subject: [PATCH] laatste push --- planning/final_planning.txt | 7 + program/everything/crawler.db | 816 +++++++++++++-------------------- program/everything/crawler.py | 120 +++-- program/everything/crawler.pyc | Bin 4166 -> 4447 bytes program/everything/dawg.py | 71 --- program/everything/pydawg.pyc | Bin 8491 -> 8491 bytes program/everything/t.dot | Bin 20528 -> 717 bytes program/everything/uri.txt | 1 + 8 files changed, 429 insertions(+), 586 deletions(-) create mode 100644 planning/final_planning.txt delete mode 100644 program/everything/dawg.py diff --git a/planning/final_planning.txt b/planning/final_planning.txt new file mode 100644 index 0000000..7d7194a --- /dev/null +++ b/planning/final_planning.txt @@ -0,0 +1,7 @@ +2014-08-14 - Datumprikker maken voor overleg met franc. +2014-08-21 - +2014-08-28 - Programma af +2014-09-04 - Scriptie af? +2014-09-11 - Commentaar verwerken? +2014-09-18 - Scriptie laatste versie +2014-09-25 - ?? Presenteren diff --git a/program/everything/crawler.db b/program/everything/crawler.db index 3b7579c..3f80ccb 100644 --- a/program/everything/crawler.db +++ b/program/everything/crawler.db @@ -21,143 +21,143 @@ p9 DAWGNode p10 (dp11 -S'final' +S'children' p12 -I00 -sS'number' -p13 -NsS'children' -p14 -(dp15 +(dp13 S'\x01' -p16 +p14 (ipydawg DAWGNode -p17 -(dp18 +p15 +(dp16 g12 -I00 -sg13 -Nsg14 -(dp19 +(dp17 S',' -p20 +p18 (ipydawg DAWGNode -p21 -(dp22 +p19 +(dp20 g12 -I00 -sg13 -Nsg14 -(dp23 +(dp21 S' ' -p24 +p22 (ipydawg DAWGNode -p25 -(dp26 +p23 +(dp24 g12 -I00 -sg13 -Nsg14 -(dp27 +(dp25 S'\x02' -p28 +p26 (ipydawg DAWGNode -p29 -(dp30 +p27 +(dp28 g12 -I00 -sg13 -Nsg14 -(dp31 -g24 +(dp29 +g22 (ipydawg DAWGNode -p32 -(dp33 +p30 +(dp31 g12 -I00 -sg13 -Nsg14 -(dp34 +(dp32 S'u' -p35 +p33 (ipydawg DAWGNode -p36 -(dp37 +p34 +(dp35 g12 -I00 -sg13 -Nsg14 -(dp38 -g35 +(dp36 +g33 (ipydawg DAWGNode -p39 -(dp40 +p37 +(dp38 g12 -I00 -sg13 -Nsg14 -(dp41 +(dp39 S'r' -p42 +p40 (ipydawg DAWGNode -p43 -(dp44 +p41 +(dp42 g12 -I00 -sg13 -Nsg14 -(dp45 -g24 +(dp43 +g22 (ipydawg DAWGNode -p46 -(dp47 +p44 +(dp45 g12 -I00 -sg13 -Nsg14 -(dp48 +(dp46 S'-' -p49 +p47 (ipydawg DAWGNode -p50 -(dp51 +p48 +(dp49 g12 -I00 -sg13 -Nsg14 -(dp52 -g24 +(dp50 +g22 (ipydawg DAWGNode -p53 -(dp54 +p51 +(dp52 g12 -I00 -sg13 -Nsg14 -(dp55 +(dp53 S'\x03' -p56 +p54 (ipydawg DAWGNode -p57 -(dp58 +p55 +(dp56 g12 +(dp57 +sS'final' +p58 I01 -sg13 -Nsg14 -(dp59 -sbssbssbssbssbssbssbssbssbssbssbssbssbsS'_numbers_valid' +sS'number' +p59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +Nsbssg58 +I00 +sg59 +NsbsS'_numbers_valid' p60 I00 sS'register' @@ -174,27 +174,27 @@ S'\x01, \x02 uur - \x03' p67 sbsS'dloc' p68 -S'test' +S'Grote zaal' p69 sS'venue' p70 -S'De doelen' +S'De Doelen' p71 sS'content' p72 (lp73 (lp74 -S'za 16 aug, 20.15 uur - Elvis & More 2014 - Ren\xc3\xa9 Shuman & Angel-Eye' +S'za 16 aug, 20.15 uur - Elvis & More 2014 - Ren\xc3\xa9 Shuman & Angel-Eye' p75 aS'Ode aan 60 jaar rock-and-roll door Ren\xc3\xa9 Shuman & Angel-Eye
In 1954 werd de song That\xe2\x80\x99s allright mama door Elvis Presley, The King of Rock and Roll, opgenomen en uitgebracht. Het duo Ren\xc3\xa9 Shuman & Angel-Eye houdt zijn muziek in ere met hun theatershows, tv-specials en opnamen. Ze trekken met hun showband volle zalen met hun Rock and Roll-vertolkingen. En jaarlijks geeft het duo een bijzonder concert op 16 augustus, de sterfdag van Elvis.

Ren\xc3\xa9: \xe2\x80\x98Dit jaar zal ons Elvis & More-concert plaatsvinden in de Doelen, de grootste klassieke concertzaal van Nederland met een prachtige akoestiek. We willen onze fans trakteren op een energieke en mooie show met subliem geluid en comfortabele zitplaatsen. Een hele avond genieten van 60 jaar Rock and Roll-geschiedenis!\xe2\x80\x99

' p76 aa(lp77 -S'vr 05 sep, 20.00 uur - Night of Ziryab - Amsterdams Andalusisch Orkest i.s.m. Orchestre Temsamani (Tetuan)' +S'vr 05 sep, 20.00 uur - Night of Ziryab - Amsterdams Andalusisch Orkest i.s.m. Orchestre Temsamani (Tetuan)' p78 aS'' p79 aa(lp80 -S'vr 12 sep, 13.00 uur - Rotterdam Philharmonic Gergiev Festival - Locatietheater | Niemandsland (I)' +S'vr 12 sep, 13.00 uur - Rotterdam Philharmonic Gergiev Festival - Locatietheater | Niemandsland (I)' p81 aS'Rode draad door het Gergiev Festival vormt de muziektheatervoorstelling \xe2\x80\x98Niemandsland\xe2\x80\x99 van regisseur Serge van Veggel. Een veteraan haalt herinneringen op aan zijn oorlogsverleden, dat in donkere kelders opeens weer heel dichtbij lijkt te komen. Hij symboliseert de \xe2\x80\x98Onbekende Soldaat\xe2\x80\x99 in een collage van originele dagboekfragmenten en gedichten, liedjes of soms absurde oorlogsverhalen. Muziek komt van het theatrale Ragazze Kwartet: gaandeweg zal de sublieme eenheid van het klassieke strijkkwartet door de toenemende chaos steeds meer verbrokkelen.

\xe2\x80\x98...hoe je met weinig middelen schitterende sc\xc3\xa8nes kunt bouwen\xe2\x80\x99 - NRC Handelsblad over het locatietheater van regisseur Serge van Veggel.

Deze voorstelling wordt georganiseerd in samenwerking met het muziektheatergezelschap OPERA2DAY.

Locatietheater met als startpunt de Eduard Flipse Zaal. De voorstelling bestaat uit twee gedeelten. Het tweede gedeelte is niet goed te bezoeken voor hen die slecht ter been zijn of voor rolstoelgebruikers.

' p82 @@ -252,11 +252,11 @@ DAWGNode p111 (dp112 g12 -I00 -sg13 -Nsg14 (dp113 -sbsg60 +sg58 +I00 +sg59 +Nsbsg60 I00 sg61 g62 @@ -267,533 +267,377 @@ sg66 g79 sbsS'freq' p117 -S'1w' +S'1d' p118 sS'adress' p119 -S'amsterdam' +S'Straat 1 Eindhoven' p120 ssS'paradiso' p121 (dp122 -S'website' +S'name' p123 -S'www.paradiso.nl' -p124 -sS'name' -p125 g121 sS'titledawg' -p126 +p124 (ipydawg DAWG -p127 -(dp128 +p125 +(dp126 g9 (ipydawg DAWGNode -p129 -(dp130 -g13 -Nsg14 -(dp131 +p127 +(dp128 +g59 +Nsg12 +(dp129 S'\x01' -p132 +p130 (ipydawg DAWGNode -p133 -(dp134 -g13 -Nsg14 -(dp135 +p131 +(dp132 +g59 +Nsg12 +(dp133 S' ' -p136 +p134 (ipydawg DAWGNode -p137 -(dp138 -g13 -Nsg14 -(dp139 +p135 +(dp136 +g59 +Nsg12 +(dp137 S'\x02' -p140 +p138 (ipydawg DAWGNode -p141 -(dp142 -g13 -Nsg14 -(dp143 -g136 +p139 +(dp140 +g59 +Nsg12 +(dp141 +g134 (ipydawg DAWGNode -p144 -(dp145 -g13 -Nsg14 -(dp146 +p142 +(dp143 +g59 +Nsg12 +(dp144 S'-' -p147 +p145 (ipydawg DAWGNode -p148 -(dp149 -g13 -Nsg14 -(dp150 -g136 +p146 +(dp147 +g59 +Nsg12 +(dp148 +g134 (ipydawg DAWGNode -p151 -(dp152 -g13 -Nsg14 -(dp153 +p149 +(dp150 +g59 +Nsg12 +(dp151 S'\x03' -p154 +p152 +(ipydawg +DAWGNode +p153 +(dp154 +g59 +Nsg12 +(dp155 +g134 (ipydawg DAWGNode -p155 -(dp156 -g13 -Nsg14 +p156 (dp157 -g136 +g59 +Nsg12 +(dp158 +g134 (ipydawg DAWGNode -p158 -(dp159 -g13 -Nsg14 +p159 (dp160 -g136 +g59 +Nsg12 +(dp161 +g134 (ipydawg DAWGNode -p161 -(dp162 -g13 -Nsg14 +p162 (dp163 -g136 +g59 +Nsg12 +(dp164 +g145 (ipydawg DAWGNode -p164 -(dp165 -g13 -Nsg14 +p165 (dp166 -g147 +g59 +Nsg12 +(dp167 +g134 (ipydawg DAWGNode -p167 -(dp168 -g13 -Nsg14 +p168 (dp169 -g136 +g59 +Nsg12 +(dp170 +g134 (ipydawg DAWGNode -p170 -(dp171 -g13 -Nsg14 +p171 (dp172 -g136 +g59 +Nsg12 +(dp173 +g134 (ipydawg DAWGNode -p173 -(dp174 -g13 -Nsg14 +p174 (dp175 -g136 -(ipydawg -DAWGNode -p176 -(dp177 -g13 -Nsg14 -(dp178 +g59 +Nsg12 +(dp176 S'L' -p179 +p177 (ipydawg DAWGNode -p180 -(dp181 -g13 -Nsg14 -(dp182 +p178 +(dp179 +g59 +Nsg12 +(dp180 S'o' -p183 +p181 (ipydawg DAWGNode -p184 -(dp185 -g13 -Nsg14 -(dp186 +p182 +(dp183 +g59 +Nsg12 +(dp184 S'c' -p187 +p185 (ipydawg DAWGNode -p188 -(dp189 -g13 -Nsg14 -(dp190 +p186 +(dp187 +g59 +Nsg12 +(dp188 S'a' -p191 +p189 (ipydawg DAWGNode -p192 -(dp193 -g13 -Nsg14 -(dp194 +p190 +(dp191 +g59 +Nsg12 +(dp192 S't' -p195 +p193 (ipydawg DAWGNode -p196 -(dp197 -g13 -Nsg14 -(dp198 +p194 +(dp195 +g59 +Nsg12 +(dp196 S'i' -p199 +p197 (ipydawg DAWGNode -p200 -(dp201 -g13 -Nsg14 -(dp202 +p198 +(dp199 +g59 +Nsg12 +(dp200 S'e' -p203 +p201 (ipydawg DAWGNode -p204 -(dp205 -g13 -Nsg14 -(dp206 +p202 +(dp203 +g59 +Nsg12 +(dp204 S':' -p207 +p205 (ipydawg DAWGNode -p208 -(dp209 -g13 -Nsg14 -(dp210 -g136 +p206 +(dp207 +g59 +Nsg12 +(dp208 +g134 (ipydawg DAWGNode -p211 -(dp212 -g13 -Nsg14 -(dp213 +p209 +(dp210 +g59 +Nsg12 +(dp211 S'\x04' -p214 +p212 (ipydawg DAWGNode -p215 -(dp216 -g13 -Nsg14 -(dp217 -sg12 +p213 +(dp214 +g59 +Nsg12 +(dp215 +sg58 I01 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbssg12 -I00 -sbsg147 -(ipydawg -DAWGNode -p218 -(dp219 -g13 -Nsg14 -(dp220 -g136 -(ipydawg -DAWGNode -p221 -(dp222 -g13 -Nsg14 -(dp223 -g179 -(ipydawg -DAWGNode -p224 -(dp225 -g13 -Nsg14 -(dp226 -g183 -(ipydawg -DAWGNode -p227 -(dp228 -g13 -Nsg14 -(dp229 -g187 -(ipydawg -DAWGNode -p230 -(dp231 -g13 -Nsg14 -(dp232 -g191 -(ipydawg -DAWGNode -p233 -(dp234 -g13 -Nsg14 -(dp235 -g195 -(ipydawg -DAWGNode -p236 -(dp237 -g13 -Nsg14 -(dp238 -g199 -(ipydawg -DAWGNode -p239 -(dp240 -g13 -Nsg14 -(dp241 -g203 -(ipydawg -DAWGNode -p242 -(dp243 -g13 -Nsg14 -(dp244 -g207 -(ipydawg -DAWGNode -p245 -(dp246 -g13 -Nsg14 -(dp247 -g136 -(ipydawg -DAWGNode -p248 -(dp249 -g13 -Nsg14 -(dp250 -g214 -(ipydawg -DAWGNode -p251 -(dp252 -g13 -Nsg14 -(dp253 -sg12 -I01 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I01 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 -sbssg12 +sbssg58 I00 sbsg60 I00 sg61 g62 -((lp254 -g164 -ag188 -ag161 -ag192 -ag208 -ag196 -ag170 -ag200 -ag173 -ag204 -ag176 -ag180 -ag167 -ag211 -ag184 -ag215 -atp255 -Rp256 +((lp216 +tp217 +Rp218 sg66 -S'\x01 \x02 - \x03 - Locatie: \x04' -p257 -sbsS'dloc' -p258 -S'Grote Zaal' -p259 -sS'venue' -p260 -S'Paradiso' -p261 -sS'content' -p262 -(lp263 -(lp264 +S'\x01 \x02 - \x03 - Locatie: \x04' +p219 +sbsS'content' +p220 +(lp221 +(lp222 S'zaterdag 31 mei 2014 - Lentekabinet Festival Afterparty - Locatie: Tolhuistuin (zaal)' -p265 +p223 ag79 -aa(lp266 -S'vrijdag 4 juli 2014 20:30 - The Crimson Projekct - Locatie: Tolhuistuin (zaal)' -p267 +aa(lp224 +S'vrijdag 4 juli 2014 20:30 - The Crimson Projekct - Locatie: Tolhuistuin (zaal)' +p225 aS'Muziek rond King Crimson' -p268 -aa(lp269 -S'dinsdag 10 juni 2014 20:30 - Het Ultieme Natuurkunde Feestje \xe2\x80\x93 keynote Amanda Gefter' -p270 +p226 +aa(lp227 +S'dinsdag 10 juni 2014 20:30 - Het Ultieme Natuurkunde Feestje \xe2\x80\x93 keynote Amanda Gefter' +p228 ag79 -aa(lp271 -S'dinsdag 12 augustus 2014 21:00 - Kevin Drew - Locatie: Bitterzoet' -p272 +aa(lp229 +S'dinsdag 12 augustus 2014 21:00 - Kevin Drew - Locatie: Bitterzoet' +p230 aS'mede-oprichter Broken Social Scene solo' -p273 -aa(lp274 -S'vrijdag 4 juli 2014 22:00 - Palenke Soultribe' -p275 +p231 +aa(lp232 +S'vrijdag 4 juli 2014 22:00 - Palenke Soultribe' +p233 aS'Electronische muziek en Afro-Colombiaanse ritmes' -p276 -aa(lp277 +p234 +aa(lp235 S'maandag 3 november 2014 20:15 - Eefje de Visser: Waterwereldsteden - Locatie: Het Concertgebouw' -p278 +p236 ag79 -aa(lp279 +aa(lp237 S'zaterdag 27 september 2014 20:30 - A Great Big World - Locatie: Tolhuistuin (zaal)' -p280 +p238 aS'Hitschrijvers uit New York' -p281 -aa(lp282 +p239 +aa(lp240 S'zaterdag 7 juni 2014 23:00 - Benefietavond Marokkaanse Boot' -p283 +p241 aS'Van Amsterdam naar Tanger' -p284 -aa(lp285 +p242 +aa(lp243 S'donderdag 13 november 2014 19:30 - Wouter Hamel' -p286 +p244 aS'Sprankelende jazzy pop' -p287 -aa(lp288 +p245 +aa(lp246 S'vrijdag 13 juni 2014 00:00 - Legends' -p289 +p247 ag79 aasS'headers' -p290 -(lp291 +p248 +(lp249 S'Title' -p292 +p250 aS'Summary' -p293 +p251 asS'summarydawg' -p294 +p252 (ipydawg DAWG -p295 -(dp296 +p253 +(dp254 g9 (ipydawg DAWGNode -p297 -(dp298 -g13 -Nsg14 -(dp299 -sg12 +p255 +(dp256 +g59 +Nsg12 +(dp257 +sg58 I00 sbsg60 I00 sg61 g62 -((lp300 -tp301 -Rp302 +((lp258 +tp259 +Rp260 sg66 g79 -sbsS'freq' -p303 -S'1w' -p304 -sS'adress' -p305 -S'Amsterdam' -p306 -ss. \ No newline at end of file +sbss. \ No newline at end of file diff --git a/program/everything/crawler.py b/program/everything/crawler.py index 091bfb9..a68491d 100644 --- a/program/everything/crawler.py +++ b/program/everything/crawler.py @@ -4,6 +4,8 @@ import pickle import re import os +import pprint +import sys class Crawler(): @@ -41,38 +43,99 @@ class Crawler(): d_s = self.entries[name]['summarydawg'] r_t, r_s = [], [] for i, w in enumerate(d_t.words()): - w = w.replace('\x01', '(?P.*)'.format(i)) - w = w.replace('\x02', '(?P.*)'.format(i)) - w = w.replace('\x03', '(?P.*)'.format(i)) - w = w.replace('\x04', '(?P.*)'.format(i)) + w = w.replace('\x01', + '(?P.+)'.format(i)) + w = w.replace('\x02', + '(?P.+)'.format(i)) + w = w.replace('\x03', + '(?P.+)'.format(i)) + w = w.replace('\x04', + '(?P.+)'.format(i)) + w = re.sub('\s+', '\\s+', w) r_t.append(w) for i, w in enumerate(d_s.words()): - w = w.replace('\x01', '(?P.*)'.format(i)) - w = w.replace('\x02', '(?P.*)'.format(i)) - w = w.replace('\x03', '(?P.*)'.format(i)) - w = w.replace('\x04', '(?P.*)'.format(i)) + w = w.replace('\x01', + '(?P.+)'.format(i)) + w = w.replace('\x02', + '(?P.+)'.format(i)) + w = w.replace('\x03', + '(?P.+)'.format(i)) + w = w.replace('\x04', + '(?P.+)'.format(i)) + w = re.sub('\s+', '\\s+', w) r_s.append(w) - r_t = '' if not r_t else '({})'.format('|'.join( - reversed(sorted(r_t, key=lambda x: len(x))))) - r_s = '' if not r_s else '({})'.format('|'.join( - reversed(sorted(r_s, key=lambda x: len(x))))) +# r_t = '' if not r_t else '({})'.format('|'.join( +# reversed(sorted(r_t, key=lambda x: len(x))))) +# r_s = '' if not r_s else '({})'.format('|'.join( +# reversed(sorted(r_s, key=lambda x: len(x))))) return r_t, r_s + def to_dot(self, name, out='-'): + out = sys.stdout if out == '-' else open(out, 'w') + try: + q0 = self.entries[name]['titledawg'].q0 + nodenum = 0 + final_nodes = [] + nodes = [] + edges = [] + to_visit = [(0, q0)] + visited = set() + translation = [] + if q0.final: + final_nodes.append(nodenum) + else: + nodes.append(nodenum) + + nodenum += 1 + while to_visit: + current = to_visit.pop() + if not current[0] in visited: + visited.add(current[0]) + for char, child in current[1].children.iteritems(): + matches = [c for c in translation if c[0] == child] + curnum = -1 + if matches: + curnum = matches[-1][1] + else: + translation.append((child, nodenum)) + curnum = nodenum + nodenum += 1 + if child.final: + final_nodes.append(curnum) + else: + nodes.append(curnum) + edges.append((current[0], char, curnum)) + to_visit.append((curnum, child)) + out.write('digraph dawg {\n') + out.write('\tnode [shape = doublecircle]; {}\n'.format( + ' '.join(str(n) for n in final_nodes))) + out.write('\tnode [shape = circle]; {}\n'.format( + ' '.join(str(n) for n in nodes))) + for fr, ch, to in edges: + out.write('\t{} -> {} [label = "{}"];\n'.format(fr, to, ch)) + out.write('}\n') + except: + out.close() + def test_entry(self, name, title, summary): + print '\n', repr(title), repr(summary) r_t, r_s = self.get_regex(name) - print r_t, r_s - rtm = re.search(r_t, title) - print '\ntrying to match: "{}", "{}"'.format(title, summary) - print 'matching to: "{}", "{}"'.format(repr(r_t), repr(r_s)) - if rtm and r_t: - for k, v in [(k, v) for k, v in rtm.groupdict().iteritems() if v]: - print '{}: {}'.format(k, v) + matcht = [re.search(t, title) for t in r_t] + matchs = [re.search(t, summary) for t in r_s] + + matcht = filter(lambda x: x is not None, matcht) + matchs = filter(lambda x: x is not None, matchs) + + if matcht: + pprint.pprint( + [m.groupdict() for m in + reversed(sorted(matcht, key=lambda x: len(x.groups())))][0]) else: print 'no title match' - rsm = re.search(r_s, summary) - if rsm and r_s: - for k, v in [(k, v) for k, v in rsm.groupdict().iteritems() if v]: - print '{}: {}'.format(k, v) + if matchs: + pprint.pprint( + [m.groupdict() for m in + reversed(sorted(matchs, key=lambda x: len(x.groups())))][0]) else: print 'no summary match' @@ -83,12 +146,11 @@ def main(): cr.test_entry('dedoelen', 'vr 5 mei08:00 uur - Abba live', '') cr.test_entry('paradiso', 'donderdag 13 november 2014 19:30 - Wouter Hamel', '') - cr.test_entry('paradiso', - 'zaterdag 27 september 2014 20:30 - A Great Big World - ' - 'Locatie: Tolhuistuin (zaal)', '') - cr.test_entry('paradiso', - 'zaterdag 31 mei 2014 - Lentekabinet Festival Afterparty - ' - 'Locatie: Tolhuistuin (zaal)', '') + cr.test_entry('paradiso', 'zaterdag 27 september 2014 20:30 - A Great Big ' + 'World - Locatie: Tolhuistuin (zaal)', '') + cr.test_entry('paradiso', 'zaterdag 27 september 2014 20:30 - A Great Big ' + 'World - Locatie: Tolhuistuin (zaal)', '') + cr.to_dot('paradiso', 't.dot') if __name__ == '__main__': main() diff --git a/program/everything/crawler.pyc b/program/everything/crawler.pyc index 9ea3de6fda57cbcfc8bc863c1d6e98f90aabfbd0..fb83e56417a59e0d025ec3de9514d7886558adc0 100644 GIT binary patch delta 1210 zcmah{OHUL*5U!eGW_N~tAV`8DW>_UGqDD}o0fJG8kU)r8FlZtqBQq?s>;q<+hp^)w z)<2+~crY>X>P@2;HC~AEgulU?M>XLOSlzpbTqK*Wt@-M!`l_qztMxslt9x8 zOyWEiZ5yZPKJM6Ttswcae@aN8@gVgOVZ*k40i<=lV+`?T^CepRjhSlI78)o;r2Xys z1@d2}RmlRB8(?&<4MH6lLQa9Q4rK+Z3d}38+67?*$`KeFXDT>Ej);iA2}~2dgWxFe z1fYuOsBj{uLluZz1aKN4N2yd#6)9umls)Ze0%TDkT18+L@-*Q|1~b5KMhcPLoCoTS zkXp%{DGHCyorVVrgi#0$C=+`Z%2dG+lNa6Y5~JgQ;pnmj$&do8KVi10fg|rDE?W`u zwFW~I$|m?vkr1*qeM0`LKY@qzC-4aU0!sa8eH>}cpf{P~kE191o5*7{V1OKrLrj#G zN$k*6S`i_YOx`Uro&K|aX>BFoAEMdB2z>^0z!QeQZX7lRV>=wMwnP4-v8N)QJ<~;o zi8{V3D+I3XFDyxS(aST}XJSL9O2vA(DRR!Z-HfwiyDIFyDPrz$7cn}@u&cu zLXehXCUG)i@o7nb-;cGN=@dvxAmT<$CKp&Bzm}z4=V5HQ`z%EPThYKS)G&#icnlk` z17kRfZHk7?HIJ+DeqCHCGswRsXZf@EIjr!{@q6cMT$m^OKP z;;O=cXA)Vw%ReTrS1jv-WlfeAZ05NG)=VkCwB`kD%_~~zE!)ob1hb^MWz%gPJ8NC; zvkIvrC{xk%&{+h>oCtUUw#Q{tLRrTAW=8wYuN wGHcC{U~q~I&`etBXP`+(#YoNa=gCxSFNHJWaWjILxh2dH4TfnGMpF#`0HmV!aR2}S delta 908 zcma)4ON$dh5U!qNIy0F(Hwjq`yM|@KNgyjMxGoY_Wf8?gkjX*!Bq0++W;YL}ds%fS z1c_%4_FeX*coH9X4~l=mqy7Ld;vcZ831SX{4E1$QRefJqclEc8FI67&%N%fVNx0omKxqJFMk6AVL!$RN5`?=^2|h?|5wno zkZUP!H4Bm&4aS3!q)Cc#D0}L<^@6$TyS1^#R#`<`m&zFy}BlL*;0?4J@v_PIi1XFsGm-0-7BK6&m8t9p?*32aC|)R2VIFb za**20*QmNqWi+%<4%J!eu(FCiuoAP`3d^%KmSP#hL?2hRo!;gROnW;jNIzi*>PPw> z*L_%OlDTAf74<69XP(MtcUj|k?gHCUZmwT!AxGr2u+0ki*(|Bv {} [label = "{}"];'.format(fr, to, ch) - print '}' - - -d = pydawg.DAWG() - -regs = [ - 'wdag dag maand jaar tijd - wat', - 'dag maand jaar tijd - wat', - 'wdag dag maand jaar tijd - wat', - 'wdag dag maand jaar tijd - wat - Locatie: waar', - 'wdag dag maand jaar tijd - wat - Locatie: waar'] - -#regs = [ -# 'maandag 11 augustus 2014 19:30 - Neutral Milk Hotel', -# 'dinsdag 19 augustus 2014 22:00 - Arkells', -# 'maandag 24 november 2014 20:30 - Fink', -# 'woensdag 19 november 2014 20:00 - Michael Schulte', -# 'zondag 26 oktober 2014 21:00 - The Majority Says - Locatie: Bitterzoet', -# 'maandag 15 september 2014 20:30 - Ani DiFranco', -# 'maandag 13 oktober 2014 20:30 - Tarrus Riley', -# 'maandag 29 december 2014 20:30 - Alain Clark - Locatie: De Duif'] -for w in sorted(set(regs)): - d.add_word(w) - -to_dot('t.dot', d.q0) diff --git a/program/everything/pydawg.pyc b/program/everything/pydawg.pyc index e6507eebc4e209bb59ae7c11d95d3e699e10d2af..fcf006bfc6b8aaa24be461706796172dbda88607 100644 GIT binary patch delta 16 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 N{CUvUwy>he{ugVxh}!@F diff --git a/program/everything/uri.txt b/program/everything/uri.txt index ac33311..7dcb5de 100644 --- a/program/everything/uri.txt +++ b/program/everything/uri.txt @@ -3,3 +3,4 @@ http://www.tivoli.nl/rss/agenda/ http://www.stadsschouwburgendevereeniging.nl/_rss/rss.php?type=voorstellingen http://www.dedoelen.nl/_rss/rss.php?type=voorstellingen http://www.parktheater.nl/_rss/rss.php?type=voorstellingen +http://www.ticketunlimited.nl/ProductFeed/rssproductfeed.xml -- 2.20.1