File: runall.log

package info (click to toggle)
python-stetl 2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 90,360 kB
  • sloc: python: 5,618; xml: 707; sql: 430; makefile: 147; sh: 71
file content (1264 lines) | stat: -rw-r--r-- 137,049 bytes parent folder | download | duplicates (2)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
~/project/stetl/git/examples/basics/10_jinja2_templating ~/project/stetl/git/examples/basics
==== running etl.sh for 10_jinja2_templating ====
2023-01-09 14:54:26,928 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:26,970 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:26,982 main INFO Stetl version = 2.1
2023-01-09 14:54:26,983 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:26,983 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/10_jinja2_templating
2023-01-09 14:54:26,983 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:26,984 ETL INFO START
2023-01-09 14:54:26,984 util INFO Timer start: total ETL
2023-01-09 14:54:26,984 chain INFO Assembling Chain: input_json|filter_template_xml|output_xml_file...
2023-01-09 14:54:26,999 input INFO cfg = {'class': 'stetl.inputs.fileinput.JsonFileInput', 'file_path': 'input/cities.json'}
2023-01-09 14:54:26,999 fileinput INFO file_list=['input/cities.json']
2023-01-09 14:54:27,009 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities.xml'}
2023-01-09 14:54:27,009 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/10_jinja2_templating
2023-01-09 14:54:27,009 chain INFO Running Chain: input_json|filter_template_xml|output_xml_file
2023-01-09 14:54:27,009 templatingfilter INFO Init: templating
2023-01-09 14:54:27,048 templatingfilter INFO template file read and template created OK: templates/cities-json2xml.jinja2
2023-01-09 14:54:27,048 fileinput INFO Read/parse for start for file=input/cities.json....
2023-01-09 14:54:27,048 fileinput INFO Read/parse ok for file=input/cities.json
2023-01-09 14:54:27,048 fileinput INFO all files done
2023-01-09 14:54:27,048 fileoutput INFO writing to file output/cities.xml
2023-01-09 14:54:27,049 fileoutput INFO written to output/cities.xml
2023-01-09 14:54:27,049 component INFO JsonFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:27,049 templatingfilter INFO Exit: templating
2023-01-09 14:54:27,049 component INFO Jinja2TemplatingFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:27,049 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:27,049 chain INFO DONE - 1 rounds - chain=input_json|filter_template_xml|output_xml_file 
2023-01-09 14:54:27,049 chain INFO Assembling Chain: input_json|filter_template_gml|output_gml_file...
2023-01-09 14:54:27,049 input INFO cfg = {'class': 'stetl.inputs.fileinput.JsonFileInput', 'file_path': 'input/cities.json'}
2023-01-09 14:54:27,049 fileinput INFO file_list=['input/cities.json']
2023-01-09 14:54:27,049 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities.gml'}
2023-01-09 14:54:27,049 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/10_jinja2_templating
2023-01-09 14:54:27,050 chain INFO Running Chain: input_json|filter_template_gml|output_gml_file
2023-01-09 14:54:27,050 templatingfilter INFO Init: templating
2023-01-09 14:54:27,050 templatingfilter INFO Read JSON file with globals from: input/globals.json
2023-01-09 14:54:27,054 templatingfilter INFO template file read and template created OK: templates/cities-json2gml.jinja2
2023-01-09 14:54:27,054 fileinput INFO Read/parse for start for file=input/cities.json....
2023-01-09 14:54:27,054 fileinput INFO Read/parse ok for file=input/cities.json
2023-01-09 14:54:27,055 fileinput INFO all files done
2023-01-09 14:54:27,062 fileoutput INFO writing to file output/cities.gml
2023-01-09 14:54:27,063 fileoutput INFO written to output/cities.gml
2023-01-09 14:54:27,063 component INFO JsonFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:27,063 templatingfilter INFO Exit: templating
2023-01-09 14:54:27,063 component INFO Jinja2TemplatingFilter invokes=1 time(total, min, max, avg) = 0.007 0.007 0.007 0.007
2023-01-09 14:54:27,063 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:27,063 chain INFO DONE - 1 rounds - chain=input_json|filter_template_gml|output_gml_file 
2023-01-09 14:54:27,063 chain INFO Assembling Chain: input_geojson|filter_template_geojson2gml|output_gml_file2...
2023-01-09 14:54:27,064 input INFO cfg = {'class': 'stetl.inputs.fileinput.JsonFileInput', 'file_path': 'https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json', 'output_format': 'geojson_collection'}
2023-01-09 14:54:27,064 fileinput INFO file_list=['https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json']
2023-01-09 14:54:27,064 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities-gjson.gml'}
2023-01-09 14:54:27,064 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/10_jinja2_templating
2023-01-09 14:54:27,064 chain INFO Running Chain: input_geojson|filter_template_geojson2gml|output_gml_file2
2023-01-09 14:54:27,064 templatingfilter INFO Init: templating
2023-01-09 14:54:27,065 templatingfilter INFO Read JSON file with globals from: input/globals.json
2023-01-09 14:54:27,065 templatingfilter INFO Read JSON file with globals from: https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/more-globals.json
2023-01-09 14:54:27,265 templatingfilter INFO template file read and template created OK: templates/cities-gjson2gml.jinja2
2023-01-09 14:54:27,265 fileinput INFO Read/parse for start for file=https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json....
2023-01-09 14:54:27,448 fileinput INFO Read/parse ok for file=https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json
2023-01-09 14:54:27,449 fileinput INFO all files done
2023-01-09 14:54:27,467 fileoutput INFO writing to file output/cities-gjson.gml
2023-01-09 14:54:27,467 fileoutput INFO written to output/cities-gjson.gml
2023-01-09 14:54:27,467 component INFO JsonFileInput invokes=1 time(total, min, max, avg) = 0.184 0.184 0.184 0.184
2023-01-09 14:54:27,467 templatingfilter INFO Exit: templating
2023-01-09 14:54:27,467 component INFO Jinja2TemplatingFilter invokes=1 time(total, min, max, avg) = 0.018 0.018 0.018 0.018
2023-01-09 14:54:27,468 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:27,468 chain INFO DONE - 1 rounds - chain=input_geojson|filter_template_geojson2gml|output_gml_file2 
2023-01-09 14:54:27,468 chain INFO Assembling Chain: input_geojson|filter_template_geojson2gml|output_std...
2023-01-09 14:54:27,468 input INFO cfg = {'class': 'stetl.inputs.fileinput.JsonFileInput', 'file_path': 'https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json', 'output_format': 'geojson_collection'}
2023-01-09 14:54:27,468 fileinput INFO file_list=['https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json']
2023-01-09 14:54:27,469 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:27,469 chain INFO Running Chain: input_geojson|filter_template_geojson2gml|output_std
2023-01-09 14:54:27,469 templatingfilter INFO Init: templating
2023-01-09 14:54:27,469 templatingfilter INFO Read JSON file with globals from: input/globals.json
2023-01-09 14:54:27,469 templatingfilter INFO Read JSON file with globals from: https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/more-globals.json
2023-01-09 14:54:27,635 templatingfilter INFO template file read and template created OK: templates/cities-gjson2gml.jinja2
2023-01-09 14:54:27,635 fileinput INFO Read/parse for start for file=https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json....
2023-01-09 14:54:27,783 fileinput INFO Read/parse ok for file=https://raw.githubusercontent.com/justb4/stetl/master/examples/basics/10_jinja2_templating/input/cities-gjson.json
2023-01-09 14:54:27,784 fileinput INFO all files done
2023-01-09 14:54:27,791 component INFO JsonFileInput invokes=1 time(total, min, max, avg) = 0.149 0.149 0.149 0.149
2023-01-09 14:54:27,791 templatingfilter INFO Exit: templating
2023-01-09 14:54:27,791 component INFO Jinja2TemplatingFilter invokes=1 time(total, min, max, avg) = 0.007 0.007 0.007 0.007
2023-01-09 14:54:27,791 component INFO StandardOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:27,791 chain INFO DONE - 1 rounds - chain=input_geojson|filter_template_geojson2gml|output_std 
2023-01-09 14:54:27,792 chain INFO Assembling Chain: input_addresses_csv|convert_record_array_to_struct|filter_template_addresses2inspire|output_inspire_addresses...
2023-01-09 14:54:27,792 input INFO cfg = {'class': 'stetl.inputs.fileinput.CsvFileInput', 'file_path': 'input/addresses.csv'}
2023-01-09 14:54:27,792 fileinput INFO file_list=['input/addresses.csv']
2023-01-09 14:54:27,796 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/inspire-addresses.gml'}
2023-01-09 14:54:27,796 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/10_jinja2_templating
2023-01-09 14:54:27,796 chain INFO Running Chain: input_addresses_csv|convert_record_array_to_struct|filter_template_addresses2inspire|output_inspire_addresses
2023-01-09 14:54:27,796 fileinput INFO Open CSV file: input/addresses.csv
2023-01-09 14:54:27,797 templatingfilter INFO Init: templating
2023-01-09 14:54:27,797 templatingfilter INFO Read JSON file with globals from: input/addresses-globals.json
2023-01-09 14:54:27,818 templatingfilter INFO template file read and template created OK: templates/addresses2inspire-ad.jinja2
2023-01-09 14:54:27,823 fileoutput INFO writing to file output/inspire-addresses.gml
2023-01-09 14:54:27,824 fileoutput INFO written to output/inspire-addresses.gml
2023-01-09 14:54:27,824 component INFO CsvFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:27,824 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:27,824 templatingfilter INFO Exit: templating
2023-01-09 14:54:27,824 component INFO Jinja2TemplatingFilter invokes=1 time(total, min, max, avg) = 0.005 0.005 0.005 0.005
2023-01-09 14:54:27,824 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:27,824 chain INFO DONE - 1 rounds - chain=input_addresses_csv|convert_record_array_to_struct|filter_template_addresses2inspire|output_inspire_addresses 
2023-01-09 14:54:27,824 util INFO Timer end: total ETL time=1.0 sec
2023-01-09 14:54:27,824 ETL INFO ALL DONE
<?xml version='1.0' encoding='utf-8'?>
<cities:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xmlns:cities="http://cities.maptools.org/"
                       xmlns:gml="http://www.opengis.net/gml"
                       xsi:schemaLocation="http://cities.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">

    <!--
    Generated with a Jinja2 template. The 'globs' variables come from the file globals.json containing global
    variables/structures. The actual/dynamic data (cities) comes from the input CSV file cities.json.
    Also a file with macros templates/macros.tpl.xml is imported, allowing reuse for common structures like INSPIRE id's.
    -->


    <gml:description>
       This example tests GML generation with Jinja2 templating, including the use of Jinja2 globals., such as for this description. Globals provide more or less constant/semi static information like point of contacts, global names, id-prefixes etc.
    </gml:description>



    <!-- Rendered by macro render_name() -->
    <gml:name>
       Test for GML generation via Jinja2 templating
    </gml:name>


    <!-- bbox present in geojson input -->
    <gml:boundedBy>
        <gml:Box>
            <gml:coord>
                <gml:X>4.88</gml:X>
                <gml:Y>41.88</gml:Y>
            </gml:coord>
            <gml:coord>
                <gml:X>12.52</gml:X>
                <gml:Y>53.98</gml:Y>
            </gml:coord>
        </gml:Box>
    </gml:boundedBy>

        <gml:featureMember>
            <cities:City>
                <cities:name>Amsterdam</cities:name>
                <cities:population>779808</cities:population>
                <cities:geometry>
                    <gml:Point srsName="urn:ogc:def:crs:EPSG::4258" gml:id="point-1"><gml:pos>4.89483636363636 52.3730454545455</gml:pos></gml:Point>
                </cities:geometry>
            </cities:City>
        </gml:featureMember>
        <gml:featureMember>
            <cities:City>
                <cities:name>Bonn</cities:name>
                <cities:population>327913</cities:population>
                <cities:geometry>
                    <gml:Point srsName="urn:ogc:def:crs:EPSG::4258" gml:id="point-2"><gml:pos>7.09981818181818 50.7345545454545</gml:pos></gml:Point>
                </cities:geometry>
            </cities:City>
        </gml:featureMember>
        <gml:featureMember>
            <cities:City>
                <cities:name>Rome</cities:name>
                <cities:population>2753000</cities:population>
                <cities:geometry>
                    <gml:Point srsName="urn:ogc:def:crs:EPSG::4258" gml:id="point-3"><gml:pos>12.52 41.88</gml:pos></gml:Point>
                </cities:geometry>
            </cities:City>
        </gml:featureMember>

</cities:FeatureCollection>
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/11_formatconvert ~/project/stetl/git/examples/basics
==== running etl.sh for 11_formatconvert ====
2023-01-09 14:54:28,126 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:28,168 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:28,180 main INFO Stetl version = 2.1
2023-01-09 14:54:28,180 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:28,181 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/11_formatconvert
2023-01-09 14:54:28,181 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:28,182 ETL INFO START
2023-01-09 14:54:28,182 util INFO Timer start: total ETL
2023-01-09 14:54:28,182 chain INFO Assembling Chain: input_xml_file|convert_xml_to_string|convert_string_to_xml|output_xml_file...
2023-01-09 14:54:28,194 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:28,194 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:28,200 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities.xml'}
2023-01-09 14:54:28,200 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/11_formatconvert
2023-01-09 14:54:28,200 chain INFO Running Chain: input_xml_file|convert_xml_to_string|convert_string_to_xml|output_xml_file
2023-01-09 14:54:28,200 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:28,200 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:28,200 fileinput INFO all files done
2023-01-09 14:54:28,200 fileoutput INFO writing to file output/cities.xml
2023-01-09 14:54:28,201 fileoutput INFO written to output/cities.xml
2023-01-09 14:54:28,201 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,201 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,201 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,201 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,201 chain INFO DONE - 1 rounds - chain=input_xml_file|convert_xml_to_string|convert_string_to_xml|output_xml_file 
2023-01-09 14:54:28,201 chain INFO Assembling Chain: input_complex_xml_file|convert_to_json|output_json_file...
2023-01-09 14:54:28,201 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/building-dutch-bag.xml'}
2023-01-09 14:54:28,201 fileinput INFO file_list=['input/building-dutch-bag.xml']
2023-01-09 14:54:28,202 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/building-dutch.json'}
2023-01-09 14:54:28,202 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/11_formatconvert
2023-01-09 14:54:28,202 chain INFO Running Chain: input_complex_xml_file|convert_to_json|output_json_file
2023-01-09 14:54:28,202 fileinput INFO Read/parse for start for file=input/building-dutch-bag.xml....
2023-01-09 14:54:28,203 fileinput INFO Read/parse ok for file=input/building-dutch-bag.xml
2023-01-09 14:54:28,203 fileinput INFO all files done
2023-01-09 14:54:28,209 fileoutput INFO writing to file output/building-dutch.json
2023-01-09 14:54:28,213 fileoutput INFO written to output/building-dutch.json
2023-01-09 14:54:28,213 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:28,213 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.007 0.007 0.007 0.007
2023-01-09 14:54:28,213 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.004 0.004 0.004 0.004
2023-01-09 14:54:28,213 chain INFO DONE - 1 rounds - chain=input_complex_xml_file|convert_to_json|output_json_file 
2023-01-09 14:54:28,213 chain INFO Assembling Chain: input_gml_sf_file|convert_to_geojson|output_geojson_file...
2023-01-09 14:54:28,214 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.gml'}
2023-01-09 14:54:28,214 fileinput INFO file_list=['input/cities.gml']
2023-01-09 14:54:28,214 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities-gjson.json'}
2023-01-09 14:54:28,214 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/11_formatconvert
2023-01-09 14:54:28,215 chain INFO Running Chain: input_gml_sf_file|convert_to_geojson|output_geojson_file
2023-01-09 14:54:28,215 fileinput INFO Read/parse for start for file=input/cities.gml....
2023-01-09 14:54:28,215 fileinput INFO Read/parse ok for file=input/cities.gml
2023-01-09 14:54:28,215 fileinput INFO all files done
2023-01-09 14:54:28,217 fileoutput INFO writing to file output/cities-gjson.json
2023-01-09 14:54:28,218 fileoutput INFO written to output/cities-gjson.json
2023-01-09 14:54:28,219 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:28,219 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.002 0.002 0.002 0.002
2023-01-09 14:54:28,219 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:28,219 chain INFO DONE - 1 rounds - chain=input_gml_sf_file|convert_to_geojson|output_geojson_file 
2023-01-09 14:54:28,219 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:28,219 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/12_gdal_ogr ~/project/stetl/git/examples/basics
==== running etl.sh for 12_gdal_ogr ====
2023-01-09 14:54:28,528 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:28,571 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:28,582 main INFO Stetl version = 2.1
2023-01-09 14:54:28,583 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:28,583 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/12_gdal_ogr
2023-01-09 14:54:28,583 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:28,584 ETL INFO START
2023-01-09 14:54:28,584 util INFO Timer start: total ETL
2023-01-09 14:54:28,584 chain INFO Assembling Chain: input_geojson_file|geojson_coll_to_ogr_feature_arr|output_ogr_gmlfile...
2023-01-09 14:54:28,596 input INFO cfg = {'class': 'stetl.inputs.fileinput.JsonFileInput', 'file_path': 'input/cities.geojson', 'output_format': 'geojson_collection'}
2023-01-09 14:54:28,596 fileinput INFO file_list=['input/cities.geojson']
2023-01-09 14:54:28,604 output INFO cfg = {'class': 'stetl.outputs.ogroutput.OgrOutput', 'input_format': 'ogr_feature_array', 'dest_data_source': 'output/cities.gml', 'overwrite': 'True', 'new_layer_name': 'cities', 'dest_format': 'GML'}
2023-01-09 14:54:28,604 chain INFO Running Chain: input_geojson_file|geojson_coll_to_ogr_feature_arr|output_ogr_gmlfile
2023-01-09 14:54:28,604 ogroutput INFO Using GDAL/OGR version: 3020200
2023-01-09 14:54:28,606 ogroutput INFO Opened OGR dest ok: output/cities.gml 
2023-01-09 14:54:28,606 fileinput INFO Read/parse for start for file=input/cities.geojson....
2023-01-09 14:54:28,607 fileinput INFO Read/parse ok for file=input/cities.geojson
2023-01-09 14:54:28,607 fileinput INFO all files done
2023-01-09 14:54:28,616 ogroutput INFO End writing to: output/cities.gml
2023-01-09 14:54:28,616 component INFO JsonFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,617 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.009 0.009 0.009 0.009
2023-01-09 14:54:28,617 component INFO OgrOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:28,617 chain INFO DONE - 1 rounds - chain=input_geojson_file|geojson_coll_to_ogr_feature_arr|output_ogr_gmlfile 
2023-01-09 14:54:28,617 chain INFO Assembling Chain: input_gml_file_to_array|ogr_feature_array_to_geojson_collection|tolowercase_filter|output_file...
2023-01-09 14:54:28,623 input INFO cfg = {'class': 'stetl.inputs.ogrinput.OgrInput', 'data_source': 'input/cities.gml', 'source_format': 'GML', 'output_format': 'ogr_feature_array'}
2023-01-09 14:54:28,626 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities.geojson'}
2023-01-09 14:54:28,626 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/12_gdal_ogr
2023-01-09 14:54:28,626 chain INFO Running Chain: input_gml_file_to_array|ogr_feature_array_to_geojson_collection|tolowercase_filter|output_file
2023-01-09 14:54:28,626 ogrinput INFO Using GDAL/OGR version: 3020200
2023-01-09 14:54:28,627 ogrinput INFO Opened OGR source ok: input/cities.gml layer count=1
2023-01-09 14:54:28,628 ogrinput INFO Start reading from OGR Source: input/cities.gml, Layer: heronfeat
2023-01-09 14:54:28,628 ogrinput INFO End reading all features from Layer: heronfeat count=5
2023-01-09 14:54:28,637 fileoutput INFO writing to file output/cities.geojson
2023-01-09 14:54:28,639 fileoutput INFO written to output/cities.geojson
2023-01-09 14:54:28,639 ogrinput INFO Closing OGR source: input/cities.gml
2023-01-09 14:54:28,640 component INFO OgrInput invokes=2 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:28,640 component INFO FormatConverter invokes=2 time(total, min, max, avg) = 0.008 0.008 0.008 0.004
2023-01-09 14:54:28,640 component INFO ToLowerFilter invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,640 component INFO FileOutput invokes=2 time(total, min, max, avg) = 0.002 0.002 0.002 0.001
2023-01-09 14:54:28,640 chain INFO DONE - 2 rounds - chain=input_gml_file_to_array|ogr_feature_array_to_geojson_collection|tolowercase_filter|output_file 
2023-01-09 14:54:28,640 chain INFO Assembling Chain: input_gml_file|output_ogr_shapefile...
2023-01-09 14:54:28,640 input INFO cfg = {'class': 'stetl.inputs.ogrinput.OgrInput', 'data_source': 'input/cities.gml', 'source_format': 'GML', 'source_options': "{'GDAL_CACHEMAX': '64', 'CPL_DEBUG': 'OFF'}", 'output_format': 'ogr_feature'}
2023-01-09 14:54:28,640 output INFO cfg = {'class': 'stetl.outputs.ogroutput.OgrOutput', 'input_format': 'ogr_feature', 'dest_data_source': 'output/cities.shp', 'overwrite': 'True', 'new_layer_name': 'cities', 'dest_format': 'ESRI Shapefile'}
2023-01-09 14:54:28,641 chain INFO Running Chain: input_gml_file|output_ogr_shapefile
2023-01-09 14:54:28,641 ogrinput INFO Using GDAL/OGR version: 3020200
2023-01-09 14:54:28,642 ogrinput INFO Opened OGR source ok: input/cities.gml layer count=1
2023-01-09 14:54:28,642 ogroutput INFO Using GDAL/OGR version: 3020200
2023-01-09 14:54:28,644 ogroutput INFO Opened OGR dest ok: output/cities.shp 
2023-01-09 14:54:28,644 ogrinput INFO Start reading from OGR Source: input/cities.gml, Layer: heronfeat
2023-01-09 14:54:28,645 ogrinput INFO End reading from Layer: heronfeat
2023-01-09 14:54:28,645 ogroutput INFO End writing to: output/cities.shp
2023-01-09 14:54:28,645 ogrinput INFO Closing OGR source: input/cities.gml
2023-01-09 14:54:28,645 ogroutput INFO End writing to: output/cities.shp
2023-01-09 14:54:28,645 component INFO OgrInput invokes=7 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,645 component INFO OgrOutput invokes=7 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:28,646 chain INFO DONE - 7 rounds - chain=input_gml_file|output_ogr_shapefile 
2023-01-09 14:54:28,646 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:28,646 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/13_dbinput ~/project/stetl/git/examples/basics
==== running etl.sh for 13_dbinput ====
2023-01-09 14:54:28,977 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:29,018 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:29,029 main INFO Stetl version = 2.1
2023-01-09 14:54:29,030 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:29,030 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/13_dbinput
2023-01-09 14:54:29,031 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:29,032 ETL INFO START
2023-01-09 14:54:29,032 util INFO Timer start: total ETL
2023-01-09 14:54:29,032 chain INFO Assembling Chain: input_sqlite_all|convert_records_to_json|output_cities_file...
2023-01-09 14:54:29,052 input INFO cfg = {'class': 'stetl.inputs.dbinput.SqliteDbInput', 'output_format': 'record_array', 'database_name': 'input/cities.sdb', 'table': 'cities', 'read_once': 'True', 'query': 'select * from cities'}
2023-01-09 14:54:29,059 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities.json'}
2023-01-09 14:54:29,059 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/13_dbinput
2023-01-09 14:54:29,059 chain INFO Running Chain: input_sqlite_all|convert_records_to_json|output_cities_file
2023-01-09 14:54:29,059 dbinput INFO Connect to SQLite DB: input/cities.sdb
2023-01-09 14:54:29,060 dbinput INFO Connect to SQLite DB: input/cities.sdb
2023-01-09 14:54:29,060 dbinput INFO 3 records read
2023-01-09 14:54:29,060 dbinput INFO Nothing to do. All file_records done
2023-01-09 14:54:29,061 fileoutput INFO writing to file output/cities.json
2023-01-09 14:54:29,061 fileoutput INFO written to output/cities.json
2023-01-09 14:54:29,062 component INFO SqliteDbInput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:29,062 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,062 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,062 chain INFO DONE - 1 rounds - chain=input_sqlite_all|convert_records_to_json|output_cities_file 
2023-01-09 14:54:29,062 chain INFO Assembling Chain: input_sqlite_single|convert_record_to_json|output_city_file...
2023-01-09 14:54:29,062 input INFO cfg = {'class': 'stetl.inputs.dbinput.SqliteDbInput', 'output_format': 'record', 'database_name': 'input/cities.sdb', 'table': 'cities', 'read_once': 'True', 'query': "select * from cities where name = 'Rome'"}
2023-01-09 14:54:29,062 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/city.json'}
2023-01-09 14:54:29,062 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/13_dbinput
2023-01-09 14:54:29,062 chain INFO Running Chain: input_sqlite_single|convert_record_to_json|output_city_file
2023-01-09 14:54:29,062 dbinput INFO Connect to SQLite DB: input/cities.sdb
2023-01-09 14:54:29,063 dbinput INFO Connect to SQLite DB: input/cities.sdb
2023-01-09 14:54:29,063 dbinput INFO 1 records read
2023-01-09 14:54:29,063 dbinput INFO Nothing to do. All file_records done
2023-01-09 14:54:29,063 fileoutput INFO writing to file output/city.json
2023-01-09 14:54:29,064 fileoutput INFO written to output/city.json
2023-01-09 14:54:29,064 component INFO SqliteDbInput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:29,064 component INFO FormatConverter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,064 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:29,064 chain INFO DONE - 1 rounds - chain=input_sqlite_single|convert_record_to_json|output_city_file 
2023-01-09 14:54:29,064 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:29,064 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/14_logfileinput ~/project/stetl/git/examples/basics
==== running etl.sh for 14_logfileinput ====
2023-01-09 14:54:29,394 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:29,436 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:29,448 main INFO Stetl version = 2.1
2023-01-09 14:54:29,449 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:29,449 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/14_logfileinput
2023-01-09 14:54:29,449 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:29,449 ETL WARNING Expanding config arguments (non fatal yet): argument of type 'NoneType' is not iterable
2023-01-09 14:54:29,450 ETL INFO START
2023-01-09 14:54:29,450 util INFO Timer start: total ETL
2023-01-09 14:54:29,450 chain INFO Assembling Chain: input_apache_log|to_record_array|output_std...
2023-01-09 14:54:29,463 input INFO cfg = {'class': 'stetl.inputs.fileinput.ApacheLogFileInput', 'log_format': '%h %l %u %t \\"%r\\" %>s %b \\"%{Referer}i\\" \\"%{User-agent}i\\" %D', 'key_map': '{\'%>s\': \'status\', \'%D\': \'deltat\', \'%{User-agent}i\': \'agent\', \'%b\': \'bytes\', \'%{Referer}i\': \'referer\', \'%t\': \'time\', "\'%h": \'host\', \'%r\': \'request\'}', 'file_path': 'input', 'filename_pattern': '*.log'}
2023-01-09 14:54:29,463 fileinput INFO file_list=['input/apache.log', 'input/apache2.log']
2023-01-09 14:54:29,471 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:29,471 chain INFO Running Chain: input_apache_log|to_record_array|output_std
2023-01-09 14:54:29,471 fileinput INFO file opened : input/apache.log
2023-01-09 14:54:29,472 fileinput INFO EOF file
2023-01-09 14:54:29,472 fileinput INFO file opened : input/apache2.log
[{'time': 20150420084459, 'request': '/map/gast/tms/1.0.0/opentopo/EPSG28992/6/32/40.png', 'status': 200, 'bytes': 32085, 'referer': 'http://217.21.192.135/sekaarten/?id=baggeren', 'agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', 'deltat': 2580, 'key': 'ebaac59b6e8d3b7ab59d51af0ed172e6'}, {'time': 20150420084459, 'request': '/map/gast/tms/1.0.0/opentopo/EPSG28992/6/32/41.png', 'status': 200, 'bytes': 10891, 'referer': 'http://217.21.192.135/sekaarten/?id=baggeren', 'agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', 'deltat': 2939, 'key': '4b1188e4af8d72201d4588a7ad9eaff4'}, {'time': 20150422150832, 'request': '/map/gast/tms/1.0.0/opentopo/EPSG28992/8/93/112.png', 'status': 200, 'bytes': 6859, 'referer': 'http://kadviewer.kademo.nl/', 'agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko', 'deltat': 30144, 'key': '1f798d3fa23682f3b50ceca93d762282'}, {'time': 20150422151830, 'request': '/map/gast/tms/1.0.0/opentopo/EPSG28992/12/2306/1962.png', 'status': 200, 'bytes': 19305, 'referer': 'http://kadviewer.kademo.nl/', 'agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko', 'deltat': 109691, 'key': 'd8cba52492542c87fe51377316fd6990'}, {'time': 20150422153023, 'request': '/map/gast/tms/1.0.0/bonne_test/EPSG900913/1', 'status': 404, 'bytes': 141, 'referer': None, 'agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', 'deltat': 1817, 'key': '3cf998185c137a40525c920184bbe45c'}, {'time': 20150422154124, 'request': '/map/gast/tiles/opentopo/EPSG900913/9/263/167.png', 'status': 200, 'bytes': 30537, 'referer': 'http://app.nlextract.nl/ot/opentopo.html', 'agent': 'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F69 Safari/600.1.4', 'deltat': 2208, 'key': 'c72b3f33a7f9460efb56bf6f0d6854ec'}, {'time': 20150422154124, 'request': '/map/gast/tiles/opentopo/EPSG900913/9/262/167.png', 'status': 200, 'bytes': 26812, 'referer': 'http://app.nlextract.nl/ot/opentopo.html', 'agent': 'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F69 Safari/600.1.4', 'deltat': 1992, 'key': 'b0f0bb899689f5a552d12a1598c7ab33'}, {'time': 20150421123121, 'request': '/map/gast/tms/1.0.0/opentopo/EPSG28992/13/4187/3689.png', 'status': 304, 'bytes': 0, 'referer': None, 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 2639355, 'key': 'd425582b2c2732e746e0597df83445ab'}, {'time': 20150421123142, 'request': '/map/gast/tms/1.0.0/opentopo/EPSG28992/13/4187/3689.png', 'status': 200, 'bytes': 36969, 'referer': None, 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 313308, 'key': 'a713075f19bebc775e5bd2142533befb'}, {'time': 20150421123143, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/tms/1.0.0/opentopo/EPSG28992/13/4187/3689.png', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 383, 'key': 'c9f87eb2b23df50405dc3c56b4fa206c'}]
[{'time': 20150421123333, 'request': '/map/gast/wmts', 'status': 500, 'bytes': 469, 'referer': None, 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 251096, 'key': 'c81ebd6e57b57f3e2cb7601020dba92e'}, {'time': 20150421123346, 'request': '/map/gast', 'status': 301, 'bytes': 297, 'referer': None, 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 240, 'key': 'b478500c42cee868ef3412cdcd8edd18'}, {'time': 20150421123354, 'request': '/map/gast/demo/', 'status': 200, 'bytes': 1912, 'referer': None, 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 309244, 'key': '3bb5447ae4fea97ecb8f3c4533a16cff'}, {'time': 20150421123354, 'request': '/map/gast/demo/static/logo.png', 'status': 200, 'bytes': 1368, 'referer': 'http://s.test.map5.nl/map/gast/demo/', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 93184, 'key': 'fe6b2a0eae0f127ace876ab4ce575974'}, {'time': 20150421123354, 'request': '/map/gast/demo/static/site.css', 'status': 200, 'bytes': 686, 'referer': 'http://s.test.map5.nl/map/gast/demo/', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 273346, 'key': '1269913ae3e14d5d50de22faced225d6'}, {'time': 20150421123400, 'request': '/map/gast/wmts/1.0.0/WMTSCapabilities.xml', 'status': 200, 'bytes': 20873, 'referer': None, 'agent': 'Python-urllib/2.7', 'deltat': 315229, 'key': 'a5e3f27196de18f34243f95b6458c336'}, {'time': 20150421123400, 'request': '/map/gast/demo/?wmts_capabilities', 'status': 200, 'bytes': 2522, 'referer': 'http://s.test.map5.nl/map/gast/demo/', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 623112, 'key': '40e71cbab8c6730cf3a775ccd4ae15d5'}, {'time': 20150421123401, 'request': '/map/gast/demo/static/site.css', 'status': 200, 'bytes': 686, 'referer': 'http://s.test.map5.nl/map/gast/demo/?wmts_capabilities', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 233173, 'key': '4f7c57f020b6799d73d197de93f0d171'}, {'time': 20150421123401, 'request': '/map/gast/demo/static/logo.png', 'status': 200, 'bytes': 1368, 'referer': 'http://s.test.map5.nl/map/gast/demo/?wmts_capabilities', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 219583, 'key': '65ab4672b9e0781515bc0bb528c61113'}, {'time': 20150421123416, 'request': '/map/gast/wmts/1.0.0/WMTSCapabilities.xml', 'status': 200, 'bytes': 2093, 'referer': 'http://s.test.map5.nl/map/gast/demo/', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 18173, 'key': '246ffee704fbe097d1402d3a1ed1219c'}]
[{'time': 20150421123420, 'request': '/map/gast/wmts/1.0.0', 'status': 500, 'bytes': 475, 'referer': None, 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 3407, 'key': '6280443cec1aeb5fef103018db2986f3'}, {'time': 20150421123447, 'request': '/map/gast/wmts/1.0.0?SERVICE=WMS&REQUEST=GetCapabilities', 'status': 500, 'bytes': 475, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 3203, 'key': '8c3590164c49c05c7a9b3d6234af6d9d'}, {'time': 20150421123447, 'request': '/map/gast/wmts/1.0.0?SERVICE=WMS&REQUEST=GetCapabilities', 'status': 500, 'bytes': 475, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 3017, 'key': '81aa1bf8abdd15d3d890bb9872e6c08d'}, {'time': 20150421123527, 'request': '/map/gast/wmts/1.0.0?service=WMTS&SERVICE=WMS&REQUEST=GetCapabilities', 'status': 500, 'bytes': 475, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2807, 'key': 'e310e1cb5b13e0582a78fcf2868ec55e'}, {'time': 20150421123527, 'request': '/map/gast/wmts/1.0.0?service=WMTS&SERVICE=WMS&REQUEST=GetCapabilities', 'status': 500, 'bytes': 475, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2838, 'key': '42e11e5c1970f448c14256bcd17da89a'}, {'time': 20150421123610, 'request': '/map/gast/service?REQUEST=GetCapabilities', 'status': 200, 'bytes': 11637, 'referer': 'http://s.test.map5.nl/map/gast/demo/', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 355693, 'key': '2958d227b88a685cc5b42a1190e3193e'}, {'time': 20150421123613, 'request': '/map/gast/service?REQUEST=GetCapabilities', 'status': 200, 'bytes': 11637, 'referer': None, 'agent': 'Python-urllib/2.7', 'deltat': 20349, 'key': '40f435dbe6a8e8a07c1057e32bc6abd8'}, {'time': 20150421123613, 'request': '/map/gast/demo/?wms_capabilities', 'status': 200, 'bytes': 2118, 'referer': 'http://s.test.map5.nl/map/gast/demo/', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 33616, 'key': '36ee1840512b1e1c403dddad2013866c'}, {'time': 20150421123613, 'request': '/map/gast/demo/static/site.css', 'status': 200, 'bytes': 686, 'referer': 'http://s.test.map5.nl/map/gast/demo/?wms_capabilities', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 11009, 'key': '944c43b2f9b543fd6fad1c3146784121'}, {'time': 20150421123613, 'request': '/map/gast/demo/static/logo.png', 'status': 200, 'bytes': 1368, 'referer': 'http://s.test.map5.nl/map/gast/demo/?wms_capabilities', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 548, 'key': '1c72a05fe738f1eafbeb8a2ddd73cb7d'}]
[{'time': 20150421123639, 'request': '/map/gast/service?SERVICE=WMS&REQUEST=GetCapabilities', 'status': 200, 'bytes': 11637, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 243456, 'key': 'c3cb6885b18a2ebbeda0bbd55c7de69c'}, {'time': 20150421123657, 'request': '/map/gast/service?SERVICE=WMS&REQUEST=GetCapabilities', 'status': 200, 'bytes': 11637, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 18184, 'key': '384d826747691d3d7fb6785c5d90000e'}, {'time': 20150421123657, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&SLD_VERSION=1.1.0&REQUEST=GetLegendGraphic&FORMAT=image/jpeg&LAYER=opentopo&STYLE=', 'status': 200, 'bytes': 299, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 23229, 'key': '472a83cd945bcdf8e500214596788c58'}, {'time': 20150421123657, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.88164117735196346,52.31994791109101328,4.89823868298099274,52.32472313490021776&SRS=EPSG:4326&WIDTH=2304&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 435275, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2497535, 'key': 'a7087b9f4e3893e0f816d9673ef33a4b'}, {'time': 20150421123831, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.88229860033138774,52.32140511929905102,4.89059794862468866,52.32379346153169308&SRS=EPSG:4326&WIDTH=2304&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 303472, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2524536, 'key': 'e097ff94711600a89c27aacd3837eec0'}, {'time': 20150421123835, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.88262727962318266,52.32213390486452909,4.88677710265483434,52.32332825857095315&SRS=EPSG:4326&WIDTH=2304&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 211421, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 100590, 'key': 'bf871baf1c60e493b26563365c1d5437'}, {'time': 20150421123836, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.87973479282001321,52.32194070900506233,4.88388482393072909,52.32313536508878826&SRS=EPSG:4326&WIDTH=2303&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 203168, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 733634, 'key': 'f569232c1cc8b044e5f5853c573c9ce9'}, {'time': 20150421123840, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.87937162596551133,52.32102294377313711,4.88767136038388816,52.32341189790105318&SRS=EPSG:4326&WIDTH=2304&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 285902, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 720723, 'key': 'efb02c9c1d7433024abfe22c83466236'}, {'time': 20150421123842, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.87864515655996378,52.31919416543242818,4.89524331676138758,52.32397064165057543&SRS=EPSG:4326&WIDTH=2304&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 415065, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 208428, 'key': 'dec22a8688dc93f17a397dd64d5c7cab'}, {'time': 20150421123843, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.87719189388992547,52.31554442593828469,4.91038298583838273,52.32509165098211668&SRS=EPSG:4326&WIDTH=2304&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 533192, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2053654, 'key': '79ecdee9ea0254e3c127cdad65a761ba'}]
[{'time': 20150421123846, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.87428421837786807,52.30826341961707726,4.94064551776737115,52.32733496592636868&SRS=EPSG:4326&WIDTH=2306&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 682877, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2593224, 'key': '42ba8b73064c6bd477cb18403c955c22'}, {'time': 20150421123849, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.86846485697270648,52.29372410561443019,5.0011039973744742,52.33177562740801392&SRS=EPSG:4326&WIDTH=2299&HEIGHT=659&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 844321, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1725956, 'key': '50c379ca256661340dcdf0eacbd5228c'}, {'time': 20150421123853, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.8386881899267058,52.26824729178458995,5.10374475576453523,52.34410523064467924&SRS=EPSG:4326&WIDTH=2302&HEIGHT=659&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 812335, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 716366, 'key': '60d8ea6774bbcbe81103896f7a9a1f79'}, {'time': 20150421123855, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.77894557379025109,52.21751645706958556,5.30817506128564354,52.36825370247181155&SRS=EPSG:4326&WIDTH=2298&HEIGHT=655&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 779078, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 692476, 'key': 'fdab043d42ece6d9d17422e5a5ed81e5'}, {'time': 20150421123857, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.65903537607470053,52.11649001307762319,5.72053894950784159,52.41540823102885582&SRS=EPSG:4326&WIDTH=2309&HEIGHT=650&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 682860, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 695197, 'key': '2ee339900bdde19db73b3a81ffc1563d'}, {'time': 20150421123859, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.4167226914176565,51.91069625797302223,6.55825004706046322,52.51214626634031646&SRS=EPSG:4326&WIDTH=2320&HEIGHT=651&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 817945, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 591190, 'key': 'b3dae38a189c37222c68519091ee1ce1'}, {'time': 20150421123901, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=3.91960989940337212,51.47689466327312147,7.27517291177000036,52.7270589886328267&SRS=EPSG:4326&WIDTH=1819&HEIGHT=678&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 593483, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 287085, 'key': 'e7a61b0ca02c86f82d2d3d6f318640c5'}, {'time': 20150421123903, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=3.19733405078999988,50.67175914229999734,7.27517291177000036,53.22782022896856802&SRS=EPSG:4326&WIDTH=1106&HEIGHT=693&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 317587, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 198528, 'key': 'f40689e447bcd0790099cee1dc2e3a3c'}, {'time': 20150421123905, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=3.91960989940337212,51.47689466327312147,7.27517291177000036,52.7270589886328267&SRS=EPSG:4326&WIDTH=1819&HEIGHT=678&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 593483, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 441662, 'key': '8a5c7bd42c7508ba0ecdc64569d1db54'}, {'time': 20150421123906, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.41536394174170166,51.91072288572560467,6.5568903118917472,52.51213375315666809&SRS=EPSG:4326&WIDTH=2320&HEIGHT=651&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 816821, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 280547, 'key': '35795db3bccb94bf07c54c080eedad64'}]
[{'time': 20150421123906, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.65634629858872362,52.116047279264194,5.71784019987099157,52.41501733832054555&SRS=EPSG:4326&WIDTH=2308&HEIGHT=650&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 687988, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1008772, 'key': '64439acf3e46f3a77291023cb2d5d390'}, {'time': 20150421123908, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.77526617288530009,52.21666243590728129,5.30452226852465358,52.36744868951445397&SRS=EPSG:4326&WIDTH=2298&HEIGHT=655&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 780735, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 252914, 'key': 'b30e4e0e48d7ec00d86dcbebeed01dce'}, {'time': 20150421123909, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.83418264422592525,52.26709043929363219,5.09925482811618025,52.34297845193199805&SRS=EPSG:4326&WIDTH=2301&HEIGHT=659&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 811840, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1417207, 'key': 'ae4ee7e29cbfab46fc2de968f41cec69'}, {'time': 20150421123911, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.86354731013050845,52.29241753793147041,4.99619483822194965,52.33048548888342566&SRS=EPSG:4326&WIDTH=2298&HEIGHT=659&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 847725, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 390434, 'key': '9ab54eaeb7b45e684cff8aac3701ae7e'}, {'time': 20150421123926, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.7983907345342578,52.30068851058355506,4.9312260836665196,52.33897414157453909&SRS=EPSG:4326&WIDTH=2311&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 787450, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 563186, 'key': 'ed23b4a7e23082467d297a4cf480a383'}, {'time': 20150421123930, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.82507774754855934,52.31044365558483378,4.89150389391215157,52.32959746344092622&SRS=EPSG:4326&WIDTH=2311&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 688485, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 927171, 'key': 'c8e3b28333546d94dbaf42ac14790b89'}, {'time': 20150421123932, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.83838815624467333,52.31532167233618935,4.87160336391397841,52.32490134373566093&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 628432, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 440856, 'key': '0eae21d76aa865a6dc5f8faeef37e9ca'}, {'time': 20150421123936, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.84504031284738623,52.31776082437207975,4.86164845074635377,52.32255135217919673&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 486076, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1516336, 'key': '641d29c55da009f8fc0cb576a4957ef2'}, {'time': 20150421123940, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.848365629293232,52.31898043640777018,4.85666983181408707,52.32137587336808338&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 282828, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1670260, 'key': 'dd9204535fb6519ad3c1ab52d6fd7c6b'}, {'time': 20150421123943, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.85002809706240523,52.31959025144288944,4.85418023172258284,52.32078801319095618&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 194466, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 215961, 'key': '00174d6069605a259e981d32e5693cc4'}]
[{'time': 20150421123945, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.85085928333482297,52.31989516121636541,4.8529353590157136,52.32049405290776178&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 160121, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 96065, 'key': 'b2b875a12dc9f84cd1a15808a2770642'}, {'time': 20150421123946, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.8512748645681425,52.32004761666721748,4.85231290449639907,52.3203470652173479&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 123241, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 390538, 'key': 'e4ee311694bc8ccff2c03d01ed20b505'}, {'time': 20150421124002, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.85093093342004078,52.31990548311836164,4.85300700678140018,52.32050437106456542&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 157238, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 147369, 'key': '81cd0aa96263882a66dd75e80a8ffb39'}, {'time': 20150421124003, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.85024305101700559,52.31962122226092049,4.85439517176004642,52.32081896153741951&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 199468, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 109193, 'key': '396264f0d5af44c57fca605d05a912f4'}, {'time': 20150421124004, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.84886720578289587,52.31905272550537234,4.8571713433574466,52.32144805759834583&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 300113, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 218693, 'key': '69111071cde61dd567de8ed0c5225a03'}, {'time': 20150421124005, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.84611519359641374,52.3179158318183184,4.86272305315710884,52.32270591019437944&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 489524, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 266274, 'key': '5c95ee33232301ed9d3c9e760d10682b'}, {'time': 20150421124006, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.84060980355999337,52.31564884059808662,4.87382386563584902,52.32522665442184007&SRS=EPSG:4326&WIDTH=2310&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 634317, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 268617, 'key': 'd306a68550d38971a3c18df20b507c88'}, {'time': 20150421124007, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.82961476217944696,52.31111656397721532,4.89603623584240832,52.33026278690169875&SRS=EPSG:4326&WIDTH=2311&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 696250, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 257901, 'key': '6fe96192df9dfe49f046bab41c2fd784'}, {'time': 20150421124009, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.85319246456894948,52.32761554091926115,4.91960915414784417,52.34672235725444267&SRS=EPSG:4326&WIDTH=2305&HEIGHT=663&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 750968, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1808540, 'key': '7fb50072ed919d6b5c704e8f51cdc901'}, {'time': 20150421124512, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 500, 'bytes': 602, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 466396, 'key': 'e071dd1f5fff22baf1c74fd67e8218c8'}]
[{'time': 20150421124530, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 500, 'bytes': 602, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 1937, 'key': '3fc2779d18d89281610f3909fd10eb9c'}, {'time': 20150421124607, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 500, 'bytes': 602, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 288315, 'key': '6e3aa859d7a2266f6069df276d6c42cb'}, {'time': 20150421124759, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 549090, 'key': 'd08cebca97d5f654b49c952b8ff44072'}, {'time': 20150421124803, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 333467, 'key': 'e78feb50d1d9a5e0c0e7d35a2ef9b067'}, {'time': 20150421124805, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 352004, 'key': '7fabd8ebb12bbf38f108f01b770009c3'}, {'time': 20150421124808, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 115182, 'key': '8c9de89621b623da59284f897e7d1f49'}, {'time': 20150421124810, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 115765, 'key': '509962636ac252e3d6fa376e97d984d4'}, {'time': 20150421124811, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 119957, 'key': '7b7e3cd94834c0e443fdeffb97b8a5ff'}, {'time': 20150421124813, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 363011, 'key': '13db62066ea7da96759af80d2b5b96fb'}, {'time': 20150421124815, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 386568, 'key': '46bf084dd695bb157f801a6a4b8aa51e'}]
[{'time': 20150421124818, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 365184, 'key': '3b5aebf0135fced85af5740e8c10e21c'}, {'time': 20150421124819, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 102, 'key': 'd09b23b15fc8afdad0fa44b5ac7277f6'}, {'time': 20150421124824, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.83005370038209136,52.33939510971103459,4.89651704885155681,52.35854062445694979&SRS=EPSG:4326&WIDTH=2313&HEIGHT=666&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 791655, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1757049, 'key': '2581e096d90bc840f05895dca4b51c2e'}, {'time': 20150421124828, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.79175980191256379,52.34824612602871241,4.85828446955923443,52.36745569430535596&SRS=EPSG:4326&WIDTH=2309&HEIGHT=667&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 749230, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1933968, 'key': '8206b19abb899ee47155ddf9eaaeab6f'}, {'time': 20150421124833, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.77385759552589573,52.35751052638513414,4.84041867055299946,52.37675005343851353&SRS=EPSG:4326&WIDTH=2308&HEIGHT=667&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 707773, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 2185241, 'key': '79442a1a17486347cde28cbed8674d34'}, {'time': 20150421124839, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.77125456138848403,52.37023903120333301,4.83783806710879727,52.3894829312327488&SRS=EPSG:4326&WIDTH=2309&HEIGHT=667&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 718675, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1532564, 'key': '043403e16ef23c168fcc45aa13b62129'}, {'time': 20150421124843, 'request': '/map/gast/service?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=4.76145165848030949,52.37107784519862719,4.82804874484703994,52.39033814774672493&SRS=EPSG:4326&WIDTH=2308&HEIGHT=667&LAYERS=opentopo&STYLES=&FORMAT=image/jpeg&DPI=72&MAP_RESOLUTION=72&FORMAT_OPTIONS=dpi:72', 'status': 200, 'bytes': 699224, 'referer': None, 'agent': 'Mozilla/5.0 QGIS/2.2.0-Valmiera', 'deltat': 1265574, 'key': '33db4f80078e75fd3153da085a4f8a02'}, {'time': 20150421124910, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 486046, 'key': '50581490a43cd0a1505f283ad25263cc'}, {'time': 20150421124914, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 376900, 'key': 'd9054c397c8f9a201c0c7ba21a86b29a'}, {'time': 20150421124914, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 365, 'key': 'a46a7dca0a22a96173a629f1e402c50f'}]2023-01-09 14:54:29,476 fileinput INFO EOF file
2023-01-09 14:54:29,476 fileinput INFO EOF file list
2023-01-09 14:54:29,476 component INFO ApacheLogFileInput invokes=112 time(total, min, max, avg) = 0.003 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,476 component INFO FormatConverter invokes=112 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,476 component INFO StandardOutput invokes=112 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,476 chain INFO DONE - 112 rounds - chain=input_apache_log|to_record_array|output_std 
2023-01-09 14:54:29,477 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:29,477 ETL INFO ALL DONE

[{'time': 20150421124916, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 340430, 'key': '87ff75f499f763a2961cf548948ef352'}, {'time': 20150421124916, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 378, 'key': '6a83dc1a105390e1008e7192bbe5a1be'}, {'time': 20150421124917, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 370053, 'key': '31f6b28a33aeaa15869d3d59c268689a'}, {'time': 20150421124918, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 379, 'key': '4ccdcbed272c57ca281962a7a6ae016e'}, {'time': 20150421124919, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 332777, 'key': 'c997cf43a1f5aebc5ad3927476ba05d3'}, {'time': 20150421124920, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 144, 'key': 'd0e0eadef74800211ed54589819bf8c6'}, {'time': 20150421124921, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 334352, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 109812, 'key': '5ae1a1c1833b39fb87341f93e1e4c599'}, {'time': 20150421124921, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 346, 'key': '58f8953967caa07f410268ba78cfbb6b'}, {'time': 20150421124922, 'request': '/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'status': 200, 'bytes': 331806, 'referer': 'http://s.test.map5.nl/map/gast/demo/?srs=EPSG%3A4326&format=image%2Fpng&wms_layer=opentopo', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 110987, 'key': '65a58d40b7c036dea544864e62aa7201'}, {'time': 20150421124923, 'request': '/favicon.ico', 'status': 404, 'bytes': 279, 'referer': 'http://s.test.map5.nl/map/gast/service?LAYERS=opentopo&FORMAT=image%2Fpng&SRS=EPSG%3A4326&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&BBOX=3.1235377115391,50.892941613156,5.4511713191977,52.087620966958&WIDTH=1169&HEIGHT=600', 'agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36', 'deltat': 478, 'key': '8f0db52735a42b970a136e905ec68cec'}]
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/15_splitter ~/project/stetl/git/examples/basics
==== running etl.sh for 15_splitter ====
2023-01-09 14:54:29,766 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:29,807 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:29,820 main INFO Stetl version = 2.1
2023-01-09 14:54:29,820 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:29,821 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/15_splitter
2023-01-09 14:54:29,821 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:29,822 ETL INFO START
2023-01-09 14:54:29,822 util INFO Timer start: total ETL
2023-01-09 14:54:29,822 chain INFO Assembling Chain: input_xml_file|transformer_xslt|(output_file)(output_std)...
2023-01-09 14:54:29,834 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:29,835 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:29,838 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:29,838 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/15_splitter
2023-01-09 14:54:29,839 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:29,839 chain INFO Running Chain: input_xml_file|transformer_xslt|(output_file)(output_std)
2023-01-09 14:54:29,839 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:29,839 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:29,839 fileinput INFO all files done
2023-01-09 14:54:29,840 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:29,840 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:29,840 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:29,840 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,840 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,840 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,840 component INFO StandardOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,840 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|(output_file)(output_std) 
2023-01-09 14:54:29,840 chain INFO Assembling Chain: input_xml_file |(transformer_xslt|output_file) (output_std) (transformer_xslt|output_std)...
2023-01-09 14:54:29,841 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:29,841 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:29,841 chain INFO Assembling Chain: transformer_xslt|output_file...
2023-01-09 14:54:29,841 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:29,841 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/15_splitter
2023-01-09 14:54:29,842 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:29,842 chain INFO Assembling Chain: transformer_xslt|output_std...
2023-01-09 14:54:29,842 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:29,842 chain INFO Running Chain: input_xml_file |(transformer_xslt|output_file) (output_std) (transformer_xslt|output_std)
2023-01-09 14:54:29,842 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:29,842 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:29,843 fileinput INFO all files done
2023-01-09 14:54:29,843 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:29,843 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:29,843 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:29,843 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:29,843 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,843 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,843 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,844 component INFO StandardOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,844 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,844 component INFO StandardOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:29,844 chain INFO DONE - 1 rounds - chain=input_xml_file |(transformer_xslt|output_file) (output_std) (transformer_xslt|output_std) 
2023-01-09 14:54:29,844 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:29,844 ETL INFO ALL DONE
<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

<?xml version='1.0' encoding='utf-8'?>
<cities>
  <city>
    <name>Amsterdam</name>
    <lat>52.4</lat>
    <lon>4.9</lon>
  </city>
  <city>
    <name>Bonn</name>
    <lat>50.7</lat>
    <lon>7.1</lon>
  </city>
  <city>
    <name>Rome</name>
    <lat>41.9</lat>
    <lon>12.5</lon>
  </city>
</cities>

<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/16_merger ~/project/stetl/git/examples/basics
==== running etl.sh for 16_merger ====
2023-01-09 14:54:30,133 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:30,175 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:30,186 main INFO Stetl version = 2.1
2023-01-09 14:54:30,187 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:30,187 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/16_merger
2023-01-09 14:54:30,187 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:30,188 ETL INFO START
2023-01-09 14:54:30,188 util INFO Timer start: total ETL
2023-01-09 14:54:30,188 chain INFO Assembling Chain: (input_1) (input_2)|transformer_xslt|output_std...
2023-01-09 14:54:30,200 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input1/cities.xml'}
2023-01-09 14:54:30,200 fileinput INFO file_list=['input1/cities.xml']
2023-01-09 14:54:30,200 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input2/cities.xml'}
2023-01-09 14:54:30,200 fileinput INFO file_list=['input2/cities.xml']
2023-01-09 14:54:30,203 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:30,203 chain INFO Running Chain: (input_1) (input_2)|transformer_xslt|output_std
2023-01-09 14:54:30,203 fileinput INFO Read/parse for start for file=input1/cities.xml....
2023-01-09 14:54:30,204 fileinput INFO Read/parse ok for file=input1/cities.xml
2023-01-09 14:54:30,204 fileinput INFO all files done
2023-01-09 14:54:30,204 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:30,204 fileinput INFO Read/parse for start for file=input2/cities.xml....
2023-01-09 14:54:30,204 fileinput INFO Read/parse ok for file=input2/cities.xml
2023-01-09 14:54:30,204 fileinput INFO all files done
2023-01-09 14:54:30,204 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:30,205 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,205 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,205 component INFO XsltFilter invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,205 component INFO StandardOutput invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,205 chain INFO DONE - 1 rounds - chain=(input_1) (input_2)|transformer_xslt|output_std 
2023-01-09 14:54:30,205 chain INFO Assembling Chain: (input_1) (input_2)|transformer_xslt|(output_file)(output_std)...
2023-01-09 14:54:30,205 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input1/cities.xml'}
2023-01-09 14:54:30,205 fileinput INFO file_list=['input1/cities.xml']
2023-01-09 14:54:30,205 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input2/cities.xml'}
2023-01-09 14:54:30,205 fileinput INFO file_list=['input2/cities.xml']
2023-01-09 14:54:30,207 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:30,207 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/16_merger
2023-01-09 14:54:30,207 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:30,207 chain INFO Running Chain: (input_1) (input_2)|transformer_xslt|(output_file)(output_std)
2023-01-09 14:54:30,207 fileinput INFO Read/parse for start for file=input1/cities.xml....
2023-01-09 14:54:30,207 fileinput INFO Read/parse ok for file=input1/cities.xml
2023-01-09 14:54:30,207 fileinput INFO all files done
2023-01-09 14:54:30,207 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:30,207 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:30,208 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:30,208 fileinput INFO Read/parse for start for file=input2/cities.xml....
2023-01-09 14:54:30,208 fileinput INFO Read/parse ok for file=input2/cities.xml
2023-01-09 14:54:30,208 fileinput INFO all files done
2023-01-09 14:54:30,208 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:30,208 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:30,209 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:30,209 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,209 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,209 component INFO XsltFilter invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,209 component INFO FileOutput invokes=2 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,209 component INFO StandardOutput invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,209 chain INFO DONE - 1 rounds - chain=(input_1) (input_2)|transformer_xslt|(output_file)(output_std) 
2023-01-09 14:54:30,209 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:30,209 ETL INFO ALL DONE
<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/17_sieve ~/project/stetl/git/examples/basics
==== running etl.sh for 17_sieve ====
2023-01-09 14:54:30,514 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:30,556 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:30,568 main INFO Stetl version = 2.1
2023-01-09 14:54:30,569 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:30,569 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/17_sieve
2023-01-09 14:54:30,570 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:30,570 ETL INFO START
2023-01-09 14:54:30,570 util INFO Timer start: total ETL
2023-01-09 14:54:30,570 chain INFO Assembling Chain: input_csv|attr_value_sieve|output_std...
2023-01-09 14:54:30,582 input INFO cfg = {'class': 'stetl.inputs.fileinput.CsvFileInput', 'file_path': 'input/cities.csv', 'output_format': 'record_array'}
2023-01-09 14:54:30,582 fileinput INFO file_list=['input/cities.csv']
2023-01-09 14:54:30,585 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:30,585 chain INFO Running Chain: input_csv|attr_value_sieve|output_std
2023-01-09 14:54:30,585 fileinput INFO Open CSV file: input/cities.csv
2023-01-09 14:54:30,586 component INFO CsvFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,586 component INFO AttrValueRecordSieve invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,586 component INFO StandardOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,586 chain INFO DONE - 1 rounds - chain=input_csv|attr_value_sieve|output_std 
2023-01-09 14:54:30,586 chain INFO Assembling Chain: input_csv|attr_value_sieve|output_file...
2023-01-09 14:54:30,586 input INFO cfg = {'class': 'stetl.inputs.fileinput.CsvFileInput', 'file_path': 'input/cities.csv', 'output_format': 'record_array'}
2023-01-09 14:54:30,586 fileinput INFO file_list=['input/cities.csv']
2023-01-09 14:54:30,587 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/cities_sieved.txt'}
2023-01-09 14:54:30,587 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/17_sieve
2023-01-09 14:54:30,587 chain INFO Running Chain: input_csv|attr_value_sieve|output_file
2023-01-09 14:54:30,587 fileinput INFO Open CSV file: input/cities.csv
2023-01-09 14:54:30,588 fileoutput INFO writing to file output/cities_sieved.txt
2023-01-09 14:54:30,588 fileoutput INFO written to output/cities_sieved.txt
2023-01-09 14:54:30,588 component INFO CsvFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,588 component INFO AttrValueRecordSieve invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,588 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,588 chain INFO DONE - 1 rounds - chain=input_csv|attr_value_sieve|output_file 
2023-01-09 14:54:30,588 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:30,588 ETL INFO ALL DONE
[{'city': 'amsterdam', 'lat': '52.4', 'lon': '4.9'}, {'city': 'otterlo', 'lat': '52.101', 'lon': '5.773'}]
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/1_copystd ~/project/stetl/git/examples/basics
==== running etl.sh for 1_copystd ====
2023-01-09 14:54:30,873 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:30,914 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:30,925 main INFO Stetl version = 2.1
2023-01-09 14:54:30,926 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:30,926 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/1_copystd
2023-01-09 14:54:30,927 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:30,927 ETL INFO START
2023-01-09 14:54:30,927 util INFO Timer start: total ETL
2023-01-09 14:54:30,927 chain INFO Assembling Chain: input_xml_file|output_std...
2023-01-09 14:54:30,940 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:30,940 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:30,941 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardXmlOutput'}
2023-01-09 14:54:30,941 chain INFO Running Chain: input_xml_file|output_std
2023-01-09 14:54:30,941 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:30,942 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:30,942 fileinput INFO all files done
2023-01-09 14:54:30,942 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:30,942 component INFO StandardXmlOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:30,942 chain INFO DONE - 1 rounds - chain=input_xml_file|output_std 
2023-01-09 14:54:30,942 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:30,942 ETL INFO ALL DONE
<?xml version='1.0' encoding='utf-8'?>
<cities>
    <city>
        <name>Amsterdam</name>
        <lat>52.4</lat>
        <lon>4.9</lon>
    </city>
    <city>
        <name>Bonn</name>
        <lat>50.7</lat>
        <lon>7.1</lon>
    </city>
    <city>
        <name>Rome</name>
        <lat>41.9</lat>
        <lon>12.5</lon>
    </city>
</cities>

~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/2_xslt ~/project/stetl/git/examples/basics
==== running etl.sh for 2_xslt ====
2023-01-09 14:54:31,229 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:31,271 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:31,282 main INFO Stetl version = 2.1
2023-01-09 14:54:31,283 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:31,283 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/2_xslt
2023-01-09 14:54:31,283 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:31,284 ETL INFO START
2023-01-09 14:54:31,284 util INFO Timer start: total ETL
2023-01-09 14:54:31,284 chain INFO Assembling Chain: input_xml_file|transformer_xslt|output_file...
2023-01-09 14:54:31,296 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:31,296 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:31,300 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:31,300 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/2_xslt
2023-01-09 14:54:31,300 chain INFO Running Chain: input_xml_file|transformer_xslt|output_file
2023-01-09 14:54:31,300 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:31,300 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:31,300 fileinput INFO all files done
2023-01-09 14:54:31,300 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:31,300 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:31,301 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:31,301 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:31,301 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:31,301 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:31,301 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|output_file 
2023-01-09 14:54:31,301 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:31,301 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/3_shape ~/project/stetl/git/examples/basics
==== running etl.sh for 3_shape ====
2023-01-09 14:54:31,631 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:31,672 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:31,684 main INFO Stetl version = 2.1
2023-01-09 14:54:31,684 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:31,685 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/3_shape
2023-01-09 14:54:31,685 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:31,685 ETL INFO START
2023-01-09 14:54:31,685 util INFO Timer start: total ETL
2023-01-09 14:54:31,686 chain INFO Assembling Chain: input_xml_file|transformer_xslt|output_ogr_shape...
2023-01-09 14:54:31,697 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:31,698 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:31,703 output INFO cfg = {'class': 'stetl.outputs.ogroutput.Ogr2OgrOutput', 'temp_file': 'temp/gmlcities.gml', 'ogr2ogr_cmd': 'ogr2ogr\n-overwrite\n-f "ESRI Shapefile"\n-a_srs epsg:4326\noutput/gmlcities.shp\ntemp/gmlcities.gml'}
2023-01-09 14:54:31,704 chain INFO Running Chain: input_xml_file|transformer_xslt|output_ogr_shape
2023-01-09 14:54:31,704 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:31,704 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:31,704 fileinput INFO all files done
2023-01-09 14:54:31,705 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:31,705 ogroutput INFO writing to file temp/gmlcities.gml
2023-01-09 14:54:31,705 ogroutput INFO written to temp/gmlcities.gml
2023-01-09 14:54:31,705 ogroutput INFO executing cmd=ogr2ogr -overwrite -f "ESRI Shapefile" -a_srs epsg:4326 output/gmlcities.shp temp/gmlcities.gml
2023-01-09 14:54:31,752 ogroutput INFO execute done
2023-01-09 14:54:31,752 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:31,752 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:31,752 component INFO Ogr2OgrOutput invokes=1 time(total, min, max, avg) = 0.047 0.047 0.047 0.047
2023-01-09 14:54:31,752 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|output_ogr_shape 
2023-01-09 14:54:31,752 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:31,752 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/4_validate ~/project/stetl/git/examples/basics
==== running etl.sh for 4_validate ====
2023-01-09 14:54:32,066 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:32,114 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:32,130 main INFO Stetl version = 2.1
2023-01-09 14:54:32,132 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:32,132 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/4_validate
2023-01-09 14:54:32,132 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:32,133 ETL INFO START
2023-01-09 14:54:32,133 util INFO Timer start: total ETL
2023-01-09 14:54:32,133 chain INFO Assembling Chain: input_xml_file|transformer_xslt|xml_schema_validator|output_file...
2023-01-09 14:54:32,146 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:32,146 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:32,149 xmlvalidator INFO Building the Schema once with (GML XSD) dependencies for schema=gmlcities.xsd (be patient...)
2023-01-09 14:54:33,814 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:33,814 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/4_validate
2023-01-09 14:54:33,814 chain INFO Running Chain: input_xml_file|transformer_xslt|xml_schema_validator|output_file
2023-01-09 14:54:33,814 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:33,815 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:33,815 fileinput INFO all files done
2023-01-09 14:54:33,815 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:33,815 xmlvalidator INFO Validating doc against schema=gmlcities.xsd ...
2023-01-09 14:54:33,815 xmlvalidator INFO Validation result: True
2023-01-09 14:54:33,815 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:33,816 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:33,816 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:33,816 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:33,816 component INFO XmlSchemaValidator invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:33,816 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:33,816 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|xml_schema_validator|output_file 
2023-01-09 14:54:33,816 util INFO Timer end: total ETL time=2.0 sec
2023-01-09 14:54:33,816 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/5_split ~/project/stetl/git/examples/basics
==== running etl.sh for 5_split ====
2023-01-09 14:54:34,133 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:34,179 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:34,193 main INFO Stetl version = 2.1
2023-01-09 14:54:34,194 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:34,194 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/5_split
2023-01-09 14:54:34,194 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:34,195 ETL INFO START
2023-01-09 14:54:34,195 util INFO Timer start: total ETL
2023-01-09 14:54:34,195 chain INFO Assembling Chain: input_big_xml_file|xml_assembler|transformer_xslt|multi_output_file...
2023-01-09 14:54:34,208 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlElementStreamerFileInput', 'file_path': 'input', 'element_tags': 'city'}
2023-01-09 14:54:34,208 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:34,208 fileinput INFO Element tags to be matched: ['city']
2023-01-09 14:54:34,210 xmlassembler INFO cfg = {'class': 'stetl.filters.xmlassembler.XmlAssembler', 'max_elements': '2', 'container_doc': "<?xml version='1.0' encoding='utf-8'?>\n<cities>\n</cities>", 'element_container_tag': 'cities'}
2023-01-09 14:54:34,213 output INFO cfg = {'class': 'stetl.outputs.fileoutput.MultiFileOutput', 'file_path': 'output/gmlcities-%03d.gml'}
2023-01-09 14:54:34,213 chain INFO Running Chain: input_big_xml_file|xml_assembler|transformer_xslt|multi_output_file
2023-01-09 14:54:34,213 fileinput INFO file opened : input/cities.xml
2023-01-09 14:54:34,214 xmlassembler INFO xmldoc ready: elms=2 total_elms=2
2023-01-09 14:54:34,214 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:34,214 fileoutput INFO writing to file output/gmlcities-001.gml
2023-01-09 14:54:34,214 fileoutput INFO written to output/gmlcities-001.gml
2023-01-09 14:54:34,215 fileinput INFO End of doc: input/cities.xml elem_count=3
2023-01-09 14:54:34,215 fileinput INFO End of stream
2023-01-09 14:54:34,215 xmlassembler INFO xmldoc ready: elms=1 total_elms=3
2023-01-09 14:54:34,215 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:34,215 fileoutput INFO writing to file output/gmlcities-002.gml
2023-01-09 14:54:34,215 fileoutput INFO written to output/gmlcities-002.gml
2023-01-09 14:54:34,215 component INFO XmlElementStreamerFileInput invokes=26 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,216 component INFO XmlAssembler invokes=26 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,216 component INFO XsltFilter invokes=26 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,216 component INFO MultiFileOutput invokes=26 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,216 chain INFO DONE - 26 rounds - chain=input_big_xml_file|xml_assembler|transformer_xslt|multi_output_file 
2023-01-09 14:54:34,216 chain INFO Assembling Chain: input_big_xml_file|xml_assembler|transformer_xslt|output_std...
2023-01-09 14:54:34,216 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlElementStreamerFileInput', 'file_path': 'input', 'element_tags': 'city'}
2023-01-09 14:54:34,216 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:34,216 fileinput INFO Element tags to be matched: ['city']
2023-01-09 14:54:34,216 xmlassembler INFO cfg = {'class': 'stetl.filters.xmlassembler.XmlAssembler', 'max_elements': '2', 'container_doc': "<?xml version='1.0' encoding='utf-8'?>\n<cities>\n</cities>", 'element_container_tag': 'cities'}
2023-01-09 14:54:34,218 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardXmlOutput'}
2023-01-09 14:54:34,218 chain INFO Running Chain: input_big_xml_file|xml_assembler|transformer_xslt|output_std
2023-01-09 14:54:34,218 fileinput INFO file opened : input/cities.xml
2023-01-09 14:54:34,219 xmlassembler INFO xmldoc ready: elms=2 total_elms=2
2023-01-09 14:54:34,219 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:34,219 fileinput INFO End of doc: input/cities.xml elem_count=3
2023-01-09 14:54:34,219 fileinput INFO End of stream
2023-01-09 14:54:34,219 xmlassembler INFO xmldoc ready: elms=1 total_elms=3
2023-01-09 14:54:34,220 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:34,220 component INFO XmlElementStreamerFileInput invokes=26 time(total, min, max, avg) = 0.001 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,220 component INFO XmlAssembler invokes=26 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,220 component INFO XsltFilter invokes=26 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,220 component INFO StandardXmlOutput invokes=26 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,220 chain INFO DONE - 26 rounds - chain=input_big_xml_file|xml_assembler|transformer_xslt|output_std 
2023-01-09 14:54:34,220 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:34,220 ETL INFO ALL DONE
<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Amsterdam</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>52.4,4.9</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Bonn</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>50.7,7.1</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

<?xml version='1.0' encoding='utf-8'?>
<ogr:FeatureCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://ogr.maptools.org/" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://ogr.maptools.org/ ../gmlcities.xsd  http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd">
  <gml:boundedBy>
    <gml:Box>
      <gml:coord>
        <gml:X>-180.0</gml:X>
        <gml:Y>-90.0</gml:Y>
      </gml:coord>
      <gml:coord>
        <gml:X>180.0</gml:X>
        <gml:Y>90.0</gml:Y>
      </gml:coord>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <ogr:City>
      <ogr:name>Rome</ogr:name>
      <ogr:geometry>
        <gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
          <gml:coordinates>41.9,12.5</gml:coordinates>
        </gml:Point>
      </ogr:geometry>
    </ogr:City>
  </gml:featureMember>
</ogr:FeatureCollection>

~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/6_cmdargs ~/project/stetl/git/examples/basics
==== running etl.sh for 6_cmdargs ====
2023-01-09 14:54:34,549 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:34,600 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:34,616 main INFO Stetl version = 2.1
2023-01-09 14:54:34,617 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:34,617 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/6_cmdargs
2023-01-09 14:54:34,618 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:34,619 ETL INFO Substituting 3 args in config file from args_dict: ['out_xml', 'in_xsl', 'in_xml']
2023-01-09 14:54:34,619 ETL INFO Substituting args OK
2023-01-09 14:54:34,619 ETL INFO START
2023-01-09 14:54:34,619 util INFO Timer start: total ETL
2023-01-09 14:54:34,619 chain INFO Assembling Chain: input_xml_file|transformer_xslt|output_file...
2023-01-09 14:54:34,631 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:34,631 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:34,635 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:34,635 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/6_cmdargs
2023-01-09 14:54:34,635 chain INFO Running Chain: input_xml_file|transformer_xslt|output_file
2023-01-09 14:54:34,635 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:34,635 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:34,635 fileinput INFO all files done
2023-01-09 14:54:34,636 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:34,636 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:34,636 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:34,636 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,636 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:34,637 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.001 0.001 0.001 0.001
2023-01-09 14:54:34,637 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|output_file 
2023-01-09 14:54:34,637 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:34,637 ETL INFO ALL DONE
2023-01-09 14:54:34,943 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:34,991 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:35,008 main INFO Stetl version = 2.1
2023-01-09 14:54:35,010 main INFO Found args file at: etl.args
2023-01-09 14:54:35,010 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:35,010 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/6_cmdargs
2023-01-09 14:54:35,011 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:35,011 ETL INFO Substituting 3 args in config file from args_dict: ['in_xsl', 'in_xml', 'out_xml']
2023-01-09 14:54:35,011 ETL INFO Substituting args OK
2023-01-09 14:54:35,011 ETL INFO START
2023-01-09 14:54:35,011 util INFO Timer start: total ETL
2023-01-09 14:54:35,011 chain INFO Assembling Chain: input_xml_file|transformer_xslt|output_file...
2023-01-09 14:54:35,024 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:35,024 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:35,027 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:35,027 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/6_cmdargs
2023-01-09 14:54:35,027 chain INFO Running Chain: input_xml_file|transformer_xslt|output_file
2023-01-09 14:54:35,027 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:35,028 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:35,028 fileinput INFO all files done
2023-01-09 14:54:35,028 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:35,028 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:35,028 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:35,028 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,028 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,029 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,029 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|output_file 
2023-01-09 14:54:35,029 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:35,029 ETL INFO ALL DONE
2023-01-09 14:54:35,326 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:35,370 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:35,386 main INFO Stetl version = 2.1
2023-01-09 14:54:35,387 main INFO Found args file at: etl.args
2023-01-09 14:54:35,388 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:35,388 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/6_cmdargs
2023-01-09 14:54:35,388 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:35,388 ETL INFO Substituting 3 args in config file from args_dict: ['in_xml', 'out_xml', 'in_xsl']
2023-01-09 14:54:35,389 ETL INFO Substituting args OK
2023-01-09 14:54:35,389 ETL INFO START
2023-01-09 14:54:35,389 util INFO Timer start: total ETL
2023-01-09 14:54:35,389 chain INFO Assembling Chain: input_xml_file|transformer_xslt|output_file...
2023-01-09 14:54:35,414 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/amsterdam.xml'}
2023-01-09 14:54:35,414 fileinput INFO file_list=['input/amsterdam.xml']
2023-01-09 14:54:35,418 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/gmlcities.gml'}
2023-01-09 14:54:35,418 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/6_cmdargs
2023-01-09 14:54:35,418 chain INFO Running Chain: input_xml_file|transformer_xslt|output_file
2023-01-09 14:54:35,418 fileinput INFO Read/parse for start for file=input/amsterdam.xml....
2023-01-09 14:54:35,419 fileinput INFO Read/parse ok for file=input/amsterdam.xml
2023-01-09 14:54:35,419 fileinput INFO all files done
2023-01-09 14:54:35,419 xsltfilter INFO XSLT Transform OK
2023-01-09 14:54:35,419 fileoutput INFO writing to file output/gmlcities.gml
2023-01-09 14:54:35,420 fileoutput INFO written to output/gmlcities.gml
2023-01-09 14:54:35,420 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,420 component INFO XsltFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,420 component INFO FileOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,420 chain INFO DONE - 1 rounds - chain=input_xml_file|transformer_xslt|output_file 
2023-01-09 14:54:35,420 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:35,420 ETL INFO ALL DONE
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/7_mycomponent ~/project/stetl/git/examples/basics
==== running etl.sh for 7_mycomponent ====
2023-01-09 14:54:35,728 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:35,776 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:35,792 main INFO Stetl version = 2.1
2023-01-09 14:54:35,793 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:35,793 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/7_mycomponent
2023-01-09 14:54:35,793 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:35,794 ETL INFO START
2023-01-09 14:54:35,794 util INFO Timer start: total ETL
2023-01-09 14:54:35,794 chain INFO Assembling Chain: input_xml_file|my_filter|output_std...
2023-01-09 14:54:35,807 input INFO cfg = {'class': 'stetl.inputs.fileinput.XmlFileInput', 'file_path': 'input/cities.xml'}
2023-01-09 14:54:35,807 fileinput INFO file_list=['input/cities.xml']
2023-01-09 14:54:35,809 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardXmlOutput'}
2023-01-09 14:54:35,809 chain INFO Running Chain: input_xml_file|my_filter|output_std
2023-01-09 14:54:35,809 fileinput INFO Read/parse for start for file=input/cities.xml....
2023-01-09 14:54:35,810 fileinput INFO Read/parse ok for file=input/cities.xml
2023-01-09 14:54:35,810 fileinput INFO all files done
2023-01-09 14:54:35,810 myfilter INFO CALLING MyFilter OK!!!!
2023-01-09 14:54:35,810 component INFO XmlFileInput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,810 component INFO MyFilter invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,810 component INFO StandardXmlOutput invokes=1 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:35,810 chain INFO DONE - 1 rounds - chain=input_xml_file|my_filter|output_std 
2023-01-09 14:54:35,810 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:35,810 ETL INFO ALL DONE
Welcome to Amsterdam !
Welcome to Bonn !
Welcome to Rome !
<?xml version='1.0' encoding='utf-8'?>
<cities>
    <city>
        <name>Amsterdam</name>
        <lat>52.4</lat>
        <lon>4.9</lon>
    </city>
    <city>
        <name>Bonn</name>
        <lat>50.7</lat>
        <lon>7.1</lon>
    </city>
    <city>
        <name>Rome</name>
        <lat>41.9</lat>
        <lon>12.5</lon>
    </city>
</cities>

~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/8_wfs ~/project/stetl/git/examples/basics
==== running etl.sh for 8_wfs ====
2023-01-09 14:54:36,114 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:36,161 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:36,179 main INFO Stetl version = 2.1
2023-01-09 14:54:36,180 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:36,181 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/8_wfs
2023-01-09 14:54:36,181 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:36,181 ETL INFO START
2023-01-09 14:54:36,181 util INFO Timer start: total ETL
2023-01-09 14:54:36,182 chain INFO Assembling Chain: input_wfs|output_std...
2023-01-09 14:54:36,197 input INFO cfg = {'class': 'stetl.inputs.httpinput.HttpInput', 'url': "https://service.pdok.nl/lv/bag/wfs/v2_0?'", 'parameters': '{\n\'service\' : \'WFS\',\n\'version\' : \'1.1.0\',\n\'request\' : \'GetFeature\',\n\'srsName\' : \'EPSG:28992\',\n\'outputFormat\' : \'text/xml; subtype=gml/2.1.2\',\n\'typename\' : \'verblijfsobject\',\n\'filter\' :\'<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:BBOX><gml:Envelope xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:28992"><gml:lowerCorner>183774.83 450577.24</gml:lowerCorner><gml:upperCorner>184277.99 450809.92</gml:upperCorner></gml:Envelope></ogc:BBOX></ogc:Filter>\'\n}'}
2023-01-09 14:54:36,198 httpinput INFO url=https://service.pdok.nl/lv/bag/wfs/v2_0?' parameters={'service': 'WFS', 'version': '1.1.0', 'request': 'GetFeature', 'srsName': 'EPSG:28992', 'outputFormat': 'text/xml; subtype=gml/2.1.2', 'typename': 'verblijfsobject', 'filter': '<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:BBOX><gml:Envelope xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:28992"><gml:lowerCorner>183774.83 450577.24</gml:lowerCorner><gml:upperCorner>184277.99 450809.92</gml:upperCorner></gml:Envelope></ogc:BBOX></ogc:Filter>'}
2023-01-09 14:54:36,199 output INFO cfg = {'class': 'stetl.outputs.standardoutput.StandardOutput'}
2023-01-09 14:54:36,199 chain INFO Running Chain: input_wfs|output_std
2023-01-09 14:54:36,666 httpinput INFO EOF URL reading done
2023-01-09 14:54:36,666 component INFO HttpInput invokes=2 time(total, min, max, avg) = 0.466 0.466 0.466 0.233
2023-01-09 14:54:36,666 component INFO StandardOutput invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:36,666 chain INFO DONE - 2 rounds - chain=input_wfs|output_std 
2023-01-09 14:54:36,666 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:36,666 ETL INFO ALL DONE
b'<?xml version=\'1.0\' encoding="UTF-8" ?>\n<wfs:FeatureCollection\n   xmlns:bag="http://bag.geonovum.nl"\n   xmlns:wfs="http://www.opengis.net/wfs"\n   xmlns:gml="http://www.opengis.net/gml"\n   xmlns:ogc="http://www.opengis.net/ogc"\n   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n   xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/WFS-basic.xsd \n                       http://bag.geonovum.nl https://service.pdok.nl/lv/bag/wfs/v2_0?SERVICE=WFS&amp;VERSION=1.1.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=verblijfsobject&amp;OUTPUTFORMAT=XMLSCHEMA">\n      <gml:boundedBy>\n      \t<gml:Box srsName="EPSG:28992">\n      \t\t<gml:coordinates>183936.000000,450637.000000 183987.000000,450673.000000</gml:coordinates>\n      \t</gml:Box>\n      </gml:boundedBy>\n    <gml:featureMember>\n      <bag:verblijfsobject fid="verblijfsobject.742c83ed-8ec2-46a9-bd6e-ef1a10af613b">\n        <gml:boundedBy>\n        \t<gml:Box srsName="EPSG:28992">\n        \t\t<gml:coordinates>183936.000000,450637.000000 183936.000000,450637.000000</gml:coordinates>\n        \t</gml:Box>\n        </gml:boundedBy>\n        <bag:geom>\n        <gml:Point srsName="EPSG:28992">\n          <gml:coordinates>183936.000000,450637.000000</gml:coordinates>\n        </gml:Point>\n        </bag:geom>\n        <bag:identificatie>0228010000047219</bag:identificatie>\n        <bag:rdf_seealso>http://bag.basisregistraties.overheid.nl/bag/id/verblijfsobject/0228010000047219</bag:rdf_seealso>\n        <bag:oppervlakte>121</bag:oppervlakte>\n        <bag:status>Verblijfsobject in gebruik</bag:status>\n        <bag:gebruiksdoel>woonfunctie</bag:gebruiksdoel>\n        <bag:openbare_ruimte>Harderwijkerweg</bag:openbare_ruimte>\n        <bag:huisnummer>1</bag:huisnummer>\n        <bag:huisletter></bag:huisletter>\n        <bag:toevoeging></bag:toevoeging>\n        <bag:postcode>6731ST</bag:postcode>\n        <bag:woonplaats>Otterlo</bag:woonplaats>\n        <bag:bouwjaar>1947</bag:bouwjaar>\n        <bag:pandidentificatie>0228100000027383</bag:pandidentificatie>\n        <bag:pandstatus>Pand in gebruik</bag:pandstatus>\n        <bag:fuuid>verblijfsobject.742c83ed-8ec2-46a9-bd6e-ef1a10af613b</bag:fuuid>\n      </bag:verblijfsobject>\n    </gml:featureMember>\n    <gml:featureMember>\n      <bag:verblijfsobject fid="verblijfsobject.ff541c7f-8132-423f-8717-a59ae3a1e29b">\n        <gml:boundedBy>\n        \t<gml:Box srsName="EPSG:28992">\n        \t\t<gml:coordinates>183987.000000,450673.000000 183987.000000,450673.000000</gml:coordinates>\n        \t</gml:Box>\n        </gml:boundedBy>\n        <bag:geom>\n        <gml:Point srsName="EPSG:28992">\n          <gml:coordinates>183987.000000,450673.000000</gml:coordinates>\n        </gml:Point>\n        </bag:geom>\n        <bag:identificatie>0228010000047281</bag:identificatie>\n        <bag:rdf_seealso>http://bag.basisregistraties.overheid.nl/bag/id/verblijfsobject/0228010000047281</bag:rdf_seealso>\n        <bag:oppervlakte>96</bag:oppervlakte>\n        <bag:status>Verblijfsobject in gebruik</bag:status>\n        <bag:gebruiksdoel>woonfunctie</bag:gebruiksdoel>\n        <bag:openbare_ruimte>Harderwijkerweg</bag:openbare_ruimte>\n        <bag:huisnummer>2</bag:huisnummer>\n        <bag:huisletter></bag:huisletter>\n        <bag:toevoeging></bag:toevoeging>\n        <bag:postcode>6731ST</bag:postcode>\n        <bag:woonplaats>Otterlo</bag:woonplaats>\n        <bag:bouwjaar>1947</bag:bouwjaar>\n        <bag:pandidentificatie>0228100000006908</bag:pandidentificatie>\n        <bag:pandstatus>Pand in gebruik</bag:pandstatus>\n        <bag:fuuid>verblijfsobject.ff541c7f-8132-423f-8717-a59ae3a1e29b</bag:fuuid>\n      </bag:verblijfsobject>\n    </gml:featureMember>\n</wfs:FeatureCollection>\n\n'
~/project/stetl/git/examples/basics
~/project/stetl/git/examples/basics/9_string_templating ~/project/stetl/git/examples/basics
==== running etl.sh for 9_string_templating ====
2023-01-09 14:54:36,977 util INFO Found lxml.etree, native XML parsing, fabulous!
2023-01-09 14:54:37,025 util INFO Found GDAL/OGR Python bindings, super!!
2023-01-09 14:54:37,041 main INFO Stetl version = 2.1
2023-01-09 14:54:37,042 ETL INFO INIT - Stetl version is 2.1
2023-01-09 14:54:37,043 ETL INFO Config/working dir = /Users/just/project/stetl/git/examples/basics/9_string_templating
2023-01-09 14:54:37,043 ETL INFO Reading config_file = etl.cfg
2023-01-09 14:54:37,043 ETL INFO START
2023-01-09 14:54:37,043 util INFO Timer start: total ETL
2023-01-09 14:54:37,044 chain INFO Assembling Chain: input_csv|filter_template|output_file...
2023-01-09 14:54:37,060 input INFO cfg = {'class': 'stetl.inputs.fileinput.CsvFileInput', 'file_path': 'input/city.csv', 'output_format': 'record'}
2023-01-09 14:54:37,060 fileinput INFO file_list=['input/city.csv']
2023-01-09 14:54:37,066 output INFO cfg = {'class': 'stetl.outputs.fileoutput.FileOutput', 'file_path': 'output/city.xml'}
2023-01-09 14:54:37,067 fileoutput INFO working dir /Users/just/project/stetl/git/examples/basics/9_string_templating
2023-01-09 14:54:37,067 chain INFO Running Chain: input_csv|filter_template|output_file
2023-01-09 14:54:37,067 fileinput INFO Open CSV file: input/city.csv
2023-01-09 14:54:37,067 templatingfilter INFO Init: templating
2023-01-09 14:54:37,067 templatingfilter INFO Init: reading template file %s ..." % self.template_file
2023-01-09 14:54:37,067 templatingfilter INFO template file read OK: city_template.xml
2023-01-09 14:54:37,068 fileinput INFO CSV row nr 1 read: {'city': 'amsterdam', 'lat': '52.4', 'lon': '4.9'}
2023-01-09 14:54:37,068 fileoutput INFO writing to file output/city.xml
2023-01-09 14:54:37,068 fileoutput INFO written to output/city.xml
2023-01-09 14:54:37,068 component INFO CsvFileInput invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:37,069 templatingfilter INFO Exit: templating
2023-01-09 14:54:37,069 component INFO StringTemplatingFilter invokes=2 time(total, min, max, avg) = 0.000 9223372036854775808.000 0.000 0.000
2023-01-09 14:54:37,069 component INFO FileOutput invokes=2 time(total, min, max, avg) = 0.001 0.001 0.001 0.000
2023-01-09 14:54:37,069 chain INFO DONE - 2 rounds - chain=input_csv|filter_template|output_file 
2023-01-09 14:54:37,069 util INFO Timer end: total ETL time=0.0 sec
2023-01-09 14:54:37,069 ETL INFO ALL DONE
~/project/stetl/git/examples/basics