wukong 3.0.0.pre → 3.0.0.pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +46 -33
- data/.gitmodules +3 -0
- data/.rspec +1 -1
- data/.travis.yml +8 -1
- data/.yardopts +0 -13
- data/Guardfile +4 -6
- data/{LICENSE.textile → LICENSE.md} +43 -55
- data/README-old.md +422 -0
- data/README.md +279 -418
- data/Rakefile +21 -5
- data/TODO.md +6 -6
- data/bin/wu-clean-encoding +31 -0
- data/bin/wu-lign +2 -2
- data/bin/wu-local +69 -0
- data/bin/wu-server +70 -0
- data/examples/Gemfile +38 -0
- data/examples/README.md +9 -0
- data/examples/dataflow/apache_log_line.rb +64 -25
- data/examples/dataflow/fibonacci_series.rb +101 -0
- data/examples/dataflow/parse_apache_logs.rb +37 -7
- data/examples/{dataflow.rb → dataflow/scraper_macro_flow.rb} +0 -0
- data/examples/dataflow/simple.rb +4 -4
- data/examples/geo.rb +4 -0
- data/examples/geo/geo_grids.numbers +0 -0
- data/examples/geo/geolocated.rb +331 -0
- data/examples/geo/quadtile.rb +69 -0
- data/examples/geo/spec/geolocated_spec.rb +247 -0
- data/examples/geo/tile_fetcher.rb +77 -0
- data/examples/graph/minimum_spanning_tree.rb +61 -61
- data/examples/jabberwocky.txt +36 -0
- data/examples/models/wikipedia.rb +20 -0
- data/examples/munging/Gemfile +8 -0
- data/examples/munging/airline_flights/airline.rb +57 -0
- data/examples/munging/airline_flights/airline_flights.rake +83 -0
- data/{lib/wukong/settings.rb → examples/munging/airline_flights/airplane.rb} +0 -0
- data/examples/munging/airline_flights/airport.rb +211 -0
- data/examples/munging/airline_flights/airport_id_unification.rb +129 -0
- data/examples/munging/airline_flights/airport_ok_chars.rb +4 -0
- data/examples/munging/airline_flights/flight.rb +156 -0
- data/examples/munging/airline_flights/models.rb +4 -0
- data/examples/munging/airline_flights/parse.rb +26 -0
- data/examples/munging/airline_flights/reconcile_airports.rb +142 -0
- data/examples/munging/airline_flights/route.rb +35 -0
- data/examples/munging/airline_flights/tasks.rake +83 -0
- data/examples/munging/airline_flights/timezone_fixup.rb +62 -0
- data/examples/munging/airline_flights/topcities.rb +167 -0
- data/examples/munging/airports/40_wbans.txt +40 -0
- data/examples/munging/airports/filter_weather_reports.rb +37 -0
- data/examples/munging/airports/join.pig +31 -0
- data/examples/munging/airports/to_tsv.rb +33 -0
- data/examples/munging/airports/usa_wbans.pig +19 -0
- data/examples/munging/airports/usa_wbans.txt +2157 -0
- data/examples/munging/airports/wbans.pig +19 -0
- data/examples/munging/airports/wbans.txt +2310 -0
- data/examples/munging/geo/geo_json.rb +54 -0
- data/examples/munging/geo/geo_models.rb +69 -0
- data/examples/munging/geo/geonames_models.rb +78 -0
- data/examples/munging/geo/iso_codes.rb +172 -0
- data/examples/munging/geo/reconcile_countries.rb +124 -0
- data/examples/munging/geo/tasks.rake +71 -0
- data/examples/munging/rake_helper.rb +62 -0
- data/examples/munging/weather/.gitignore +1 -0
- data/examples/munging/weather/Gemfile +4 -0
- data/examples/munging/weather/Rakefile +28 -0
- data/examples/munging/weather/extract_ish.rb +13 -0
- data/examples/munging/weather/models/weather.rb +119 -0
- data/examples/munging/weather/utils/noaa_downloader.rb +46 -0
- data/examples/munging/wikipedia/README.md +34 -0
- data/examples/munging/wikipedia/Rakefile +193 -0
- data/examples/munging/wikipedia/articles/extract_articles-parsed.rb +79 -0
- data/examples/munging/wikipedia/articles/extract_articles-templated.rb +136 -0
- data/examples/munging/wikipedia/articles/textualize_articles.rb +54 -0
- data/examples/munging/wikipedia/articles/verify_structure.rb +43 -0
- data/examples/munging/wikipedia/articles/wp2txt-LICENSE.txt +22 -0
- data/examples/munging/wikipedia/articles/wp2txt_article.rb +259 -0
- data/examples/munging/wikipedia/articles/wp2txt_utils.rb +452 -0
- data/examples/munging/wikipedia/dbpedia/dbpedia_common.rb +4 -0
- data/examples/munging/wikipedia/dbpedia/dbpedia_extract_geocoordinates.rb +78 -0
- data/examples/munging/wikipedia/dbpedia/extract_links.rb +193 -0
- data/examples/munging/wikipedia/dbpedia/sameas_extractor.rb +20 -0
- data/examples/munging/wikipedia/n1_subuniverse/n1_nodes.pig +18 -0
- data/examples/munging/wikipedia/page_metadata/extract_page_metadata.rb +21 -0
- data/examples/munging/wikipedia/page_metadata/extract_page_metadata.rb.old +27 -0
- data/examples/munging/wikipedia/pagelinks/augment_pagelinks.pig +29 -0
- data/examples/munging/wikipedia/pagelinks/extract_pagelinks.rb +14 -0
- data/examples/munging/wikipedia/pagelinks/extract_pagelinks.rb.old +25 -0
- data/examples/munging/wikipedia/pagelinks/undirect_pagelinks.pig +29 -0
- data/examples/munging/wikipedia/pageviews/augment_pageviews.pig +32 -0
- data/examples/munging/wikipedia/pageviews/extract_pageviews.rb +85 -0
- data/examples/munging/wikipedia/pig_style_guide.md +25 -0
- data/examples/munging/wikipedia/redirects/redirects_page_metadata.pig +19 -0
- data/examples/munging/wikipedia/subuniverse/sub_articles.pig +23 -0
- data/examples/munging/wikipedia/subuniverse/sub_page_metadata.pig +24 -0
- data/examples/munging/wikipedia/subuniverse/sub_pagelinks_from.pig +22 -0
- data/examples/munging/wikipedia/subuniverse/sub_pagelinks_into.pig +22 -0
- data/examples/munging/wikipedia/subuniverse/sub_pagelinks_within.pig +26 -0
- data/examples/munging/wikipedia/subuniverse/sub_pageviews.pig +29 -0
- data/examples/munging/wikipedia/subuniverse/sub_undirected_pagelinks_within.pig +24 -0
- data/examples/munging/wikipedia/utils/get_namespaces.rb +86 -0
- data/examples/munging/wikipedia/utils/munging_utils.rb +68 -0
- data/examples/munging/wikipedia/utils/namespaces.json +1 -0
- data/examples/rake_helper.rb +85 -0
- data/examples/server_logs/geo_ip_mapping/munge_geolite.rb +82 -0
- data/examples/server_logs/logline.rb +95 -0
- data/examples/server_logs/models.rb +66 -0
- data/examples/server_logs/page_counts.pig +48 -0
- data/examples/server_logs/server_logs-01-parse-script.rb +13 -0
- data/examples/server_logs/server_logs-02-histograms-full.rb +33 -0
- data/examples/server_logs/server_logs-02-histograms-mapper.rb +14 -0
- data/{old/examples/server_logs/breadcrumbs.rb → examples/server_logs/server_logs-03-breadcrumbs-full.rb} +26 -30
- data/examples/server_logs/server_logs-04-page_page_edges-full.rb +40 -0
- data/examples/string_reverser.rb +26 -0
- data/examples/text/pig_latin.rb +2 -2
- data/examples/text/regional_flavor/README.md +14 -0
- data/examples/text/regional_flavor/article_wordbags.pig +39 -0
- data/examples/text/regional_flavor/j01-article_wordbags.rb +4 -0
- data/examples/text/regional_flavor/simple_pig_script.pig +27 -0
- data/examples/word_count/accumulator.rb +26 -0
- data/examples/word_count/tokenizer.rb +13 -0
- data/examples/word_count/word_count.rb +6 -0
- data/examples/workflow/cherry_pie.dot +97 -0
- data/examples/workflow/cherry_pie.png +0 -0
- data/examples/workflow/cherry_pie.rb +61 -26
- data/lib/hanuman.rb +34 -7
- data/lib/hanuman/graph.rb +55 -31
- data/lib/hanuman/graphvizzer.rb +199 -178
- data/lib/hanuman/graphvizzer/gv_models.rb +161 -0
- data/lib/hanuman/graphvizzer/gv_presenter.rb +97 -0
- data/lib/hanuman/link.rb +35 -0
- data/lib/hanuman/registry.rb +46 -0
- data/lib/hanuman/stage.rb +76 -32
- data/lib/wukong.rb +23 -24
- data/lib/wukong/boot.rb +87 -0
- data/lib/wukong/configuration.rb +8 -0
- data/lib/wukong/dataflow.rb +45 -78
- data/lib/wukong/driver.rb +99 -0
- data/lib/wukong/emitter.rb +22 -0
- data/lib/wukong/model/faker.rb +24 -24
- data/lib/wukong/model/flatpack_parser/flat.rb +60 -0
- data/lib/wukong/model/flatpack_parser/flatpack.rb +4 -0
- data/lib/wukong/model/flatpack_parser/lang.rb +46 -0
- data/lib/wukong/model/flatpack_parser/parser.rb +55 -0
- data/lib/wukong/model/flatpack_parser/tokens.rb +130 -0
- data/lib/wukong/processor.rb +60 -114
- data/lib/wukong/spec_helpers.rb +81 -0
- data/lib/wukong/spec_helpers/integration_driver.rb +144 -0
- data/lib/wukong/spec_helpers/integration_driver_matchers.rb +219 -0
- data/lib/wukong/spec_helpers/processor_helpers.rb +95 -0
- data/lib/wukong/spec_helpers/processor_methods.rb +108 -0
- data/lib/wukong/spec_helpers/shared_examples.rb +15 -0
- data/lib/wukong/spec_helpers/spec_driver.rb +28 -0
- data/lib/wukong/spec_helpers/spec_driver_matchers.rb +195 -0
- data/lib/wukong/version.rb +2 -1
- data/lib/wukong/widget/filters.rb +311 -0
- data/lib/wukong/widget/processors.rb +156 -0
- data/lib/wukong/widget/reducers.rb +7 -0
- data/lib/wukong/widget/reducers/accumulator.rb +73 -0
- data/lib/wukong/widget/reducers/bin.rb +318 -0
- data/lib/wukong/widget/reducers/count.rb +61 -0
- data/lib/wukong/widget/reducers/group.rb +85 -0
- data/lib/wukong/widget/reducers/group_concat.rb +70 -0
- data/lib/wukong/widget/reducers/moments.rb +72 -0
- data/lib/wukong/widget/reducers/sort.rb +130 -0
- data/lib/wukong/widget/serializers.rb +287 -0
- data/lib/wukong/widget/sink.rb +10 -52
- data/lib/wukong/widget/source.rb +7 -113
- data/lib/wukong/widget/utils.rb +46 -0
- data/lib/wukong/widgets.rb +6 -0
- data/spec/examples/dataflow/fibonacci_series_spec.rb +18 -0
- data/spec/examples/dataflow/parsing_spec.rb +12 -11
- data/spec/examples/dataflow/simple_spec.rb +32 -6
- data/spec/examples/dataflow/telegram_spec.rb +36 -36
- data/spec/examples/graph/minimum_spanning_tree_spec.rb +30 -31
- data/spec/examples/munging/airline_flights/identifiers_spec.rb +16 -0
- data/spec/examples/munging/airline_flights_spec.rb +202 -0
- data/spec/examples/text/pig_latin_spec.rb +13 -16
- data/spec/examples/workflow/cherry_pie_spec.rb +34 -4
- data/spec/hanuman/graph_spec.rb +27 -2
- data/spec/hanuman/hanuman_spec.rb +10 -0
- data/spec/hanuman/registry_spec.rb +123 -0
- data/spec/hanuman/stage_spec.rb +61 -7
- data/spec/spec_helper.rb +29 -19
- data/spec/support/hanuman_test_helpers.rb +14 -12
- data/spec/support/shared_context_for_reducers.rb +37 -0
- data/spec/support/shared_examples_for_builders.rb +101 -0
- data/spec/support/shared_examples_for_shortcuts.rb +57 -0
- data/spec/support/wukong_test_helpers.rb +37 -11
- data/spec/wukong/dataflow_spec.rb +77 -55
- data/spec/wukong/local_runner_spec.rb +24 -24
- data/spec/wukong/model/faker_spec.rb +132 -131
- data/spec/wukong/runner_spec.rb +8 -8
- data/spec/wukong/widget/filters_spec.rb +61 -0
- data/spec/wukong/widget/processors_spec.rb +126 -0
- data/spec/wukong/widget/reducers/bin_spec.rb +92 -0
- data/spec/wukong/widget/reducers/count_spec.rb +11 -0
- data/spec/wukong/widget/reducers/group_spec.rb +20 -0
- data/spec/wukong/widget/reducers/moments_spec.rb +36 -0
- data/spec/wukong/widget/reducers/sort_spec.rb +26 -0
- data/spec/wukong/widget/serializers_spec.rb +92 -0
- data/spec/wukong/widget/sink_spec.rb +15 -15
- data/spec/wukong/widget/source_spec.rb +65 -41
- data/spec/wukong/wukong_spec.rb +10 -0
- data/wukong.gemspec +17 -10
- metadata +359 -335
- data/.document +0 -5
- data/VERSION +0 -1
- data/bin/hdp-bin +0 -44
- data/bin/hdp-bzip +0 -23
- data/bin/hdp-cat +0 -3
- data/bin/hdp-catd +0 -3
- data/bin/hdp-cp +0 -3
- data/bin/hdp-du +0 -86
- data/bin/hdp-get +0 -3
- data/bin/hdp-kill +0 -3
- data/bin/hdp-kill-task +0 -3
- data/bin/hdp-ls +0 -11
- data/bin/hdp-mkdir +0 -2
- data/bin/hdp-mkdirp +0 -12
- data/bin/hdp-mv +0 -3
- data/bin/hdp-parts_to_keys.rb +0 -77
- data/bin/hdp-ps +0 -3
- data/bin/hdp-put +0 -3
- data/bin/hdp-rm +0 -32
- data/bin/hdp-sort +0 -40
- data/bin/hdp-stream +0 -40
- data/bin/hdp-stream-flat +0 -22
- data/bin/hdp-stream2 +0 -39
- data/bin/hdp-sync +0 -17
- data/bin/hdp-wc +0 -67
- data/bin/wu-flow +0 -10
- data/bin/wu-map +0 -17
- data/bin/wu-red +0 -17
- data/bin/wukong +0 -17
- data/data/CREDITS.md +0 -355
- data/data/graph/airfares.tsv +0 -2174
- data/data/text/gift_of_the_magi.txt +0 -225
- data/data/text/jabberwocky.txt +0 -36
- data/data/text/rectification_of_names.txt +0 -33
- data/data/twitter/a_atsigns_b.tsv +0 -64
- data/data/twitter/a_follows_b.tsv +0 -53
- data/data/twitter/tweet.tsv +0 -167
- data/data/twitter/twitter_user.tsv +0 -55
- data/data/wikipedia/dbpedia-sentences.tsv +0 -1000
- data/docpages/INSTALL.textile +0 -92
- data/docpages/LICENSE.textile +0 -107
- data/docpages/README-elastic_map_reduce.textile +0 -377
- data/docpages/README-performance.textile +0 -90
- data/docpages/README-wulign.textile +0 -65
- data/docpages/UsingWukong-part1-get_ready.textile +0 -17
- data/docpages/UsingWukong-part2-ThinkingBigData.textile +0 -75
- data/docpages/UsingWukong-part3-parsing.textile +0 -138
- data/docpages/_config.yml +0 -39
- data/docpages/avro/avro_notes.textile +0 -56
- data/docpages/avro/performance.textile +0 -36
- data/docpages/avro/tethering.textile +0 -19
- data/docpages/bigdata-tips.textile +0 -143
- data/docpages/code/api_response_example.txt +0 -20
- data/docpages/code/parser_skeleton.rb +0 -38
- data/docpages/diagrams/MapReduceDiagram.graffle +0 -0
- data/docpages/favicon.ico +0 -0
- data/docpages/gem.css +0 -16
- data/docpages/hadoop-tips.textile +0 -83
- data/docpages/index.textile +0 -92
- data/docpages/intro.textile +0 -8
- data/docpages/moreinfo.textile +0 -174
- data/docpages/news.html +0 -24
- data/docpages/pig/PigLatinExpressionsList.txt +0 -122
- data/docpages/pig/PigLatinReferenceManual.txt +0 -1640
- data/docpages/pig/commandline_params.txt +0 -26
- data/docpages/pig/cookbook.html +0 -481
- data/docpages/pig/images/hadoop-logo.jpg +0 -0
- data/docpages/pig/images/instruction_arrow.png +0 -0
- data/docpages/pig/images/pig-logo.gif +0 -0
- data/docpages/pig/piglatin_ref1.html +0 -1103
- data/docpages/pig/piglatin_ref2.html +0 -14340
- data/docpages/pig/setup.html +0 -505
- data/docpages/pig/skin/basic.css +0 -166
- data/docpages/pig/skin/breadcrumbs.js +0 -237
- data/docpages/pig/skin/fontsize.js +0 -166
- data/docpages/pig/skin/getBlank.js +0 -40
- data/docpages/pig/skin/getMenu.js +0 -45
- data/docpages/pig/skin/images/chapter.gif +0 -0
- data/docpages/pig/skin/images/chapter_open.gif +0 -0
- data/docpages/pig/skin/images/current.gif +0 -0
- data/docpages/pig/skin/images/external-link.gif +0 -0
- data/docpages/pig/skin/images/header_white_line.gif +0 -0
- data/docpages/pig/skin/images/page.gif +0 -0
- data/docpages/pig/skin/images/pdfdoc.gif +0 -0
- data/docpages/pig/skin/images/rc-b-l-15-1body-2menu-3menu.png +0 -0
- data/docpages/pig/skin/images/rc-b-r-15-1body-2menu-3menu.png +0 -0
- data/docpages/pig/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png +0 -0
- data/docpages/pig/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png +0 -0
- data/docpages/pig/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png +0 -0
- data/docpages/pig/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png +0 -0
- data/docpages/pig/skin/images/rc-t-r-15-1body-2menu-3menu.png +0 -0
- data/docpages/pig/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png +0 -0
- data/docpages/pig/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png +0 -0
- data/docpages/pig/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png +0 -0
- data/docpages/pig/skin/print.css +0 -54
- data/docpages/pig/skin/profile.css +0 -181
- data/docpages/pig/skin/screen.css +0 -587
- data/docpages/pig/tutorial.html +0 -1059
- data/docpages/pig/udf.html +0 -1509
- data/docpages/tutorial.textile +0 -283
- data/docpages/usage.textile +0 -195
- data/docpages/wutils.textile +0 -263
- data/examples/dataflow/complex.rb +0 -11
- data/examples/dataflow/donuts.rb +0 -13
- data/examples/tiny_count/jabberwocky_output.tsv +0 -92
- data/examples/word_count.rb +0 -48
- data/examples/workflow/fiddle.rb +0 -24
- data/lib/away/escapement.rb +0 -129
- data/lib/away/exe.rb +0 -11
- data/lib/away/experimental.rb +0 -5
- data/lib/away/from_file.rb +0 -52
- data/lib/away/job.rb +0 -56
- data/lib/away/job/rake_compat.rb +0 -17
- data/lib/away/registry.rb +0 -79
- data/lib/away/runner.rb +0 -276
- data/lib/away/runner/execute.rb +0 -121
- data/lib/away/script.rb +0 -161
- data/lib/away/script/hadoop_command.rb +0 -240
- data/lib/away/source/file_list_source.rb +0 -15
- data/lib/away/source/looper.rb +0 -18
- data/lib/away/task.rb +0 -219
- data/lib/hanuman/action.rb +0 -21
- data/lib/hanuman/chain.rb +0 -4
- data/lib/hanuman/graphviz.rb +0 -74
- data/lib/hanuman/resource.rb +0 -6
- data/lib/hanuman/slot.rb +0 -87
- data/lib/hanuman/slottable.rb +0 -220
- data/lib/wukong/bad_record.rb +0 -15
- data/lib/wukong/event.rb +0 -44
- data/lib/wukong/local_runner.rb +0 -55
- data/lib/wukong/mapred.rb +0 -3
- data/lib/wukong/universe.rb +0 -48
- data/lib/wukong/widget/filter.rb +0 -81
- data/lib/wukong/widget/gibberish.rb +0 -123
- data/lib/wukong/widget/monitor.rb +0 -26
- data/lib/wukong/widget/reducer.rb +0 -66
- data/lib/wukong/widget/stringifier.rb +0 -50
- data/lib/wukong/workflow.rb +0 -22
- data/lib/wukong/workflow/command.rb +0 -42
- data/old/config/emr-example.yaml +0 -48
- data/old/examples/README.txt +0 -17
- data/old/examples/contrib/jeans/README.markdown +0 -165
- data/old/examples/contrib/jeans/data/normalized_sizes +0 -3
- data/old/examples/contrib/jeans/data/orders.tsv +0 -1302
- data/old/examples/contrib/jeans/data/sizes +0 -3
- data/old/examples/contrib/jeans/normalize.rb +0 -20
- data/old/examples/contrib/jeans/sizes.rb +0 -55
- data/old/examples/corpus/bnc_word_freq.rb +0 -44
- data/old/examples/corpus/bucket_counter.rb +0 -47
- data/old/examples/corpus/dbpedia_abstract_to_sentences.rb +0 -86
- data/old/examples/corpus/sentence_bigrams.rb +0 -53
- data/old/examples/corpus/sentence_coocurrence.rb +0 -66
- data/old/examples/corpus/stopwords.rb +0 -138
- data/old/examples/corpus/words_to_bigrams.rb +0 -53
- data/old/examples/emr/README.textile +0 -110
- data/old/examples/emr/dot_wukong_dir/credentials.json +0 -7
- data/old/examples/emr/dot_wukong_dir/emr.yaml +0 -69
- data/old/examples/emr/dot_wukong_dir/emr_bootstrap.sh +0 -33
- data/old/examples/emr/elastic_mapreduce_example.rb +0 -28
- data/old/examples/network_graph/adjacency_list.rb +0 -74
- data/old/examples/network_graph/breadth_first_search.rb +0 -72
- data/old/examples/network_graph/gen_2paths.rb +0 -68
- data/old/examples/network_graph/gen_multi_edge.rb +0 -112
- data/old/examples/network_graph/gen_symmetric_links.rb +0 -64
- data/old/examples/pagerank/README.textile +0 -6
- data/old/examples/pagerank/gen_initial_pagerank_graph.pig +0 -57
- data/old/examples/pagerank/pagerank.rb +0 -72
- data/old/examples/pagerank/pagerank_initialize.rb +0 -42
- data/old/examples/pagerank/run_pagerank.sh +0 -21
- data/old/examples/sample_records.rb +0 -33
- data/old/examples/server_logs/apache_log_parser.rb +0 -15
- data/old/examples/server_logs/nook.rb +0 -48
- data/old/examples/server_logs/nook/faraday_dummy_adapter.rb +0 -94
- data/old/examples/server_logs/user_agent.rb +0 -40
- data/old/examples/simple_word_count.rb +0 -82
- data/old/examples/size.rb +0 -61
- data/old/examples/stats/avg_value_frequency.rb +0 -86
- data/old/examples/stats/binning_percentile_estimator.rb +0 -140
- data/old/examples/stats/data/avg_value_frequency.tsv +0 -3
- data/old/examples/stats/rank_and_bin.rb +0 -173
- data/old/examples/stupidly_simple_filter.rb +0 -40
- data/old/examples/word_count.rb +0 -75
- data/old/graph/graphviz_builder.rb +0 -580
- data/old/graph_easy/Attributes.pm +0 -4181
- data/old/graph_easy/Graphviz.pm +0 -2232
- data/old/wukong.rb +0 -18
- data/old/wukong/and_pig.rb +0 -38
- data/old/wukong/bad_record.rb +0 -18
- data/old/wukong/datatypes.rb +0 -24
- data/old/wukong/datatypes/enum.rb +0 -127
- data/old/wukong/datatypes/fake_types.rb +0 -17
- data/old/wukong/decorator.rb +0 -28
- data/old/wukong/encoding/asciize.rb +0 -108
- data/old/wukong/extensions.rb +0 -16
- data/old/wukong/extensions/array.rb +0 -18
- data/old/wukong/extensions/blank.rb +0 -93
- data/old/wukong/extensions/class.rb +0 -189
- data/old/wukong/extensions/date_time.rb +0 -53
- data/old/wukong/extensions/emittable.rb +0 -69
- data/old/wukong/extensions/enumerable.rb +0 -79
- data/old/wukong/extensions/hash.rb +0 -167
- data/old/wukong/extensions/hash_keys.rb +0 -16
- data/old/wukong/extensions/hash_like.rb +0 -150
- data/old/wukong/extensions/hashlike_class.rb +0 -47
- data/old/wukong/extensions/module.rb +0 -2
- data/old/wukong/extensions/pathname.rb +0 -27
- data/old/wukong/extensions/string.rb +0 -65
- data/old/wukong/extensions/struct.rb +0 -17
- data/old/wukong/extensions/symbol.rb +0 -11
- data/old/wukong/filename_pattern.rb +0 -74
- data/old/wukong/helper.rb +0 -7
- data/old/wukong/helper/stopwords.rb +0 -195
- data/old/wukong/helper/tokenize.rb +0 -35
- data/old/wukong/logger.rb +0 -38
- data/old/wukong/periodic_monitor.rb +0 -72
- data/old/wukong/schema.rb +0 -269
- data/old/wukong/script.rb +0 -286
- data/old/wukong/script/avro_command.rb +0 -5
- data/old/wukong/script/cassandra_loader_script.rb +0 -40
- data/old/wukong/script/emr_command.rb +0 -168
- data/old/wukong/script/hadoop_command.rb +0 -237
- data/old/wukong/script/local_command.rb +0 -41
- data/old/wukong/store.rb +0 -10
- data/old/wukong/store/base.rb +0 -27
- data/old/wukong/store/cassandra.rb +0 -10
- data/old/wukong/store/cassandra/streaming.rb +0 -75
- data/old/wukong/store/cassandra/struct_loader.rb +0 -21
- data/old/wukong/store/cassandra_model.rb +0 -91
- data/old/wukong/store/chh_chunked_flat_file_store.rb +0 -37
- data/old/wukong/store/chunked_flat_file_store.rb +0 -48
- data/old/wukong/store/conditional_store.rb +0 -57
- data/old/wukong/store/factory.rb +0 -8
- data/old/wukong/store/flat_file_store.rb +0 -89
- data/old/wukong/store/key_store.rb +0 -51
- data/old/wukong/store/null_store.rb +0 -15
- data/old/wukong/store/read_thru_store.rb +0 -22
- data/old/wukong/store/tokyo_tdb_key_store.rb +0 -33
- data/old/wukong/store/tyrant_rdb_key_store.rb +0 -57
- data/old/wukong/store/tyrant_tdb_key_store.rb +0 -20
- data/old/wukong/streamer.rb +0 -30
- data/old/wukong/streamer/accumulating_reducer.rb +0 -83
- data/old/wukong/streamer/base.rb +0 -126
- data/old/wukong/streamer/counting_reducer.rb +0 -25
- data/old/wukong/streamer/filter.rb +0 -20
- data/old/wukong/streamer/instance_streamer.rb +0 -15
- data/old/wukong/streamer/json_streamer.rb +0 -21
- data/old/wukong/streamer/line_streamer.rb +0 -12
- data/old/wukong/streamer/list_reducer.rb +0 -31
- data/old/wukong/streamer/rank_and_bin_reducer.rb +0 -145
- data/old/wukong/streamer/record_streamer.rb +0 -14
- data/old/wukong/streamer/reducer.rb +0 -11
- data/old/wukong/streamer/set_reducer.rb +0 -14
- data/old/wukong/streamer/struct_streamer.rb +0 -48
- data/old/wukong/streamer/summing_reducer.rb +0 -29
- data/old/wukong/streamer/uniq_by_last_reducer.rb +0 -51
- data/old/wukong/typed_struct.rb +0 -12
- data/spec/away/encoding_spec.rb +0 -32
- data/spec/away/exe_spec.rb +0 -20
- data/spec/away/flow_spec.rb +0 -82
- data/spec/away/graph_spec.rb +0 -6
- data/spec/away/job_spec.rb +0 -15
- data/spec/away/rake_compat_spec.rb +0 -9
- data/spec/away/script_spec.rb +0 -81
- data/spec/hanuman/graphviz_spec.rb +0 -29
- data/spec/hanuman/slot_spec.rb +0 -2
- data/spec/support/examples_helper.rb +0 -10
- data/spec/support/streamer_test_helpers.rb +0 -6
- data/spec/support/wukong_widget_helpers.rb +0 -66
- data/spec/wukong/processor_spec.rb +0 -109
- data/spec/wukong/widget/filter_spec.rb +0 -99
- data/spec/wukong/widget/stringifier_spec.rb +0 -51
- data/spec/wukong/workflow/command_spec.rb +0 -5
@@ -0,0 +1 @@
|
|
1
|
+
{"Phương tiện":-2,"Đặc biệt":-1,"Thảo luận":1,"Thành viên":2,"Thảo luận Thành viên":3,"Wikipedia":4,"Thảo luận Wikipedia":5,"Tập tin":6,"Thảo luận Tập tin":7,"MediaWiki":8,"Thảo luận MediaWiki":9,"Bản mẫu":10,"Thảo luận Bản mẫu":11,"Trợ giúp":12,"Thảo luận Trợ giúp":13,"Thể loại":14,"Thảo luận Thể loại":15,"Chủ đề":100,"Thảo luận Chủ đề":101,"Медіа":-2,"Спеціальна":-1,"Обговорення":1,"Користувач":2,"Обговорення користувача":3,"Вікіпедія":4,"Обговорення Вікіпедії":5,"Файл":6,"Обговорення файлу":7,"Обговорення MediaWiki":9,"Шаблон":10,"Обговорення шаблону":11,"Довідка":12,"Обговорення довідки":13,"Категорія":14,"Обговорення категорії":15,"Портал":100,"Обговорення порталу":101,"Média":-2,"Speciális":-1,"Vita":1,"Szerkesztő":2,"Szerkesztővita":3,"Wikipédia":4,"Wikipédia-vita":5,"Fájl":6,"Fájlvita":7,"MediaWiki-vita":9,"Sablon":10,"Sablonvita":11,"Segítség":12,"Segítségvita":13,"Kategória":14,"Kategóriavita":15,"Téma":90,"Témavita":91,"Összefoglaló":92,"Összefoglaló-vita":93,"Portál":100,"Portálvita":101,"Media":-2,"Khas":-1,"Perbincangan":1,"Pengguna":2,"Perbincangan pengguna":3,"Perbincangan Wikipedia":5,"Fail":6,"Perbincangan fail":7,"Perbincangan MediaWiki":9,"Templat":10,"Perbincangan templat":11,"Bantuan":12,"Perbincangan bantuan":13,"Kategori":14,"Perbincangan kategori":15,"Portal":100,"Perbualan Portal":101,"מעדיע":-2,"באַזונדער":-1,"רעדן":1,"באַניצער":2,"באַניצער רעדן":3,"װיקיפּעדיע":4,"װיקיפּעדיע רעדן":5,"טעקע":6,"טעקע רעדן":7,"מעדיעװיקי":8,"מעדיעװיקי רעדן":9,"מוסטער":10,"מוסטער רעדן":11,"הילף":12,"הילף רעדן":13,"קאַטעגאָריע":14,"קאַטעגאָריע רעדן":15,"פארטאל":100,"פארטאל רעדן":101,"Sipeciås":-1,"Copene":1,"Uzeu":2,"Uzeu copene":3,"Wikipedia copene":5,"Imådje":6,"Imådje copene":7,"MediaWiki copene":9,"Modele":10,"Modele copene":11,"Aidance":12,"Aidance copene":13,"Categoreye":14,"Categoreye copene":15,"Special":-1,"Talk":1,"User":2,"User talk":3,"Wikipedia talk":5,"File":6,"File talk":7,"MediaWiki talk":9,"Template":10,"Template talk":11,"Help":12,"Help talk":13,"Category":14,"Category talk":15,"ܡܝܕܝܐ":-2,"ܕܝܠܢܝܐ":-1,"ܡܡܠܠܐ":1,"ܡܦܠܚܢܐ":2,"ܡܡܠܠܐ ܕܡܦܠܚܢܐ":3,"ܘܝܩܝܦܕܝܐ":4,"ܡܡܠܠܐ ܕܘܝܩܝܦܕܝܐ":5,"ܠܦܦܐ":6,"ܡܡܠܠܐ ܕܠܦܦܐ":7,"ܡܝܕܝܐܘܝܩܝ":8,"ܡܡܠܠܐ ܕܡܝܕܝܐܘܝܩܝ":9,"ܩܠܒܐ":10,"ܡܡܠܠܐ ܕܩܠܒܐ":11,"ܥܘܕܪܢܐ":12,"ܡܡܠܠܐ ܕܥܘܕܪܢܐ":13,"ܣܕܪܐ":14,"ܡܡܠܠܐ ܕܣܕܪܐ":15,"Istimiwa":-1,"Pamandiran":1,"Pamakai":2,"Pamandiran Pamakai":3,"Wikipidia":4,"Pamandiran Wikipidia":5,"Barakas":6,"Pamandiran Barakas":7,"Pamandiran MediaWiki":9,"Citakan":10,"Pamandiran Citakan":11,"Patulung":12,"Pamandiran Patulung":13,"Tumbung":14,"Pamandiran Tumbung":15,"Медиа":-2,"Служебная":-1,"Обсуждение":1,"Участник":2,"Обсуждение участника":3,"Википедия":4,"Баитам Википедия йылiсь":5,"Обсуждение файла":7,"Обсуждение MediaWiki":9,"Обсуждение шаблона":11,"Справка":12,"Обсуждение справки":13,"Категория":14,"Обсуждение категории":15,"Спецӹлӹштӓш":-1,"Кӓнгӓшӹмӓш":1,"Сирӹшӹ":2,"Сирӹшӹм кӓнгӓшӹмӓш":3,"Википеди":4,"Википедим кӓнгӓшӹмӓш":5,"Файлым кӓнгӓшӹмӓш":7,"MediaWiki-м кӓнгӓшӹмӓш":9,"Шаблоным кӓнгӓшӹмӓш":11,"Палшык":12,"Палшыкым кӓнгӓшӹмӓш":13,"Категори":14,"Категорим кӓнгӓшӹмӓш":15,"Strategic Planning":4,"Strategic Planning talk":5,"Thread":90,"Thread talk":91,"Summary":92,"Summary talk":93,"Proposal":106,"Proposal talk":107,"მედია":-2,"სპეციალური":-1,"განხილვა":1,"მომხმარებელი":2,"მომხმარებლის განხილვა":3,"ვიკიპედია":4,"ვიკიპედია სხუნუა":5,"ფაილი":6,"ფაილის განხილვა":7,"მედიავიკი":8,"მედიავიკის განხილვა":9,"თარგი":10,"თარგის განხილვა":11,"დახმარება":12,"დახმარების განხილვა":13,"კატეგორია":14,"კატეგორიის განხილვა":15,"Project":4,"Project talk":5,"Manual":100,"Manual talk":101,"Extension":102,"Extension talk":103,"API":104,"API talk":105,"Skin":106,"Skin talk":107,"Module":828,"Module talk":829,"Translations":1198,"Translations talk":1199,"VisualEditor":2500,"VisualEditor talk":2501,"Bolediša":1,"Mošomi":2,"Boledišana le Mošomi":3,"Dipolelo tša Wikipedia":5,"Seswantšho":6,"Poledišano ya Seswantšho":7,"Poledišano ya MediaWiki":9,"Poledišano ya Template":11,"Thušo":12,"Poledišano ya Thušo":13,"Setensele":14,"Poledišano ya Setensele":15,"Speciaal":-1,"Euverlèk":1,"Gebroeker":2,"Euverlèk gebroeker":3,"Euverlèk Wikipedia":5,"Plaetje":6,"Euverlèk plaetje":7,"Euverlèk MediaWiki":9,"Sjabloon":10,"Euverlèk sjabloon":11,"Euverlèk help":13,"Categorie":14,"Euverlèk categorie":15,"Portaol":100,"Euverlèk portaol":101,"Güiquipeya":4,"Güiquipeya talk":5,"Prantilla":10,"Midia":-2,"Espesial":-1,"Tungtungan":1,"Agar-aramat":2,"Agar-aramat tungtungan":3,"Wikipedia tungtungan":5,"Papeles":6,"Papeles tungtungan":7,"MediaWiki tungtungan":9,"Plantilia":10,"Plantilia tungtungan":11,"Tulong":12,"Tulong tungtungan":13,"Kategoria":14,"Kategoria tungtungan":15,"Μέσον":-2,"Ειδικόν":-1,"Καλάτσεμαν":1,"Χρήστες":2,"Καλάτσεμαν χρήστε":3,"Βικιπαίδεια":4,"Βικιπαίδεια καλάτσεμαν":5,"Αρχείον":6,"Καλάτσεμαν αρχείονος":7,"Πρότυπον":10,"Καλάτσεμαν πρότυπι":11,"Βοήθειαν":12,"Καλάτσεμαν βοήθειας":13,"Κατηγορίαν":14,"Καλάτσεμαν κατηγορίας":15,"Medium":-2,"Spezial":-1,"Diskussion":1,"Benutzer":2,"Benutzer Diskussion":3,"Wikipedia Diskussion":5,"Datei":6,"Datei Diskussion":7,"MediaWiki Diskussion":9,"Vorlage":10,"Vorlage Diskussion":11,"Hilfe":12,"Hilfe Diskussion":13,"Kategorie":14,"Kategorie Diskussion":15,"Mediya":-2,"Maasus":-1,"Dartışma":1,"Kullanıcı":2,"Kullanıcı dartışma":3,"Vikipediya":4,"Vikipediyanın laflanması":5,"Dosye":6,"Dosye dartışma":7,"MediaWiki dartışma":9,"Şablon":10,"Şablon dartışma":11,"Yardım":12,"Yardım dartışma":13,"Kategoriya":14,"Kategoriya dartışma":15,"Dischbedutt":1,"Yuuser":2,"Yuuser Dischbedutt":3,"Wikipedia Dischbedutt":5,"Feil":6,"Feil Dischbedutt":7,"MediaWiki Dischbedutt":9,"Moddel":10,"Moddel Dischbedutt":11,"Hilf":12,"Hilf Dischbedutt":13,"Abdeeling":14,"Abdeeling Dischbedutt":15,"Уикипедиэ":4,"Уикипедиэм и тепсэлъыхьыгъуэ":5,"Medeja":-2,"Seviškuo":-1,"Sprīža":1,"Lītuotuojs":2,"Sprīža ap lītuotuoju":3,"Vikipedeja":4,"Vikipedejis sprīža":5,"Fails":6,"Sprīža ap failu":7,"Sprīža ap MediaWiki":9,"Taiss":10,"Sprīža ap taisu":11,"Paleigs":12,"Sprīža ap paleigu":13,"Kategoreja":14,"Sprīža ap kategoreju":15,"Mèdia":-2,"Spiciali":-1,"Discussioni":1,"Utenti":2,"Discussioni utenti":3,"Discussioni Wikipedia":5,"Discussioni file":7,"Discussioni MediaWiki":9,"Discussioni template":11,"Aiutu":12,"Discussioni aiutu":13,"Catigurìa":14,"Discussioni catigurìa":15,"Purtali":100,"Discussioni purtali":101,"Pruggettu":102,"Discussioni pruggettu":103,"Portal Diskussion":101,"Commons":4,"Commons talk":5,"Creator":100,"Creator talk":101,"TimedText":710,"TimedText talk":711,"Sequence":104,"Sequence talk":105,"Institution":106,"Institution talk":107,"ميديا":-2,"خاص":-1,"نقاش":1,"مستخدم":2,"نقاش المستخدم":3,"ويكيبيديا":4,"نقاش ويكيبيديا":5,"ملف":6,"نقاش الملف":7,"ميدياويكي":8,"نقاش ميدياويكي":9,"قالب":10,"نقاش القالب":11,"مساعدة":12,"نقاش المساعدة":13,"تصنيف":14,"نقاش التصنيف":15,"بوابة":100,"نقاش البوابة":101,"ملحق":104,"نقاش الملحق":105,"Medya":-2,"Özel":-1,"Tartışma":1,"Kullanıcı mesaj":3,"Vikipedi":4,"Vikipedi tartışma":5,"Dosya":6,"Dosya tartışma":7,"MediaWiki tartışma":9,"Şablon tartışma":11,"Yardım tartışma":13,"Kategori tartışma":15,"Portal tartışma":101,"मीडिया":-2,"विशेष":-1,"वार्तालाप":1,"प्रयोगकर्ता":2,"प्रयोगकर्ता वार्ता":3,"विकिपीडिया":4,"विकिपीडिया वार्ता":5,"चित्र":6,"चित्र वार्ता":7,"मीडियाविकि":8,"मीडियाविकि वार्ता":9,"टेम्पलेट":10,"टेम्पलेट वार्ता":11,"मदद":12,"मदद वार्ता":13,"श्रेणी":14,"श्रेणी वार्ता":15,"Aide":12,"Discussion Aide":103,"Hjælp":12,"Hjælp diskussion":105,"Helpo":12,"Helpa diskuto":107,"Hjälp":12,"Hjälp diskussion":109,"Ayuda":12,"Ayuda Discusión":111,"Aiuto":12,"Discussioni aiuto":13,"ヘルプ":114,"ヘルプ‐ノート":115,"NL Help":116,"Overleg help":13,"Pomoc":12,"Dyskusja pomocy":13,"Ajuda":12,"Ajuda Discussão":13,"CA Ajuda":122,"CA Ajuda Discussió":123,"Hjelp":12,"Hjelp diskusjon":125,"帮助":12,"帮助 对话":127,"Помощь":12,"Помощь Дискуссия":129,"Pomoč":12,"Pogovor o pomoči":13,"Medio":-2,"Especial":-1,"Discusión":1,"Usuario":2,"Usuario discusión":3,"Wikipidiya":4,"Wikipidiyan Aruskipäwi":5,"Archivo":6,"Archivo discusión":7,"MediaWiki discusión":9,"Plantilla":10,"Plantilla discusión":11,"Ayuda discusión":13,"Categoría":14,"Categoría discusión":15,"Conversa":1,"Conversa usuario":3,"Conversa Wikipedia":5,"Ficheiro":6,"Conversa ficheiro":7,"Conversa MediaWiki":9,"Modelo":10,"Conversa modelo":11,"Axuda":12,"Conversa axuda":13,"Conversa categoría":15,"Portal talk":101,"Libro":102,"Conversa libro":103,"माध्यमम्":-2,"विशेषम्":-1,"सम्भाषणम्":1,"योजकः":2,"योजकसम्भाषणम्":3,"विकिपीडियासम्भाषणम्":5,"चित्रम्":6,"चित्रसम्भाषणम्":7,"मिडीयाविकी":8,"मिडियाविकीसम्भाषणम्":9,"फलकम्":10,"फलकस्य सम्भाषणम्":11,"सहाय्यम्":12,"सहाय्यस्य सम्भाषणम्":13,"वर्गः":14,"वर्गसम्भाषणम्":15,"Uslig":-1,"Mmeslay":1,"Amseqdac":2,"Amyannan umsqedac":3,"Amyannan n Wikipedia":5,"Tugna":6,"Amyannan n tugna":7,"Amyannan n MediaWiki":9,"Talɣa":10,"Amyannan n talɣa":11,"Tallat":12,"Amyannan n tallat":13,"Taggayt":14,"Amyannan n taggayt":15,"Speciaol":-1,"Overleg":1,"Gebruker":2,"Overleg gebruker":3,"Overleg Wikipedia":5,"Overleg plaetje":7,"Overleg MediaWiki":9,"Overleg sjabloon":11,"Ulpe":12,"Overleg ulpe":13,"Overleg categorie":15,"Espesiál":-1,"Diskusaun":1,"Uza-na'in":2,"Diskusaun Uza-na'in":3,"Diskusaun Wikipedia":5,"Imajen":6,"Diskusaun Imajen":7,"Diskusaun MediaWiki":9,"Diskusaun Template":11,"Diskusaun Ajuda":13,"Diskusaun Kategoria":15,"Berezi":-1,"Eztabaida":1,"Lankide":2,"Lankide eztabaida":3,"Wikipedia eztabaida":5,"Fitxategi":6,"Fitxategi eztabaida":7,"MediaWiki eztabaida":9,"Txantiloi":10,"Txantiloi eztabaida":11,"Laguntza":12,"Laguntza eztabaida":13,"Kategoria eztabaida":15,"Atari":100,"Atari eztabaida":101,"Wikiproiektu":102,"Wikiproiektu eztabaida":103,"Spesial":-1,"Diskusjon":1,"Bruker":2,"Brukerdiskusjon":3,"Wikipedia-diskusjon":5,"Fil":6,"Fildiskusjon":7,"MediaWiki-diskusjon":9,"Mal":10,"Maldiskusjon":11,"Hjelpdiskusjon":13,"Kategoridiskusjon":15,"Portaldiskusjon":101,"미디어":-2,"특수기능":-1,"토론":1,"사용자":2,"사용자토론":3,"위키백과":4,"위키백과토론":5,"파일":6,"파일토론":7,"미디어위키":8,"미디어위키토론":9,"틀":10,"틀토론":11,"도움말":12,"도움말토론":13,"분류":14,"분류토론":15,"들머리":100,"들머리토론":101,"위키프로젝트":102,"위키프로젝트토론":103,"Meta":4,"Meta talk":5,"Grants":200,"Grants talk":201,"Research":202,"Research talk":203,"Participation":204,"Participation talk":205,"مدیا":-2,"ویژه":-1,"بحث":1,"کاربر":2,"بحث کاربر":3,"ویکیپدیا":4,"بحث ویکیپدیا":5,"پرونده":6,"بحث پرونده":7,"مدیاویکی":8,"بحث مدیاویکی":9,"الگو":10,"بحث الگو":11,"راهنما":12,"بحث راهنما":13,"رده":14,"بحث رده":15,"درگاه":100,"بحث درگاه":101,"کتاب":102,"بحث کتاب":103,"Ciciarada":1,"Druvadur":2,"Ciciarada Druvadur":3,"Wikipedia Ciciarada":5,"Archivi":6,"Ciciarada Archivi":7,"Ciciarada MediaWiki":9,"Mudel":10,"Ciciarada Mudel":11,"Jüt":12,"Ciciarada Jüt":13,"Categuria":14,"Ciciarada Categuria":15,"Descüssiú Portal":101,"Purtaal":102,"Descüssiun Purtaal":103,"මාධ්යය":-2,"විශේෂ":-1,"සාකච්ඡාව":1,"පරිශීලක":2,"පරිශීලක සාකච්ඡාව":3,"විකිපීඩියා":4,"විකිපීඩියා සාකච්ඡාව":5,"ගොනුව":6,"ගොනුව සාකච්ඡාව":7,"මාධ්යවිකි":8,"මාධ්යවිකි සාකච්ඡාව":9,"සැකිල්ල":10,"සැකිලි සාකච්ඡාව":11,"උදවු":12,"උදවු සාකච්ඡාව":13,"ප්රවර්ගය":14,"ප්රවර්ග සාකච්ඡාව":15,"ද්වාරය":100,"ද්වාරය සාකච්ඡාව":101,"Spécial":-1,"Discussion":1,"Utilisateur":2,"Discussion utilisateur":3,"Discussion Wikipédia":5,"Fichier":6,"Discussion fichier":7,"Discussion MediaWiki":9,"Modèle":10,"Discussion modèle":11,"Discussion aide":13,"Catégorie":14,"Discussion catégorie":15,"Portail":100,"Discussion Portail":101,"Projet":102,"Discussion Projet":103,"Référence":104,"Discussion Référence":105,"Toiminnot":-1,"Keskustelu":1,"Käyttäjä":2,"Keskustelu käyttäjästä":3,"Keskustelu Wikipediasta":5,"Tiedosto":6,"Keskustelu tiedostosta":7,"Järjestelmäviesti":8,"Keskustelu järjestelmäviestistä":9,"Malline":10,"Keskustelu mallineesta":11,"Ohje":12,"Keskustelu ohjeesta":13,"Luokka":14,"Keskustelu luokasta":15,"Teemasivu":100,"Keskustelu teemasivusta":101,"Metasivu":102,"Keskustelu metasivusta":103,"Kirja":104,"Keskustelu kirjasta":105,"Discussió":1,"Usuari":2,"Usuari Discussió":3,"Viquipèdia":4,"Viquipèdia Discussió":5,"Fitxer":6,"Fitxer Discussió":7,"MediaWiki Discussió":9,"Plantilla Discussió":11,"Ajuda Discussió":13,"Categoria":14,"Categoria Discussió":15,"Portal Discussió":101,"Viquiprojecte":102,"Viquiprojecte Discussió":103,"Медиј":-2,"Посебно":-1,"Разговор":1,"Корисник":2,"Разговор са корисником":3,"Википедија":4,"Разговор о Википедији":5,"Датотека":6,"Разговор о датотеци":7,"Медијавики":8,"Разговор о Медијавикију":9,"Разговор о шаблону":11,"Помоћ":12,"Разговор о помоћи":13,"Категорија":14,"Разговор о категорији":15,"Разговор о порталу":101,"वार्ता":1,"सदस्य":2,"सदस्य वार्ता":3,"साँचा":10,"साँचा वार्ता":11,"सहायता":12,"सहायता वार्ता":13,"प्रवेशद्वार":100,"प्रवेशद्वार वार्ता":101,"Mediji":-2,"Posebno":-1,"Razgovor":1,"Korisnik":2,"Razgovor sa korisnikom":3,"Razgovor s Wikipediom":5,"Datoteka":6,"Razgovor o datoteci":7,"MediaWiki razgovor":9,"Šablon":10,"Razgovor o šablonu":11,"Pomoć":12,"Razgovor o pomoći":13,"Kategorija":14,"Razgovor o kategoriji":15,"Razgovor o portalu":101,"Wikispecies":4,"Wikispecies talk":5,"شا":-1,"گپ":1,"کارور":2,"کارور گپ":3,"ویکیپدیا گپ":5,"پرونده گپ":7,"مدیاویکی گپ":9,"شابلون":10,"شابلون گپ":11,"رانما":12,"رانما گپ":13,"رج":14,"رج گپ":15,"پورتال":100,"پورتال گپ":101,"Обсуждение Wikipedia":5,"Discussion Wikipedia":5,"بحث Wikipedia":5,"Ihü kárírí":-1,"Okwu":1,"Ọbanife":2,"Okwu ọbanife":3,"Okwu Wikipedia":5,"Usòrò":6,"Okwu usòrò":7,"MidiaWiki":8,"Okwu MidiaWiki":9,"Àtụ":10,"Okwu àtụ":11,"Nkwadọ":12,"Okwu nkwadọ":13,"Òtù":14,"Okwu òtù":15,"Mba'echĩchĩ":-1,"Myangekõi":1,"Puruhára":2,"Puruhára myangekõi":3,"Vikipetã":4,"Vikipetã myangekõi":5,"Ta'ãnga":6,"Ta'ãnga myangekõi":7,"MediaWiki myangekõi":9,"Tembiecharã":10,"Tembiecharã myangekõi":11,"Pytyvõ":12,"Pytyvõ myangekõi":13,"Ñemohenda":14,"Ñemohenda myangekõi":15,"Ярҙамсы":-1,"Фекерләшеү":1,"Ҡатнашыусы":2,"Ҡатнашыусы менән һөйләшеү":3,"Wikipedia буйынса фекерләшеү":5,"Рәсем":6,"Рәсем буйынса фекерләшеү":7,"MediaWiki буйынса фекерләшеү":9,"Ҡалып":10,"Ҡалып буйынса фекерләшеү":11,"Белешмә":12,"Белешмә буйынса фекерләшеү":13,"Төркөм":14,"Төркөм буйынса фекерләшеү":15,"メディア":-2,"特別":-1,"ノート":1,"利用者":2,"利用者‐会話":3,"Wikipedia‐ノート":5,"ファイル":6,"ファイル‐ノート":7,"MediaWiki‐ノート":9,"Template‐ノート":11,"Help‐ノート":13,"Category‐ノート":15,"Portal‐ノート":101,"プロジェクト":102,"プロジェクト‐ノート":103,"Multimédia":-2,"Discussão":1,"Usuário(a)":2,"Usuário(a) Discussão":3,"Wikipédia Discussão":5,"Ficheiro Discussão":7,"MediaWiki Discussão":9,"Predefinição":10,"Predefinição Discussão":11,"Categoria Discussão":15,"Portal Discussão":101,"Anexo":104,"Anexo Discussão":103,"Livro":104,"Livro Discussão":105,"สื่อ":-2,"พิเศษ":-1,"พูดคุย":1,"ผู้ใช้":2,"คุยกับผู้ใช้":3,"วิกิพีเดีย":4,"คุยเรื่องวิกิพีเดีย":5,"ไฟล์":6,"คุยเรื่องไฟล์":7,"มีเดียวิกิ":8,"คุยเรื่องมีเดียวิกิ":9,"แม่แบบ":10,"คุยเรื่องแม่แบบ":11,"วิธีใช้":12,"คุยเรื่องวิธีใช้":13,"หมวดหมู่":14,"คุยเรื่องหมวดหมู่":15,"สถานีย่อย":100,"คุยเรื่องสถานีย่อย":101,"Speciální":-1,"Diskuse":1,"Wikipedista":2,"Diskuse s wikipedistou":3,"Wikipedie":4,"Diskuse k Wikipedii":5,"Soubor":6,"Diskuse k souboru":7,"Diskuse k MediaWiki":9,"Šablona":10,"Diskuse k šabloně":11,"Nápověda":12,"Diskuse k nápovědě":13,"Diskuse ke kategorii":15,"Diskuse k portálu":101,"Rejstřík":102,"Diskuse k rejstříku":103,"Discuție":1,"Utilizator":2,"Discuție Utilizator":3,"Discuție Wikipedia":5,"Fișier":6,"Discuție Fișier":7,"Discuție MediaWiki":9,"Format":10,"Discuție Format":11,"Ajutor":12,"Discuție Ajutor":13,"Discuție Categorie":15,"Discuție Portal":101,"Proiect":102,"Discuție Proiect":103,"Медия":-2,"Специални":-1,"Беседа":1,"Потребител":2,"Потребител беседа":3,"Уикипедия":4,"Уикипедия беседа":5,"Файл беседа":7,"МедияУики":8,"МедияУики беседа":9,"Шаблон беседа":11,"Помощ":12,"Помощ беседа":13,"Категория беседа":15,"Портал беседа":101,"Μέσο":-2,"Ειδικό":-1,"Συζήτηση":1,"Χρήστης":2,"Συζήτηση χρήστη":3,"Βικιπαίδεια συζήτηση":5,"Αρχείο":6,"Συζήτηση αρχείου":7,"Συζήτηση MediaWiki":9,"Πρότυπο":10,"Συζήτηση προτύπου":11,"Βοήθεια":12,"Συζήτηση βοήθειας":13,"Κατηγορία":14,"Συζήτηση κατηγορίας":15,"Πύλη":100,"Συζήτηση πύλης":101,"Nünamakanäd":-2,"Patikos":-1,"Bespik":1,"Geban":2,"Gebanibespik":3,"Vükiped":4,"Bespik dö Vükiped":5,"Ragiv":6,"Ragivibespik":7,"Sitanuns":8,"Bespik dö sitanuns":9,"Samafomot":10,"Samafomotibespik":11,"Yuf":12,"Yufibespik":13,"Klad":14,"Kladibespik":15,"Xibaarukaay":-2,"Jagleel":-1,"Waxtaan":1,"Jëfandikukat":2,"Waxtaani jëfandikukat":3,"Wikipedia waxtaan":5,"Dencukaay":6,"Waxtaani dencukaay":7,"Waxtaani MediaWiki":9,"Royuwaay":10,"Waxtaani royuwaay":11,"Ndimbal":12,"Waxtaani ndimbal":13,"Wàll":14,"Waxtaani wàll":15,"ສື່":-2,"ພິເສດ":-1,"ສົນທະນາ":1,"ຜູ້ໃຊ້":2,"ສົນທະນາຂອງຜູ້ໃຊ້":3,"ວິກິພີເດຍ":4,"ສົນທະນາກ່ຽວກັບວິກິພີເດຍ":5,"ຮູບ":6,"ສົນທະນາກ່ຽວກັບຮູບ":7,"ມີເດຍວິກິ":8,"ສົນທະນາກ່ຽວກັບມີເດຍວິກິ":9,"ແມ່ແບບ":10,"ສົນທະນາກ່ຽວກັບແມ່ແບບ":11,"ຊ່ວຍເຫຼືອ":12,"ສົນທະນາກ່ຽວກັບຊ່ວຍເຫຼືອ":13,"ໝວດ":14,"ສົນທະນາກ່ຽວກັບໝວດ":15,"Miðill":-2,"Kerfissíða":-1,"Spjall":1,"Notandi":2,"Notandaspjall":3,"Wikipediaspjall":5,"Mynd":6,"Myndaspjall":7,"Melding":8,"Meldingarspjall":9,"Snið":10,"Sniðaspjall":11,"Hjálp":12,"Hjálparspjall":13,"Flokkur":14,"Flokkaspjall":15,"Gátt":100,"Gáttaspjall":101,"Suradnik":2,"Razgovor sa suradnikom":3,"Wikipedija":4,"Razgovor Wikipedija":5,"Predložak":10,"Razgovor o predlošku":11,"Dodatak":102,"Razgovor o dodatku":103,"Arbennig":-1,"Sgwrs":1,"Defnyddiwr":2,"Sgwrs Defnyddiwr":3,"Wicipedia":4,"Sgwrs Wicipedia":5,"Delwedd":6,"Sgwrs Delwedd":7,"MediaWici":8,"Sgwrs MediaWici":9,"Nodyn":10,"Sgwrs Nodyn":11,"Cymorth":12,"Sgwrs Cymorth":13,"Categori":14,"Sgwrs Categori":15,"Porth":100,"Sgwrs Porth":101,"Spesiaal":-1,"Bespreking":1,"Gebruiker":2,"Gebruikerbespreking":3,"Wikipediabespreking":5,"Lêer":6,"Lêerbespreking":7,"MediaWikibespreking":9,"Sjabloonbespreking":11,"Hulp":12,"Hulpbespreking":13,"Kategoriebespreking":15,"Portaal":100,"Portaalbespreking":101,"মিডিয়া":-2,"বিশেষ":-1,"য়্যারী":1,"আতাকুরা":2,"আতাকুরার য়্যারী":3,"উইকিপিডিয়া":4,"উইকিপিডিয়া য়্যারী":5,"ছবি":6,"ছবি য়্যারী":7,"মিডিয়াউইকি":8,"মিডিয়াউইকির য়্যারী":9,"মডেল":10,"মডেলর য়্যারী":11,"পাংলাক":12,"পাংলাকর য়্যারী":13,"থাক":14,"থাকর য়্যারী":15,"হমিলদুৱার":100,"হমিলদুৱার য়্যারী":101,"Pogovor":1,"Uporabnik":2,"Uporabniški pogovor":3,"Pogovor o Wikipediji":5,"Slika":6,"Pogovor o sliki":7,"Pogovor o MediaWiki":9,"Predloga":10,"Pogovor o predlogi":11,"Pogovor o kategoriji":15,"Pogovor o portalu":101,"Speçiale":-1,"Discûscion":1,"Utente":2,"Discûscioîn ûtente":3,"Discûscioîn Wikipedia":5,"Immaggine":6,"Discûscioîn immaggine":7,"Discûscioîn MediaWiki":9,"Discûscioîn template":11,"Agiûtto":12,"Discûscioîn agiûtto":13,"Categorîa":14,"Discûscioîn categorîa":15,"ميدياويكى":8,"نقاش ميدياويكى":9,"مناقشة بوابة":101,"Usator":2,"Usator Discussion":3,"Wikipedia Discussion":5,"File Discussion":7,"MediaWiki Discussion":9,"Avise":10,"Avise Discussion":11,"Auxilie":12,"Auxilie Discussion":13,"Categorie Discussion":15,"Xüsusi":-1,"Müzakirə":1,"İstifadəçi":2,"İstifadəçi müzakirəsi":3,"Vikipediya müzakirəsi":5,"Şəkil":6,"Şəkil müzakirəsi":7,"MediaWiki müzakirəsi":9,"Şablon müzakirəsi":11,"Kömək":12,"Kömək müzakirəsi":13,"Kateqoriya":14,"Kateqoriya müzakirəsi":15,"Portal müzakirəsi":101,"媒体文件":-2,"特殊":-1,"讨论":1,"用户":2,"用户讨论":3,"Wikipedia讨论":5,"文件":6,"文件讨论":7,"MediaWiki讨论":9,"模板":10,"模板讨论":11,"帮助讨论":13,"分类":14,"分类讨论":15,"Transwiki":100,"Transwiki talk":101,"Speciàle":-1,"Chiàcchiera":1,"Utente chiàcchiera":3,"Wikipedia chiàcchiera":5,"Fiùra":6,"Fiùra chiàcchiera":7,"MediaWiki chiàcchiera":9,"Modello":10,"Modello chiàcchiera":11,"Ajùto":12,"Ajùto chiàcchiera":13,"Categurìa":14,"Categurìa chiàcchiera":15,"Arbennek":-1,"Kescows":1,"Devnydhyer":2,"Kescows Devnydhyer":3,"Kescows Wikipedia":5,"Restren":6,"Kescows Restren":7,"Kescows MediaWiki":9,"Scantlyn":10,"Kescows Scantlyn":11,"Gweres":12,"Kescows Gweres":13,"Class":14,"Kescows Class":15,"Keskows Porth":101,"Отсасян":-1,"Сёрнитанiн":1,"Пырысь":2,"Пырыськӧд сёрнитанiн":3,"Википедия донъялӧм":5,"Файл донъялӧм":7,"МедиаВики":8,"МедиаВики донъялӧм":9,"Шаблон донъялӧм":11,"Къуллугъирал лажин":-1,"Ихтилат":1,"Гьуртту хьума":2,"Гьуртту хьуминнал ихтилат":3,"Википедиялиясса ихтилат":5,"Сурат":6,"Суратраясса ихтилат":7,"MediaWikiлиясса ихтилат":9,"Шаблондалиясса ихтилат":11,"Кумаг":12,"Кумаграясса ихтилат":13,"Категориялиясса ихтилат":15,"Specjalnô":-1,"Diskùsëjô":1,"Brëkòwnik":2,"Diskùsëjô brëkòwnika":3,"Wiki":-1,"Diskùsëjô Wiki":5,"Òbrôzk":6,"Diskùsëjô òbrôzków":7,"Diskùsëjô MediaWiki":9,"Szablóna":10,"Diskùsëjô Szablónë":11,"Pòmòc":12,"Diskùsëjô Pòmòcë":13,"Kategòrëjô":14,"Diskùsëjô Kategòrëji":15,"Википедия веревирд авун":5,"Срѣдьства":-2,"Нарочьна":-1,"Бєсѣда":1,"Польꙃєватєл҄ь":2,"Польꙃєватєлꙗ бєсѣда":3,"Википєдїꙗ":4,"Википєдїѩ бєсѣ́да":5,"Дѣло":6,"Дѣла бєсѣда":7,"MediaWiki бєсѣда":9,"Обраꙁьць":10,"Обраꙁьца бєсѣда":11,"Помощи бєсѣда":13,"Катигорїꙗ":14,"Катигорїѩ бєсѣда":15,"Istimewa":-1,"Pembicaraan":1,"Pembicaraan Pengguna":3,"Pembicaraan Wikipedia":5,"Berkas":6,"Pembicaraan Berkas":7,"Pembicaraan MediaWiki":9,"Pembicaraan Templat":11,"Pembicaraan Bantuan":13,"Pembicaraan Kategori":15,"Pembicaraan Portal":101,"Cumbersa":1,"Outelizador":2,"Cumbersa outelizador":3,"Biquipédia":4,"Biquipédia cumbersa":5,"Fexeiro":6,"Cumbersa fexeiro":7,"Biqui":8,"Cumbersa Biqui":9,"Cumbersa Modelo":11,"Cumbersa ajuda":13,"Catadorie":14,"Cumbersa catadorie":15,"Speciel":-1,"Bruger":2,"Brugerdiskussion":3,"Wikipedia-diskussion":5,"Fildiskussion":7,"MediaWiki-diskussion":9,"Skabelon":10,"Skabelondiskussion":11,"Hjælp-diskussion":13,"Kategoridiskussion":15,"Portaldiskussion":101,"Artikeldata":102,"Artikeldatadiskussion":103,"Midya":-2,"Natatangi":-1,"Usapan":1,"Tagagamit":2,"Usapang tagagamit":3,"Usapang Wikipedia":5,"Talaksan":6,"Usapang talaksan":7,"Usapang MediaWiki":9,"Suleras":10,"Usapang suleras":11,"Usapang tulong":13,"Kategorya":14,"Usapang kategorya":15,"Portada":100,"Usapang Portada":101,"Атайын":-1,"Баарлашуу":1,"Колдонуучу":2,"Колдонуучунун баарлашуулары":3,"Wikipedia баарлашуу":5,"Калып":10,"Жардам":12,"ذريعات":-2,"يوزر":2,"يوزر بحث":3,"Wikipedia بحث":5,"عڪس":6,"عڪس بحث":7,"ذريعات وڪي":8,"ذريعات وڪي بحث":9,"سانچو":10,"سنچو بحث":11,"مدد":12,"مدد بحث":13,"زمرو":14,"زمرو بحث":15,"Белхан":-1,"Дийцаре":1,"Декъашхо":2,"Декъашхон дийцаре":3,"Википедийа":4,"Википедийа дийцаре":5,"Хlум":6,"Хlуман дийцаре":7,"MediaWiki дийцаре":9,"Куцкеп":10,"Куцкеп дийцаре":11,"Гlо":12,"Гlон дийцаре":13,"Кадегар":14,"Кадегар дийцаре":15,"Ков":100,"Ков дийцаре":101,"میدیا":-2,"تایبەت":-1,"وتووێژ":1,"بەکارھێنەر":2,"لێدوانی بەکارھێنەر":3,"ویکیپیدیا":4,"لێدوانی ویکیپیدیا":5,"پەڕگە":6,"وتووێژی پەڕگە":7,"میدیاویکی":8,"وتووێژی میدیاویکی":9,"داڕێژە":10,"وتووێژی داڕێژە":11,"یارمەتی":12,"وتووێژی یارمەتی":13,"پۆل":14,"وتووێژی پۆل":15,"دەروازە":100,"لێدوانی دەروازە":101,"Doaimmat":-1,"Ságastallan":1,"Geavaheaddji":2,"Geavaheaddjeságastallan":3,"Wikipedia-ságastallan":5,"Fiila":6,"Fiilaságastallan":7,"MediaWiki-ságastallan":9,"Málle":10,"Málleságastallan":11,"Veahkki":12,"Veahkkeságastallan":13,"Kategoriija":14,"Kategoriijaságastallan":15,"Аһар":-2,"Көдлхнә":-1,"Меткән":1,"Демнч":2,"Демнчна туск меткән":3,"Wikipedia туск меткән":5,"Боомг":6,"Боомгин туск меткән":7,"MediaWiki туск меткән":9,"Кевләр":10,"Зуран туск меткән":11,"Цәәлһлһн":12,"Цәәлһлһин туск меткән":13,"Әәшл":14,"Әәшлин туск меткән":15,"Ispetziale":-1,"Cuntierra":1,"Usuàriu":2,"Cuntierra usuàriu":3,"Cuntierra Wikipedia":5,"Cuntierra file":7,"Cuntierra MediaWiki":9,"Cuntierra template":11,"Agiudu":12,"Cuntierra agiudu":13,"Cuntierra categoria":15,"Шпеціална":-1,"Діскузія":1,"Хоснователь":2,"Діскузія з хоснователём":3,"Діскузія ку Вікіпедії":5,"Діскузія ку файлу":7,"Діскузія ку MediaWiki":9,"Шаблона":10,"Діскузія ку шаблонї":11,"Поміч":12,"Діскузія ку помочі":13,"Катеґорія":14,"Діскузія ку катеґорії":15,"Diskusyón":1,"Usador":2,"Messaje de Usador":3,"Vikipedya":4,"Diskusyón de Vikipedya":5,"Diskusyón de Dosya":7,"MedyaViki":8,"Diskusyón de MedyaViki":9,"Xablón":10,"Diskusyón de Xablón":11,"Ayudo":12,"Diskusyón de Ayudo":13,"Katēggoría":14,"Diskusyón de Katēggoría":15,"Alat":-2,"Kusuih":-1,"Marit":1,"Ureuëng Nguy":2,"Marit Ureuëng Nguy":3,"Marit Wikipedia":5,"Beureukaih":6,"Marit Beureukaih":7,"AlatWiki":8,"Marit AlatWiki":9,"Pola":10,"Marit Pola":11,"Beunantu":12,"Marit Beunantu":13,"Kawan":14,"Marit Kawan":15,"Wikisource":4,"Wikisource talk":5,"Page":104,"Page talk":105,"Index":104,"Index talk":107,"Author":108,"Author talk":109,"Башка":-1,"Корхнема":1,"Тиись":2,"Тиись корхнема":3,"Википедиесь":4,"Википедиесь корхнема":5,"Няйф":6,"Няйф корхнема":7,"МедиаВики корхнема":9,"Шаблон корхнема":11,"Лезкс":12,"Лезкс корхнема":13,"Категорие":14,"Категорие корхнема":15,"Discutir":1,"Utilizaire":2,"Discussion Utilizaire":3,"Wikipèdia":4,"Discussion Wikipèdia":5,"Fichièr":6,"Discussion Fichièr":7,"Modèl":10,"Discussion Modèl":11,"Discussion Ajuda":13,"Discussion Categoria":15,"Discussion Portal":101,"Projècte":102,"Discussion Projècte":103,"Speciale":-1,"Diskutim":1,"Përdoruesi":2,"Përdoruesi diskutim":3,"Wikipedia diskutim":5,"Skeda":6,"Skeda diskutim":7,"MediaWiki diskutim":9,"Stampa":6,"Stampa diskutim":11,"Ndihmë":12,"Ndihmë diskutim":13,"Kategoria diskutim":15,"Portal diskutim":101,"Къуллукъ":-1,"Сюзюу":1,"Къошулуучу":2,"Къошулуучуну сюзюу":3,"Википедия сюзюу":5,"Файлны сюзюу":7,"MediaWiki-ни сюзюу":9,"Шаблонну сюзюу":11,"Болушлукъ":12,"Болушлукъну сюзюу":13,"Категорияны сюзюу":15,"Медиум":-2,"Специјална":-1,"Разговор со корисник":3,"Разговор за Википедија":5,"Податотека":6,"Разговор за податотека":7,"МедијаВики":8,"Разговор за МедијаВики":9,"Разговор за шаблон":11,"Помош":12,"Разговор за помош":13,"Разговор за категорија":15,"Разговор за Портал":101,"ᐅᐃᑭᐱᑎᐊ":4,"ᐅᐃᑭᐱᑎᐊ talk":5,"Aŭdvidaĵo":-2,"Specialaĵo":-1,"Diskuto":1,"Uzanto":2,"Uzanto-Diskuto":3,"Vikipedio":4,"Vikipedia diskuto":5,"Dosiero":6,"Dosiero-Diskuto":7,"MediaWiki-Diskuto":9,"Ŝablono":10,"Ŝablono-Diskuto":11,"Helpo-Diskuto":13,"Kategorio":14,"Kategorio-Diskuto":15,"Portalo":100,"Portala diskuto":101,"Projekto":102,"Projekta diskuto":103,"Diskussioun":1,"Benotzer":2,"Benotzer Diskussioun":3,"Wikipedia Diskussioun":5,"Fichier Diskussioun":7,"MediaWiki Diskussioun":9,"Schabloun":10,"Schabloun Diskussioun":11,"Hëllef":12,"Hëllef Diskussioun":13,"Kategorie Diskussioun":15,"Taybet":-1,"Nîqaş":1,"Bikarhêner":2,"Bikarhêner nîqaş":3,"Wîkîpediya":4,"Gotûbêja Wîkîpediyayê":5,"Wêne":6,"Wêne nîqaş":7,"MediaWiki nîqaş":9,"Şablon nîqaş":11,"Alîkarî":12,"Alîkarî nîqaş":13,"Kategorî":14,"Kategorî nîqaş":15,"Gotûbêja portalê":101,"मिडिया":-2,"चर्चा":1,"सदस्य चर्चा":3,"विकिपीडिया चर्चा":5,"चित्र चर्चा":7,"मिडियाविकी":8,"मिडियाविकी चर्चा":9,"साचा":10,"साचा चर्चा":11,"सहाय्य":12,"सहाय्य चर्चा":13,"वर्ग":14,"वर्ग चर्चा":15,"दालन":100,"दालन चर्चा":101,"Specialine":-1,"Lodu":1,"Kävutai":2,"Lodu kävutajas":3,"Vikipedii":4,"Paginad Vikipedii":5,"Lodu failas":7,"Lodu MediaWikiš":9,"Lodu šablonas":11,"Abu":12,"Lodu abus":13,"Kategorii":14,"Lodu kategorijas":15,"മീഡിയ":-2,"പ്രത്യേകം":-1,"സംവാദം":1,"ഉപയോക്താവ്":2,"ഉപയോക്താവിന്റെ സംവാദം":3,"വിക്കിപീഡിയ":4,"വിക്കിപീഡിയ സംവാദം":5,"പ്രമാണം":6,"പ്രമാണത്തിന്റെ സംവാദം":7,"മീഡിയവിക്കി":8,"മീഡിയവിക്കി സംവാദം":9,"ഫലകം":10,"ഫലകത്തിന്റെ സംവാദം":11,"സഹായം":12,"സഹായത്തിന്റെ സംവാദം":13,"വർഗ്ഗം":14,"വർഗ്ഗത്തിന്റെ സംവാദം":15,"കവാടം":100,"കവാടത്തിന്റെ സംവാദം":101,"Diskuschoon":1,"Bruker Diskuschoon":3,"Wikipedia Diskuschoon":5,"Bild":6,"Bild Diskuschoon":7,"MediaWiki Diskuschoon":9,"Vörlaag":10,"Vörlaag Diskuschoon":11,"Hülp":12,"Hülp Diskuschoon":13,"Kategorie Diskuschoon":15,"Portal Diskuschoon":101,"Utent":2,"Ciaciarade":3,"Discussion ant sla Wikipedia":5,"Figura":6,"Discussion dla figura":7,"Discussion dla MediaWiki":9,"Stamp":10,"Discussion dlë stamp":11,"Agiut":12,"Discussion ant sl'agiut":13,"Categorìa":14,"Discussion ant sla categorìa":15,"ހާއްޞަ":-1,"ޚިޔާލު":1,"މެމްބަރު":2,"ފައިލް":6,"ފައިލް ޚިޔާލު":7,"މީޑިއާވިކީ":8,"މީޑިޔާވިކި ޚިޔާލު":9,"ފަންވަތް":10,"ފަންވަތް ޚިޔާލު":11,"އެހީ":12,"އެހީ ޚިޔާލު":13,"ޤިސްމު":14,"ޤިސްމު ޚިޔާލު":15,"ނެރު":100,"ނެރު ޚ ޔާލު":101,"Espesiat":-1,"Kombetsasion":1,"Muna'sesetbi":2,"Kombetsasion ni muna'sesetbi":3,"Kombetsasion nu Wikipedia":5,"Litratu":6,"Kombetsasion ni litratu":7,"Kombetsasion ni ayudo":13,"Katigoria":14,"Kombetsasion ni katigoria":15,"Spèciâl":-1,"Utilisator":2,"Discussion utilisator":3,"Vouiquipèdia":4,"Discussion Vouiquipèdia":5,"Fichiér":6,"Discussion fichiér":7,"Modèlo":10,"Discussion modèlo":11,"Éde":12,"Discussion éde":13,"Catègorie":14,"Discussion catègorie":15,"Medija":-2,"Specialus":-1,"Aptarimas":1,"Naudotojas":2,"Naudotojo aptarimas":3,"Vikipedija":4,"Vikipedijos aptarimas":5,"Vaizdas":6,"Vaizdo aptarimas":7,"MediaWiki aptarimas":9,"Šablonas":10,"Šablono aptarimas":11,"Pagalba":12,"Pagalbos aptarimas":13,"Kategorijos aptarimas":15,"Vikisritis":100,"Vikisrities aptarimas":101,"Vikiprojektas":102,"Vikiprojekto aptarimas":103,"Sąrašas":104,"Sąrašo aptarimas":105,"Filpeikar":-2,"Brukar":2,"Brukardiskusjon":3,"Tema":100,"Temadiskusjon":101,"Specialis":-1,"Disputatio":1,"Usor":2,"Disputatio Usoris":3,"Vicipaedia":4,"Disputatio Vicipaediae":5,"Fasciculus":6,"Disputatio Fasciculi":7,"Disputatio MediaWiki":9,"Formula":10,"Disputatio Formulae":11,"Auxilium":12,"Disputatio Auxilii":13,"Disputatio Categoriae":15,"Porta":100,"Disputatio Portae":101,"Махсус":-1,"Бәхәс":1,"Кулланучы":2,"Кулланучы бәхәсе":3,"Википедия бәхәсе":5,"Файл бәхәсе":7,"МедиаВики бәхәсе":9,"Калып бәхәсе":11,"Ярдәм":12,"Ярдәм бәхәсе":13,"Төркем":14,"Төркем бәхәсе":15,"Портал бәхәсе":101,"Razgovor o Wikipedia":5,"Mediawiki razgovor":9,"ፋይል":-2,"ልዩ":-1,"ውይይት":1,"አባል":2,"አባል ውይይት":3,"ውክፔዲያ":4,"ውክፔዲያ ውይይት":5,"ስዕል":6,"ስዕል ውይይት":7,"መልዕክት":8,"መልዕክት ውይይት":9,"መለጠፊያ":10,"መለጠፊያ ውይይት":11,"እርዳታ":12,"እርዳታ ውይይት":13,"መደብ":14,"መደብ ውይይት":15,"በር":100,"በር ውይይት":101,"Buech":102,"Buech Diskussion":103,"Wort":104,"Wort Diskussion":105,"Text":106,"Text Diskussion":107,"Spruch":108,"Spruch Diskussion":109,"Nochricht":110,"Nochricht Diskussion":111,"Amóhùnmáwòrán":-2,"Pàtàkì":-1,"Ọ̀rọ̀":1,"Oníṣe":2,"Ọ̀rọ̀ oníṣe":3,"Ọ̀rọ̀ Wikipedia":5,"Fáìlì":6,"Ọ̀rọ̀ fáìlì":7,"Ọ̀rọ̀ mediaWiki":9,"Àdàkọ":10,"Ọ̀rọ̀ àdàkọ":11,"Ìrànlọ́wọ́":12,"Ọ̀rọ̀ ìrànlọ́wọ́":13,"Ẹ̀ka":14,"Ọ̀rọ̀ ẹ̀ka":15,"Èbúté":100,"Ọ̀rọ̀ èbúté":101,"Ìwé":108,"Ọ̀rọ̀ ìwé":109,"Ятарлă":-1,"Сӳтсе явасси":1,"Хутшăнакан":2,"Хутшăнаканăн канашлу страници":3,"Википеди сӳтсе явмалли":5,"Ӳкерчĕк":6,"Ӳкерчĕке сӳтсе явмалли":7,"MediaWiki сӳтсе явмалли":9,"Шаблона сӳтсе явмалли":11,"Пулăшу":12,"Пулăшăва сӳтсе явмалли":13,"Категорине сӳтсе явмалли":15,"ढाँचा":10,"ढाँचा वार्ता":11,"मद्दत":12,"मद्दत वार्ता":13,"Miðil":-2,"Serstakt":-1,"Kjak":1,"Brúkari":2,"Brúkarakjak":3,"Wikipedia-kjak":5,"Myndakjak":7,"MediaWiki-kjak":9,"Fyrimynd":10,"Fyrimyndakjak":11,"Hjálparkjak":13,"Bólkur":14,"Bólkakjak":15,"Szpecyjalna":-1,"Dyskusyjo":1,"Używacz":2,"Dyskusyjo używacza":3,"Wikipedyjo":4,"Dyskusyjo Wikipedyjo":5,"Plik":6,"Dyskusyjo plika":7,"Dyskusyjo MediaWiki":9,"Muster":10,"Dyskusyjo mustra":11,"Půmoc":12,"Dyskusyjo půmocy":13,"Kategoryjo":14,"Dyskusyjo kategoryji":15,"Specjalna":-1,"Dyskusja":1,"Wikipedysta":2,"Dyskusja wikipedysty":3,"Dyskusja Wikipedii":5,"Dyskusja pliku":7,"Dyskusja MediaWiki":9,"Szablon":10,"Dyskusja szablonu":11,"Dyskusja kategorii":15,"Dyskusja portalu":101,"Wikiprojekt":102,"Dyskusja wikiprojektu":103,"Overleg gebruiker":3,"Bestand":6,"Overleg bestand":7,"Overleg portaal":101,"Diskusija":1,"Lietotājs":2,"Lietotāja diskusija":3,"Vikipēdija":4,"Vikipēdijas diskusija":5,"Attēls":6,"Attēla diskusija":7,"MediaWiki diskusija":9,"Veidne":10,"Veidnes diskusija":11,"Palīdzība":12,"Palīdzības diskusija":13,"Kategorijas diskusija":15,"Portāls":100,"Portāla diskusija":101,"Vikiprojekts":102,"Vikiprojekta diskusija":103,"আলাপ":1,"ব্যবহারকারী":2,"ব্যবহারকারী আলাপ":3,"উইকিপিডিয়া আলোচনা":5,"চিত্র":6,"চিত্র আলোচনা":7,"মিডিয়াউইকি আলোচনা":9,"টেমপ্লেট":10,"টেমপ্লেট আলোচনা":11,"সাহায্য":12,"সাহায্য আলোচনা":13,"বিষয়শ্রেণী":14,"বিষয়শ্রেণী আলোচনা":15,"প্রবেশদ্বার":100,"প্রবেশদ্বার আলোচনা":101,"Wikimedia":4,"Wikimedia talk":5,"Mēdiatl":-2,"Nōncuahquīzqui":-1,"Tēixnāmiquiliztli":1,"Tlatequitiltilīlli":2,"Tlatequitiltilīlli tēixnāmiquiliztli":3,"Huiquipedia":4,"Huiquipedia tēixnāmiquiliztli":5,"Īxiptli":6,"Īxiptli tēixnāmiquiliztli":7,"Huiquimedia":8,"Huiquimedia tēixnāmiquiliztli":9,"Nemachiyōtīlli":10,"Nemachiyōtīlli tēixnāmiquiliztli":11,"Tēpalēhuiliztli":12,"Tēpalēhuiliztli tēixnāmiquiliztli":13,"Neneuhcāyōtl":14,"Neneuhcāyōtl tēixnāmiquiliztli":15,"Rakitra":-2,"Manokana":-1,"Dinika":1,"Mpikambana":2,"Dinika amin'ny mpikambana":3,"Dinika amin'ny Wikipedia":5,"Sary":6,"Dinika amin'ny sary":7,"Dinika amin'ny MediaWiki":9,"Endrika":10,"Dinika amin'ny endrika":11,"Fanoroana":12,"Dinika amin'ny fanoroana":13,"Sokajy":14,"Dinika amin'ny sokajy":15,"Medie":-2,"Extra":-1,"Klaaf":1,"Metmaacher":2,"Metmaacher Klaaf":3,"Wikipedia Klaaf":5,"Dateie Klaaf":7,"MediaWiki Klaaf":9,"Schablon":10,"Schablone Klaaf":11,"Hölp":12,"Hölp Klaaf":13,"Saachjrupp":14,"Saachjruppe Klaaf":15,"Xısusi":-1,"Werênayış":1,"Karber":2,"Karber mesac":3,"Wikipedia werênayış":5,"Dosya werênayış":7,"MediaWiki werênayış":9,"Şablon werênayış":11,"Desteg":12,"Desteg werênayış":13,"Kategori werênayış":15,"ಮೀಡಿಯ":-2,"ವಿಶೇಷ":-1,"ಚರ್ಚೆಪುಟ":1,"ಸದಸ್ಯ":2,"ಸದಸ್ಯರ ಚರ್ಚೆಪುಟ":3,"ವಿಕಿಪೀಡಿಯ":4,"ವಿಕಿಪೀಡಿಯ ಚರ್ಚೆ":5,"ಚಿತ್ರ":6,"ಚಿತ್ರ ಚರ್ಚೆಪುಟ":7,"ಮೀಡಿಯವಿಕಿ":8,"ಮೀಡೀಯವಿಕಿ ಚರ್ಚೆ":9,"ಟೆಂಪ್ಲೇಟು":10,"ಟೆಂಪ್ಲೇಟು ಚರ್ಚೆ":11,"ಸಹಾಯ":12,"ಸಹಾಯ ಚರ್ಚೆ":13,"ವರ್ಗ":14,"ವರ್ಗ ಚರ್ಚೆ":15,"మీడియా":-2,"ప్రత్యేక":-1,"చర్చ":1,"వాడుకరి":2,"వాడుకరి చర్చ":3,"వికీపీడియా":4,"వికీపీడియా చర్చ":5,"దస్త్రం":6,"దస్త్రంపై చర్చ":7,"మీడియావికీ":8,"మీడియావికీ చర్చ":9,"మూస":10,"మూస చర్చ":11,"సహాయం":12,"సహాయం చర్చ":13,"వర్గం":14,"వర్గం చర్చ":15,"వేదిక":100,"వేదిక చర్చ":101,"Вижа":-1,"Баҳс":1,"Корбар":2,"Баҳси корбар":3,"Википедиа":4,"Баҳси Википедиа":5,"Акс":6,"Баҳси акс":7,"Медиавики":8,"Баҳси медиавики":9,"Баҳси шаблон":11,"Роҳнамо":12,"Баҳси роҳнамо":13,"Гурӯҳ":14,"Баҳси гурӯҳ":15,"Баҳси портал":101,"Ýörite":-1,"Çekişme":1,"Ulanyjy":2,"Ulanyjy çekişme":3,"Wikipediýa":4,"Wikipediýa çekişme":5,"Faýl":6,"Faýl çekişme":7,"MediaWiki çekişme":9,"Şablon çekişme":11,"Ýardam":12,"Ýardam çekişme":13,"Kategoriýa":14,"Kategoriýa çekişme":15,"Амедиа":-2,"Цастәи":-1,"Ахцәажәара":1,"Алахәыла":2,"Алахәыла ахцәажәара":3,"Авикипедиа":4,"Авикипедиа ахцәажәара":5,"Афаил":6,"Афаил ахцәажәара":7,"Амедиавики":8,"Амедиавики ахцәажәара":9,"Ашаблон":10,"Ашаблон ахцәажәара":11,"Ацхыраара":12,"Ацхыраара ахцәажәара":13,"Акатегориа":14,"Акатегориа ахцәажәара":15,"Oerlis":1,"Meidogger":2,"Meidogger oerlis":3,"Wikipedy":4,"Wikipedy oerlis":5,"Ofbyld":6,"Ofbyld oerlis":7,"MediaWiki oerlis":9,"Berjocht":10,"Berjocht oerlis":11,"Hulp oerlis":13,"Kategory":14,"Kategory oerlis":15,"Astamiwa":-1,"Dhiskusi":1,"Panganggo":2,"Dhiskusi Panganggo":3,"Dhiskusi Wikipedia":5,"Gambar":6,"Dhiskusi Gambar":7,"Dhiskusi MediaWiki":9,"Cithakan":10,"Dhiskusi Cithakan":11,"Pitulung":12,"Dhiskusi Pitulung":13,"Dhiskusi Kategori":15,"Сæрмагонд":-1,"Тæрхон":1,"Архайæг":2,"Архайæджы ныхас":3,"Википедийы тæрхон":5,"Файлы тæрхон":7,"MediaWiki-йы тæрхон":9,"Шаблоны тæрхон":11,"Æххуыс":12,"Æххуысы тæрхон":13,"Категорийы тæрхон":15,"Мультымедыя":-2,"Адмысловае":-1,"Размовы":1,"Удзельнік":2,"Размовы з удзельнікам":3,"Вікіпедыя":4,"Размовы пра Вікіпедыя":5,"Выява":6,"Размовы пра выяву":7,"Размовы пра MediaWiki":9,"Размовы пра шаблон":11,"Даведка":12,"Размовы пра даведку":13,"Катэгорыя":14,"Размовы пра катэгорыю":15,"Партал":100,"Размовы пра партал":101,"Descusión":1,"Descusión usuario":3,"Descusión Wikipedia":5,"Imachen":6,"Descusión imachen":7,"Descusión MediaWiki":9,"Descusión plantilla":11,"Aduya":12,"Descusión aduya":13,"Descusión categoría":15,"Descusión Portal":101,"ვიკიპედია განხილვა":5,"პორტალი":100,"პორტალი განხილვა":101,"Тусгай":-1,"Хэлэлцүүлэг":1,"Хэрэглэгч":2,"Хэрэглэгчийн яриа":3,"Wikipedia-н хэлэлцүүлэг":5,"Файлын хэлэлцүүлэг":7,"МедиаВикигийн хэлэлцүүлэг":9,"Загвар":10,"Загварын хэлэлцүүлэг":11,"Тусламж":12,"Тусламжийн хэлэлцүүлэг":13,"Ангилал":14,"Ангиллын хэлэлцүүлэг":15,"Benutser":2,"Benutser Diskussion":3,"Bielde":6,"Bielde Diskussion":7,"Foarloage":10,"Foarloage Diskussion":11,"Hälpe":12,"Hälpe Diskussion":13,"Medja":-2,"Speċjali":-1,"Diskussjoni":1,"Diskussjoni utent":3,"Diskussjoni Wikipedija":5,"Diskussjoni stampa":7,"Diskussjoni MediaWiki":9,"Mudell":10,"Diskussjoni mudell":11,"Għajnuna":12,"Diskussjoni għajnuna":13,"Diskussjoni kategorija":15,"Diskussjoni portal":101,"Meanyn":-2,"Er lheh":-1,"Resooney":1,"Ymmydeyr":2,"Resooney ymmydeyr":3,"Resooney Wikipedia":5,"Coadan":6,"Resooney coadan":7,"Resooney MediaWiki":9,"Clowan":10,"Resooney clowan":11,"Cooney":12,"Resooney cooney":13,"Ronney":14,"Resooney ronney":15,"Spesyal":-1,"Taki":1,"Masyin":2,"Taki fu masyin":3,"Taki fu Wikipedia":5,"Gefre":6,"Taki fu gefre":7,"Taki fu MediaWiki":9,"Ankra":10,"Taki fu ankra":11,"Yepi":12,"Taki fu yepi":13,"Guru":14,"Taki fu guru":15,"Панель":-1,"Вераськон":1,"Викиавтор":2,"Викиавтор сярысь вераськон":3,"Wikipedia сярысь вераськон":5,"Суред":6,"Суред сярысь вераськон":7,"MediaWiki сярысь вераськон":9,"Шаблон сярысь вераськон":11,"Валэктон":12,"Валэктон сярысь вераськон":13,"Категория сярысь вераськон":15,"ۋاسىتە":-2,"ئالاھىدە":-1,"مۇنازىرە":1,"ئىشلەتكۈچى":2,"ئىشلەتكۈچى مۇنازىرىسى":3,"مۇنازىرىسىWikipedia":5,"ھۆججەت":6,"ھۆججەت مۇنازىرىسى":7,"MediaWiki مۇنازىرىسى":9,"قېلىپ":10,"قېلىپ مۇنازىرىسى":11,"ياردەم":12,"ياردەم مۇنازىرىسى":13,"تۈر":14,"تۈر مۇنازىرىسى":15,"ਮੀਡੀਆ":-2,"ਖਾਸ":-1,"ਚਰਚਾ":1,"ਮੈਂਬਰ":2,"ਮੈਂਬਰ ਚਰਚਾ":3,"ਵਿਕਿਪੀਡਿਆ":4,"ਵਿਕਿਪੀਡਿਆ ਚਰਚਾ":5,"ਤਸਵੀਰ":6,"ਤਸਵੀਰ ਚਰਚਾ":7,"ਮੀਡੀਆਵਿਕਿ":8,"ਮੀਡੀਆਵਿਕਿ ਚਰਚਾ":9,"ਨਮੂਨਾ":10,"ਨਮੂਨਾ ਚਰਚਾ":11,"ਮਦਦ":12,"ਮਦਦ ਚਰਚਾ":13,"ਸ਼੍ਰੇਣੀ":14,"ਸ਼੍ਰੇਣੀ ਚਰਚਾ":15,"Meadhan":-2,"Sònraichte":-1,"Deasbaireachd":1,"Cleachdaiche":2,"Deasbaireachd a' chleachdaiche":3,"Uicipeid":4,"An deasbaireachd aig Uicipeid":5,"Faidhle":6,"Deasbaireachd an fhaidhle":7,"Deasbaireachd MediaWiki":9,"Teamplaid":10,"Deasbaireachd na teamplaid":11,"Cobhair":12,"Deasbaireachd na cobharach":13,"Roinn-seòrsa":14,"Deasbaireachd na roinn-seòrsa":15,"દ્રશ્ય-શ્રાવ્ય (મિડિયા)":-2,"વિશેષ":-1,"ચર્ચા":1,"સભ્ય":2,"સભ્યની ચર્ચા":3,"વિકિપીડિયા":4,"વિકિપીડિયા ચર્ચા":5,"ચિત્ર":6,"ચિત્રની ચર્ચા":7,"મીડિયાવિકિ":8,"મીડિયાવિકિ ચર્ચા":9,"ઢાંચો":10,"ઢાંચાની ચર્ચા":11,"મદદ":12,"મદદની ચર્ચા":13,"શ્રેણી":14,"શ્રેણીની ચર્ચા":15,"Pinaurog":-1,"Hiruhimangraw":1,"Gumaramit":2,"Hiruhimangaw hiton gumaramit":3,"Hiruhimangraw hiton Wikipedia":5,"Paypay":6,"Hiruhimangraw hiton paypay":7,"MedyaWiki":8,"Hiruhimangraw hiton MedyaWiki":9,"Batakan":10,"Hiruhimangraw hiton batakan":11,"Bulig":12,"Hiruhimangaw hiton bulig":13,"Kaarangay":14,"Hiruhimangraw hiton kaarangay":15,"माध्यम":-2,"खँलाबँला":1,"छ्येलेमि":2,"छ्येलेमि खँलाबँला":3,"विकिपिडिया":4,"विकिपिडिया खँलाबँला":5,"किपा":6,"किपा खँलाबँला":7,"मिडियाविकि":8,"मिडियाविकि खँलाबँला":9,"ग्वाहालि":12,"ग्वाहालि खँलाबँला":13,"पुचः":14,"पुचः खँलाबँला":15,"दबू":100,"दबू खँलाबँला":101,"ମାଧ୍ୟମ":-2,"ବିଶେଷ":-1,"ଆଲୋଚନା":1,"ବ୍ୟବହାରକାରୀ":2,"ବ୍ୟବହାରକାରୀଙ୍କ ଆଲୋଚନା":3,"ଉଇକିପିଡ଼ିଆ":4,"ଉଇକିପିଡ଼ିଆ ଆଲୋଚନା":5,"ଫାଇଲ":6,"ଫାଇଲ ଆଲୋଚନା":7,"ମିଡ଼ିଆଉଇକି":8,"ମିଡ଼ିଆଉଇକି ଆଲୋଚନା":9,"ଛାଞ୍ଚ":10,"ଛାଞ୍ଚ ଆଲୋଚନା":11,"ସହଯୋଗ":12,"ସହଯୋଗ ଆଲୋଚନା":13,"ଶ୍ରେଣୀ":14,"ଶ୍ରେଣୀ ଆଲୋଚନା":15,"មេឌា":-2,"ពិសេស":-1,"ការពិភាក្សា":1,"អ្នកប្រើប្រាស់":2,"ការពិភាក្សារបស់អ្នកប្រើប្រាស់":3,"វិគីភីឌា":4,"ការពិភាក្សាអំពីវិគីភីឌា":5,"ឯកសារ":6,"ការពិភាក្សាអំពីឯកសារ":7,"មេឌាវិគី":8,"ការពិភាក្សាអំពីមេឌាវិគី":9,"ទំព័រគំរូ":10,"ការពិភាក្សាអំពីទំព័រគំរូ":11,"ជំនួយ":12,"ការពិភាក្សាអំពីជំនួយ":13,"ចំណាត់ថ្នាក់ក្រុម":14,"ការពិភាក្សាអំពីចំណាត់ថ្នាក់ក្រុម":15,"Mahsus":-1,"Muzakere":1,"Qullanıcı":2,"Qullanıcı muzakeresi":3,"Vikipediya muzakeresi":5,"Fayl":6,"Fayl muzakeresi":7,"MediaViki":8,"MediaViki muzakeresi":9,"Şablon muzakeresi":11,"Yardım muzakeresi":13,"Kategoriya muzakeresi":15,"Speciâl":-1,"Discussion utent":3,"Vichipedie":4,"Discussion Vichipedie":5,"Figure":6,"Discussion figure":7,"Model":10,"Discussion model":11,"Jutori":12,"Discussion jutori":13,"Discussion categorie":15,"Espesyal":-1,"Diskite":1,"Itilizatè":2,"Diskisyon Itilizatè":3,"Wikipedya":4,"Diskisyon Wikipedya":5,"Fichye":6,"Diskisyon Fichye":7,"Diskisyon MedyaWiki":9,"Diskisyon Modèl":11,"Èd":12,"Diskisyon Èd":13,"Diskisyon Kategori":15,"Discussione":1,"Discussioni utente":3,"Discussioni categoria":15,"Sapaq":-1,"Rimanakuy":1,"Ruraq":2,"Ruraq rimanakuy":3,"Wikipedia rimanakuy":5,"Rikcha":6,"Rikcha rimanakuy":7,"MediaWiki rimanakuy":9,"Plantilla rimanakuy":11,"Yanapa":12,"Yanapa rimanakuy":13,"Katiguriya":14,"Katiguriya rimanakuy":15,"Մեդիա":-2,"Սպասարկող":-1,"Քննարկում":1,"Մասնակից":2,"Մասնակցի քննարկում":3,"Վիքիպեդիա":4,"Վիքիպեդիայի քննարկում":5,"Պատկեր":6,"Պատկերի քննարկում":7,"MediaWiki քննարկում":9,"Կաղապար":10,"Կաղապարի քննարկում":11,"Օգնություն":12,"Օգնության քննարկում":13,"Կատեգորիա":14,"Կատեգորիայի քննարկում":15,"Պորտալ":100,"Պորտալի քննարկում":101,"Specioal":-1,"Discuusje":1,"Discuusje gebruker":3,"Discuusje Wikipedia":5,"Ofbeeldienge":6,"Discuusje ofbeeldienge":7,"Discuusje MediaWiki":9,"Patrôon":10,"Discuusje patrôon":11,"Discuusje ulpe":13,"Discuusje categorie":15,"Multimedia":-2,"Multimedia talk":101,"Arnawlı":-1,"Sa'wbet":1,"Paydalanıwshı":2,"Paydalanıwshı sa'wbeti":3,"Wikipedia sa'wbeti":5,"Su'wret":6,"Su'wret sa'wbeti":7,"MediaWiki sa'wbeti":9,"Shablon":10,"Shablon sa'wbeti":11,"Anıqlama":12,"Anıqlama sa'wbeti":13,"Kategoriya sa'wbeti":15,"Discussion Usator":3,"Discussion File":7,"Patrono":10,"Discussion Patrono":11,"Adjuta":12,"Discussion Adjuta":13,"Appendice":102,"Discussion Appendice":103,"מדיה":-2,"מיוחד":-1,"שיחה":1,"משתמש":2,"שיחת משתמש":3,"ויקיפדיה":4,"שיחת ויקיפדיה":5,"קובץ":6,"שיחת קובץ":7,"מדיה ויקי":8,"שיחת מדיה ויקי":9,"תבנית":10,"שיחת תבנית":11,"עזרה":12,"שיחת עזרה":13,"קטגוריה":14,"שיחת קטגוריה":15,"פורטל":100,"שיחת פורטל":101,"ספר":108,"שיחת ספר":109,"Husus":-1,"Obrolan":1,"Pamaké":2,"Obrolan pamaké":3,"Obrolan Wikipedia":5,"Obrolan gambar":7,"MédiaWiki":8,"Obrolan MédiaWiki":9,"Obrolan citakan":11,"Obrolan pitulung":13,"Obrolan kategori":15,"Obrolan portal":101,"Meedia":-2,"Eri":-1,"Arutelu":1,"Kasutaja":2,"Kasutaja arutelu":3,"Vikipeedia":4,"Vikipeedia arutelu":5,"Pilt":6,"Pildi arutelu":7,"MediaWiki arutelu":9,"Mall":10,"Malli arutelu":11,"Juhend":12,"Juhendi arutelu":13,"Kategooria":14,"Kategooria arutelu":15,"Portaali arutelu":101,"زریعہ":-2,"تبادلۂ خیال":1,"صارف":2,"تبادلۂ خیال صارف":3,"منصوبہ":4,"تبادلۂ خیال منصوبہ":5,"تصویر":6,"تبادلۂ خیال تصویر":7,"میڈیاوکی":8,"تبادلۂ خیال میڈیاوکی":9,"سانچہ":10,"تبادلۂ خیال سانچہ":11,"معاونت":12,"تبادلۂ خیال معاونت":13,"زمرہ":14,"تبادلۂ خیال زمرہ":15,"باب":100,"تبادلۂ خیال باب":101,"Donate":4,"Donate talk":5,"Аналлаах":-1,"Ырытыы":1,"Кыттааччы":2,"Кыттааччы ырытыыта":3,"Бикипиэдьийэ":4,"Бикипиэдьийэ ырытыыта":5,"Билэ":6,"Билэ ырытыыта":7,"Халыып":10,"Халыып ырытыыта":11,"Көмө":12,"Көмө ырытыыта":13,"Категория ырытыыта":15,"Specialnje":-1,"Wužiwar":2,"Diskusija z wužiwarjom":3,"Wikipedija diskusija":5,"Dataja":6,"Diskusija k dataji":7,"Předłoha":10,"Diskusija k předłoze":11,"Pomoc diskusija":13,"Diskusija ke kategoriji":15,"Immikkut":-1,"Oqallinneq":1,"Atuisoq":2,"Atuisup oqalliffia":3,"Wikipedia-p oqalliffia":5,"Fiileq":6,"Fiilip oqalliffia":7,"Mediawikip oqalliffia":9,"Ilisserut":10,"Ilisserummi oqallinneq":11,"Ikiuutit":12,"Ikiuutini oqallinneq":13,"Sumut atassuseq":14,"Sumut atassusermi oqallinneq":15,"Specialne":-1,"Wužywaŕ":2,"Diskusija wužywarja":3,"Diskusija wó dataji":7,"Pśedłoga":10,"Diskusija wó pśedłoze":11,"Diskusija wó pomocy":13,"Diskusija wó kategoriji":15,"Alderique":1,"Usuariu":2,"Usuariu alderique":3,"Uiquipedia":4,"Uiquipedia alderique":5,"Archivu":6,"Archivu alderique":7,"MediaWiki alderique":9,"Plantía":10,"Plantía alderique":11,"Aida":12,"Aida alderique":13,"Categoría alderique":15,"Meán":-2,"Speisialta":-1,"Plé":1,"Úsáideoir":2,"Plé úsáideora":3,"Vicipéid":4,"Plé Vicipéide":5,"Íomhá":6,"Plé íomhá":7,"Plé MediaWiki":9,"Teimpléad":10,"Plé teimpléid":11,"Cabhair":12,"Plé cabhrach":13,"Catagóir":14,"Plé catagóire":15,"Naaltsoos baa yáshtiʼ":1,"Choyoołʼįįhí":2,"Choyoołʼįįhí bichʼįʼ yáshtiʼ":3,"Wikiibíídiiya":4,"Wikiibíídiiya baa yáshtiʼ":5,"Eʼelyaaígíí":6,"Eʼelyaaígíí baa yáshtiʼ":7,"MediaWiki baa yáshtiʼ":9,"Bee álnééhí":10,"Bee álnééhí baa yáshtiʼ":11,"Anáʼálwoʼ":12,"Anáʼálwoʼ baa yáshtiʼ":13,"Tʼááłáhági átʼéego":14,"Tʼááłáhági átʼéego baa yáshtiʼ":15,"Dibar":-1,"Kaozeal":1,"Implijer":2,"Kaozeadenn Implijer":3,"Kaozeadenn Wikipedia":5,"Restr":6,"Kaozeadenn Restr":7,"Kaozeadenn MediaWiki":9,"Patrom":10,"Kaozeadenn Patrom":11,"Skoazell":12,"Kaozeadenn Skoazell":13,"Rummad":14,"Kaozeadenn Rummad":15,"Médiá":-2,"Špeciálne":-1,"Diskusia":1,"Redaktor":2,"Diskusia s redaktorom":3,"Diskusia k Wikipédii":5,"Súbor":6,"Diskusia k súboru":7,"Diskusia k MediaWiki":9,"Šablóna":10,"Diskusia k šablóne":11,"Diskusia k pomoci":13,"Diskusia ku kategórii":15,"Diskusia k portálu":101,"Discussiun":1,"Utilisader":2,"Utilisader discussiun":3,"Wikipedia discussiun":5,"Datoteca":6,"Datoteca discussiun":7,"MediaWiki discussiun":9,"Model discussiun":11,"Agid":12,"Agid discussiun":13,"Categoria discussiun":15,"Maxsus":-1,"Munozara":1,"Foydalanuvchi":2,"Foydalanuvchi munozarasi":3,"Vikipediya munozarasi":5,"Tasvir":6,"Tasvir munozarasi":7,"MediaWiki munozarasi":9,"Andoza":10,"Andoza munozarasi":11,"Yordam":12,"Yordam munozarasi":13,"Turkum":14,"Turkum munozarasi":15,"Uzalutno":-1,"Vakyarimata":1,"Jeno":2,"Jeno vakyarimata":3,"Vikipidiya":4,"Vikipidiyake vakyarimata":5,"Chitro":6,"Chitro vakyarimata":7,"MediyaViki":8,"MediyaViki vakyarimata":9,"Sikavno":10,"Sikavno vakyarimata":11,"Zhutipen":12,"Zhutipen vakyarimata":13,"Shopni":14,"Shopni vakyarimata":15,"মাধ্যম":-2,"বাৰ্তা":1,"সদস্য":2,"সদস্য বাৰ্তা":3,"ৱিকিপিডিয়া":4,"ৱিকিপিডিয়া বাৰ্তা":5,"চিত্ৰ":6,"চিত্ৰ বাৰ্তা":7,"মেডিয়াৱিকি":8,"মেডিয়াৱিকি বাৰ্তা":9,"সাঁচ":10,"সাঁচ বাৰ্তা":11,"সহায়":12,"সহায় বাৰ্তা":13,"শ্ৰেণী":14,"শ্ৰেণী বাৰ্তা":15,"ৱিকিচ'ৰা":100,"ৱিকিচ'ৰা আলোচনা":101,"Pāpaho":-2,"Papa nui":-1,"Kūkākūkā":1,"Mea hoʻohana":2,"Kūkākūkā o mea hoʻohana":3,"Kūkākūkā o Wikipikia":5,"Waihona":6,"Kūkākūkā o waihona":7,"Kūkākūkā o MediaWiki":9,"Anakuhi":10,"Kūkākūkā o anakuhi":11,"Kōkua":12,"Kūkākūkā o kōkua":13,"Māhele":14,"Kūkākūkā o māhele":15,"Башка тевень":-1,"Кортамо":1,"Теиця":2,"Теицянь кортамось":3,"Википедиясь":4,"Википедиясь кортамось":5,"Артовкс":6,"Артовксто кортамось":7,"MediaWiki-нь кортамось":9,"ЛопаПарцун":10,"ЛопаПарцундо кортамось":11,"Лезкстэ кортамось":13,"Категориядо кортамось":15,"رسنۍ":-2,"ځانګړی":-1,"خبرې اترې":1,"کارن":2,"د کارن خبرې اترې":3,"ويکيپېډيا":4,"د ويکيپېډيا خبرې اترې":5,"دوتنه":6,"د دوتنې خبرې اترې":7,"ميډياويکي":8,"د ميډياويکي خبرې اترې":9,"کينډۍ":10,"د کينډۍ خبرې اترې":11,"لارښود":12,"د لارښود خبرې اترې":13,"وېشنيزه":14,"د وېشنيزې خبرې اترې":15,"Таспа":-2,"Арнайы":-1,"Талқылау":1,"Қатысушы":2,"Қатысушы талқылауы":3,"Уикипедия талқылауы":5,"Сурет":6,"Сурет талқылауы":7,"МедиаУики":8,"МедиаУики талқылауы":9,"Үлгі":10,"Үлгі талқылауы":11,"Анықтама":12,"Анықтама талқылауы":13,"Санат":14,"Санат талқылауы":15,"Портал талқылауы":101,"Specala":-1,"Debato":1,"Uzanto Debato":3,"Wikipedio":4,"Wikipedio Debato":5,"Arkivo":6,"Arkivo Debato":7,"MediaWiki Debato":9,"Shablono":10,"Shablono Debato":11,"Helpo Debato":13,"Kategorio Debato":15,"ஊடகம்":-2,"சிறப்பு":-1,"பேச்சு":1,"பயனர்":2,"பயனர் பேச்சு":3,"விக்கிப்பீடியா":4,"விக்கிப்பீடியா பேச்சு":5,"படிமம்":6,"படிமப் பேச்சு":7,"மீடியாவிக்கி":8,"மீடியாவிக்கி பேச்சு":9,"வார்ப்புரு":10,"வார்ப்புரு பேச்சு":11,"உதவி":12,"உதவி பேச்சு":13,"பகுப்பு":14,"பகுப்பு பேச்சு":15,"வலைவாசல்":100,"வலைவாசல் பேச்சு":101,"Лӱмын ыштыме":-1,"Каҥашымаш":1,"Пайдаланыше":2,"Пайдаланышын каҥашымаш":3,"Википедий":4,"Википедийын каҥашымаш":5,"Файл шотышто каҥашымаш":7,"Кышкар":10,"Кышкар шотышто каҥашымаш":11,"Полшык":12,"Полшык шотышто каҥашымаш":13,"Категорий":14,"Категорий шотышто каҥашымаш":15,"Incubator":4,"Incubator talk":5,"Användare":2,"Användardiskussion":3,"Wikipediadiskussion":5,"Malldiskussion":11,"Hjälpdiskussion":13,"Syndrig":-1,"Gesprec":1,"Biliþ":6,"Biliþgesprec":7,"Bysen":10,"Bysengesprec":11,"Helpgesprec":13,"Flocc":14,"Floccgesprec":15,"Faili":-2,"Maalum":-1,"Majadiliano":1,"Mtumiaji":2,"Majadiliano ya mtumiaji":3,"Majadiliano ya Wikipedia":5,"Picha":6,"Majadiliano ya faili":7,"Majadiliano ya MediaWiki":9,"Kigezo":10,"Majadiliano ya kigezo":11,"Msaada":12,"Majadiliano ya msaada":13,"Jamii":14,"Majadiliano ya jamii":15,"Lango":100,"Majadiliano ya lango":101,"Discussion utente":3,"Discussion file":7,"Discussion modèl":11,"Ajuto":12,"Discussion ajuto":13,"Discussion categoria":15,"Portałe":100,"Discussion portałe":101,"Projeto":102,"Discussion projeto":103,"विसेस":-1,"सम्भासित":1,"अवयव":2,"अवयव सम्भासित":3,"Wikipedia सम्भासित":5,"पटिमा":6,"पटिमा सम्भासित":7,"मीडियाविकि सम्भासित":9,"पटिरूप":10,"पटिरूप सम्भासित":11,"अवस्सय":12,"अवस्सय सम्भासित":13,"विभाग":14,"विभाग सम्भासित":15,"Seite":102,"Seite Diskussion":103,"Index Diskussion":105,"Olay":1,"Paragamit":2,"Olay kan paragamit":3,"Olay sa Wikipedia":5,"Ladawan":6,"Olay sa ladawan":7,"Olay sa MediaWiki":9,"Plantilya":10,"Olay sa plantilya":11,"Tabang":12,"Olay sa tabang":13,"Olay sa kategorya":15,"Обсуждение Википедии":5,"Обсуждение портала":101,"Инкубатор":102,"Обсуждение Инкубатора":103,"Проект":104,"Обсуждение проекта":105,"Арбитраж":106,"Обсуждение арбитража":107,"Wikipedia discusión":5,"Portal Discusión":101,"Wikiproyecto":102,"Wikiproyecto Discusión":103,"Anexo Discusión":105,"Portale":100,"Discussioni portale":101,"Progetto":102,"Discussioni progetto":103,"Book":108,"Book talk":109}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'configliere' ; Settings.use :commandline
|
2
|
+
require 'gorillib'
|
3
|
+
require 'gorillib/data_munging'
|
4
|
+
require 'pry'
|
5
|
+
require 'rake'
|
6
|
+
|
7
|
+
BOOK_ROOT = (ENV['BOOK_CONTENTS'] || File.expand_path('..', File.dirname(__FILE__)))
|
8
|
+
|
9
|
+
Settings.define :mini, type: :boolean, default: false, description: "use sample data or full data?"
|
10
|
+
Settings.resolve!
|
11
|
+
Settings[:mini_slug] = Settings.mini ? "-sample" : ""
|
12
|
+
|
13
|
+
# dummy dependency to force a task. TASK FORCE DELTA GO
|
14
|
+
task :force
|
15
|
+
|
16
|
+
Pathname.register_paths(
|
17
|
+
book_root: BOOK_ROOT,
|
18
|
+
root: [:book_root],
|
19
|
+
code: [:book_root, 'code'],
|
20
|
+
data: [:book_root, 'data'],
|
21
|
+
work: [:book_root, 'tmp'],
|
22
|
+
)
|
23
|
+
|
24
|
+
require 'rake/name_space'
|
25
|
+
module ::Rake
|
26
|
+
class NameSpace
|
27
|
+
def name
|
28
|
+
@scope.join(':')
|
29
|
+
end
|
30
|
+
|
31
|
+
def direct_tasks
|
32
|
+
tasks.find_all{|task| task.name =~ /\A#{name}:\w+\z/ }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def step(target, options)
|
38
|
+
deps = [options[:after]].flatten.compact
|
39
|
+
Array.wrap(options[:invoke]).each{|task_name| Rake::Task[task_name].invoke }
|
40
|
+
desc(options[:doc]) if options[:doc]
|
41
|
+
task target => deps do
|
42
|
+
yield target if block_given?
|
43
|
+
end
|
44
|
+
target
|
45
|
+
end
|
46
|
+
|
47
|
+
def file_task(name, options={})
|
48
|
+
target = Pathname.of(name)
|
49
|
+
target_dir = File.dirname(target.to_s)
|
50
|
+
task(name => target)
|
51
|
+
#
|
52
|
+
directory(target_dir)
|
53
|
+
deps = [options[:after], target_dir].flatten.compact
|
54
|
+
file target => deps do
|
55
|
+
Array.wrap(options[:invoke]).each{|task_name| Rake::Task[task_name].invoke }
|
56
|
+
Log.info "Creating #{name} => #{target}"
|
57
|
+
yield target if block_given?
|
58
|
+
end
|
59
|
+
target
|
60
|
+
end
|
61
|
+
|
62
|
+
def create_file(name, options={})
|
63
|
+
file_task(name, options) do |target|
|
64
|
+
File.open(target, 'wb') do |target_file|
|
65
|
+
yield target_file
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
# * accumulates all symbol-named tasks that are direct children
|
71
|
+
#
|
72
|
+
# @example Will make task parse depending on 'parse:bob'
|
73
|
+
# chain('parse') do
|
74
|
+
# task('bob'){ ... }
|
75
|
+
# chain('nest'){ task('two_down') }
|
76
|
+
# end
|
77
|
+
#
|
78
|
+
def chain(name, doc=nil, &block)
|
79
|
+
desc(doc) if doc
|
80
|
+
task(name)
|
81
|
+
return unless block
|
82
|
+
ns = namespace(name, &block)
|
83
|
+
task(name => ns.direct_tasks)
|
84
|
+
ns
|
85
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'wukong'
|
3
|
+
require 'gorillib/type/ip_address'
|
4
|
+
require 'gorillib/pathname'
|
5
|
+
require 'gorillib/model/serialization'
|
6
|
+
require 'gorillib/model/positional_fields'
|
7
|
+
|
8
|
+
Pathname.register_paths(
|
9
|
+
maxmind: '../../../data/server_logs/maxmind',
|
10
|
+
geolite_ip_blocks: [:maxmind, 'GeoLiteCity_20121002/GeoLiteCity-Blocks.csv'],
|
11
|
+
geolite_locations: [:maxmind, 'GeoLiteCity_20121002/GeoLiteCity-Location.csv'],
|
12
|
+
)
|
13
|
+
|
14
|
+
class IpGeo
|
15
|
+
include Gorillib::Model
|
16
|
+
include Gorillib::Model::PositionalFields
|
17
|
+
#
|
18
|
+
field :location_id, Integer
|
19
|
+
field :longitude, Float # note: longitude, latitude
|
20
|
+
field :latitude, Float
|
21
|
+
#
|
22
|
+
field :country_id, String, blankish: ["", nil, '""']
|
23
|
+
field :admin1_id, String, blankish: ["", nil, '""']
|
24
|
+
field :city, String, blankish: ["", nil, '""']
|
25
|
+
#
|
26
|
+
field :postal_code, String, blankish: ["", nil, '""']
|
27
|
+
field :metro_code, String, blankish: ["", nil, '""']
|
28
|
+
field :area_code, String, blankish: ["", nil, '""']
|
29
|
+
end
|
30
|
+
|
31
|
+
lines = 0
|
32
|
+
LOCATIONS = {}
|
33
|
+
locations_file = Pathname.of(:geolite_locations).open(encoding: "ISO-8859-1")
|
34
|
+
locations_file.readline; locations_file.readline
|
35
|
+
locations_file.
|
36
|
+
# readlines[0..1000].
|
37
|
+
each do |line|
|
38
|
+
location_id, country_id, admin1_id, city, postal_code, latitude, longitude, metro_code, area_code = line.chomp.gsub(/"/, '').split(',', 9)
|
39
|
+
LOCATIONS[location_id.to_i] = [ location_id.to_i, longitude.to_f, latitude.to_f, country_id, admin1_id, city, postal_code, metro_code, area_code ]
|
40
|
+
end
|
41
|
+
|
42
|
+
module IpCensus
|
43
|
+
class IpBlocksMapper < Wukong::Streamer::RecordStreamer
|
44
|
+
|
45
|
+
def initialize(*)
|
46
|
+
super
|
47
|
+
@last = IpNumeric.from_dotted('0.116.0.0')
|
48
|
+
end
|
49
|
+
|
50
|
+
def recordize line
|
51
|
+
beg_ip, end_ip, location_id = line.gsub(/\"/, '').split(",", 3)
|
52
|
+
[IpNumeric.new(Integer(beg_ip)), IpNumeric.new(Integer(end_ip)), Integer(location_id)]
|
53
|
+
end
|
54
|
+
|
55
|
+
# Use the regex to break line into fields
|
56
|
+
# Emit each record as flat line
|
57
|
+
def process(beg_ip, end_ip, location_id, &block)
|
58
|
+
emit_range(IpRange.new(@last, beg_ip), 0, &block) if @last != beg_ip.to_int
|
59
|
+
emit_range IpRange.new(beg_ip, end_ip), location_id, &block
|
60
|
+
@last = end_ip.to_i + 1
|
61
|
+
end
|
62
|
+
|
63
|
+
def emit_range(rng, location_id)
|
64
|
+
location = LOCATIONS[location_id]
|
65
|
+
warn "No location #{location_id.inspect}" unless location || (location_id == 0)
|
66
|
+
rng.bitness_blocks(16).each do |blk_min, blk_max|
|
67
|
+
# raise [blk_min, blk_max, blk_min.to_hex[0..-5], blk_max.to_hex[0..-5]].inspect if blk_min.to_hex[0..-3] != blk_max.to_hex[0..-3]
|
68
|
+
yield [
|
69
|
+
blk_min.to_hex[0..3],
|
70
|
+
blk_min.to_hex[4..-1],
|
71
|
+
blk_max.to_hex[4..-1],
|
72
|
+
blk_min.to_i,
|
73
|
+
blk_max.to_i,
|
74
|
+
location,
|
75
|
+
].flatten
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
Wukong::Script.new(IpCensus::IpBlocksMapper, nil).run
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# # Parse logs to TSV
|
2
|
+
#
|
3
|
+
# bzcat data/star_wars_kid.log.bz2 | head -n 100200 | tail -n 100 > data/swk-100.log
|
4
|
+
# cat data/swk-100.tsv
|
5
|
+
# cat data/swk-100.log | ./apache_log_parser.rb --map | wu-lign | cutc 150
|
6
|
+
# cat data/swk-100.log | ./apache_log_parser.rb --map > data/swk-100.tsv
|
7
|
+
# ./histograms.rb --run data/star_wars_kid.log data/star_wars_kid.tsv
|
8
|
+
|
9
|
+
# # Histograms
|
10
|
+
#
|
11
|
+
# cat data/swk-100.tsv | ./histograms.rb --map | wu-lign
|
12
|
+
# cat data/swk-hist-map.tsv | ./histograms.rb --reduce
|
13
|
+
# ./histograms.rb --run data/star_wars_kid.tsv data/star_wars_kid-pages_by_hour.tsv
|
14
|
+
|
15
|
+
# # Sessionize
|
16
|
+
#
|
17
|
+
# cat data/swk-100.tsv | ./histograms.rb --map | wu-lign
|
18
|
+
# cat data/swk-hist-map.tsv | ./histograms.rb --reduce
|
19
|
+
# ./histograms.rb --run data/star_wars_kid.tsv data/star_wars_kid-pages_by_hour.tsv
|
20
|
+
|
21
|
+
class Logline
|
22
|
+
include Gorillib::Model
|
23
|
+
include Gorillib::Model::PositionalFields
|
24
|
+
|
25
|
+
field :ip, String
|
26
|
+
field :junk1, String
|
27
|
+
field :junk2, String
|
28
|
+
#
|
29
|
+
field :visit_time, Time
|
30
|
+
field :http_method, String
|
31
|
+
field :path, String
|
32
|
+
field :protocol, String
|
33
|
+
field :response_code, Integer
|
34
|
+
field :size, Integer, blankish: ['', nil, '-']
|
35
|
+
field :referer, String
|
36
|
+
field :ua, String
|
37
|
+
field :cruft, String
|
38
|
+
|
39
|
+
#
|
40
|
+
# Regular expression to parse an apache log line.
|
41
|
+
#
|
42
|
+
# 83.240.154.3 - - [07/Jun/2008:20:37:11 +0000] "GET /faq HTTP/1.1" 200 569 "http://infochimps.org/search?query=CAC" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16"
|
43
|
+
#
|
44
|
+
LOG_RE = Regexp.compile(%r{\A
|
45
|
+
(\S+) # ip 83.240.154.3
|
46
|
+
\s(\S+) # j1 -
|
47
|
+
\s(\S+) # j2 -
|
48
|
+
\s\[(\d+/\w+/\d+ # date part [07/Jun/2008
|
49
|
+
:\d+:\d+:\d+ # time part :20:37:11
|
50
|
+
\s[\+\-]\S*)\] # timezone +0000]
|
51
|
+
\s\"(?:(\S+) # http_method "GET
|
52
|
+
\s(\S+) # path /faq
|
53
|
+
\s(\S+)|-)\" # protocol HTTP/1.1"
|
54
|
+
\s(\d+) # response_code 200
|
55
|
+
\s(\d+|-) # size 569
|
56
|
+
\s\"([^\"]*)\" # referer "http://infochimps.org/search?query=CAC"
|
57
|
+
\s\"([^\"]*)\" # ua "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16"
|
58
|
+
\z}x)
|
59
|
+
MONTHS = { 'Jan' => 1, 'Feb' => 2, 'Mar' => 3, 'Apr' => 4, 'May' => 5, 'Jun' => 6, 'Jul' => 7, 'Aug' => 8, 'Sep' => 9, 'Oct' => 10, 'Nov' => 11, 'Dec' => 12, }
|
60
|
+
|
61
|
+
def receive_visit_time(val)
|
62
|
+
if %r{(\d+)/(\w+)/(\d+):(\d+):(\d+):(\d+)\s([\+\-]\d\d)(\d\d)} === val
|
63
|
+
day, mo, yr, hour, min, sec, tz1, tz2 = [$1, $2, $3, $4, $5, $6, $7, $8]
|
64
|
+
val = Time.new(yr.to_i, MONTHS[mo], day.to_i,
|
65
|
+
hour.to_i, min.to_i, sec.to_i, "#{tz1}:#{tz2}")
|
66
|
+
end
|
67
|
+
super(val)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Use the regex to break line into fields
|
71
|
+
# Emit each record as flat line
|
72
|
+
def self.parse(line)
|
73
|
+
m = LOG_RE.match(line.chomp) or return BadRecord.new('no match', line)
|
74
|
+
new(* m.captures)
|
75
|
+
end
|
76
|
+
|
77
|
+
FILE_EXT_RE = %r{\.[^/]+\z}
|
78
|
+
def page_type
|
79
|
+
file_ext = path[FILE_EXT_RE]
|
80
|
+
case file_ext
|
81
|
+
when nil then 'page'
|
82
|
+
when '.wmv' then 'video'
|
83
|
+
when '.html','.shtml' then 'page'
|
84
|
+
when '.css', '.js' then 'asset'
|
85
|
+
when '.png', '.gif', '.ico' then 'image'
|
86
|
+
when '.wmv' then 'image'
|
87
|
+
when '.pl','.asp','.jsp','.cgi' then 'page'
|
88
|
+
else 'other'
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def day_hr
|
93
|
+
[visit_time.year, visit_time.month, visit_time.day, visit_time.hour].join
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
class Logline
|
2
|
+
include Gorillib::Model
|
3
|
+
include Gorillib::Model::PositionalFields
|
4
|
+
|
5
|
+
field :ip, String
|
6
|
+
field :junk1, String
|
7
|
+
field :junk2, String
|
8
|
+
#
|
9
|
+
field :visit_time, Time
|
10
|
+
field :http_method, String
|
11
|
+
field :path, String
|
12
|
+
field :protocol, String
|
13
|
+
field :response_code, Integer
|
14
|
+
field :size, Integer, blankish: ['', nil, '-']
|
15
|
+
field :referer, String
|
16
|
+
field :ua, String
|
17
|
+
field :cruft, String
|
18
|
+
end
|
19
|
+
class Logline
|
20
|
+
def day_hr
|
21
|
+
[visit_time.year, visit_time.month, visit_time.day, visit_time.hour].join
|
22
|
+
end
|
23
|
+
end
|
24
|
+
class Logline
|
25
|
+
|
26
|
+
MONTHS = { 'Jan' => 1, 'Feb' => 2, 'Mar' => 3, 'Apr' => 4, 'May' => 5, 'Jun' => 6, 'Jul' => 7, 'Aug' => 8, 'Sep' => 9, 'Oct' => 10, 'Nov' => 11, 'Dec' => 12, }
|
27
|
+
|
28
|
+
def receive_visit_time(val)
|
29
|
+
if %r{(\d+)/(\w+)/(\d+):(\d+):(\d+):(\d+)\s([\+\-]\d\d)(\d\d)} === val
|
30
|
+
day, mo, yr, hour, min, sec, tz1, tz2 = [$1, $2, $3, $4, $5, $6, $7, $8]
|
31
|
+
val = Time.new(yr.to_i, MONTHS[mo], day.to_i,
|
32
|
+
hour.to_i, min.to_i, sec.to_i, "#{tz1}:#{tz2}")
|
33
|
+
end
|
34
|
+
super(val)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
class Logline
|
38
|
+
# Use the regex to break line into fields
|
39
|
+
# Emit each record as flat line
|
40
|
+
def self.parse(line)
|
41
|
+
m = LOG_RE.match(line.chomp) or return BadRecord.new('no match', line)
|
42
|
+
new(* m.captures)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
class Logline
|
46
|
+
#
|
47
|
+
# Regular expression to parse an apache log line.
|
48
|
+
#
|
49
|
+
# 83.240.154.3 - - [07/Jun/2008:20:37:11 +0000] "GET /faq HTTP/1.1" 200 569 "http://infochimps.org/search?query=CAC" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16"
|
50
|
+
#
|
51
|
+
LOG_RE = Regexp.compile(%r{\A
|
52
|
+
(\S+) # ip 83.240.154.3
|
53
|
+
\s(\S+) # j1 -
|
54
|
+
\s(\S+) # j2 -
|
55
|
+
\s\[(\d+/\w+/\d+ # date part [07/Jun/2008
|
56
|
+
:\d+:\d+:\d+ # time part :20:37:11
|
57
|
+
\s[\+\-]\S*)\] # timezone +0000]
|
58
|
+
\s\"(?:(\S+) # http_method "GET
|
59
|
+
\s(\S+) # path /faq
|
60
|
+
\s(HTTP/[\d\.]+)|-)\" # protocol HTTP/1.1"
|
61
|
+
\s(\d+) # response_code 200
|
62
|
+
\s(\d+|-) # size 569
|
63
|
+
\s\"([^\"]*)\" # referer "http://infochimps.org/search?query=CAC"
|
64
|
+
\s\"([^\"]*)\" # ua "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16"
|
65
|
+
\z}x)
|
66
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
LOAD common_pages FROM 'data/common_pages' AS (ip:chararray, from_path:chararray, into_path:chararray);
|
4
|
+
|
5
|
+
--
|
6
|
+
-- Build adjacency list <A pr B,C,D> from edges (<A B>, <A C>, <A D>)
|
7
|
+
--
|
8
|
+
|
9
|
+
adj_list_j = GROUP common_pages BY from_path;
|
10
|
+
adj_list = FOREACH adj_list_j GENERATE
|
11
|
+
group AS from_path,
|
12
|
+
1.0F AS pagerank:float,
|
13
|
+
common_pages.(dest) AS into_paths
|
14
|
+
;
|
15
|
+
STORE adj_list INTO 'data/pagerank/pr_iter_00';
|
16
|
+
|
17
|
+
|
18
|
+
--
|
19
|
+
-- Iterate pagerank <A pr_00 B,C,D> to become <A pr_01 B,C,D>
|
20
|
+
--
|
21
|
+
|
22
|
+
-- find partial share: A.rank / A.into_paths.length
|
23
|
+
-- dispatch <into_path partial_share> to each page
|
24
|
+
sent_shares = FOREACH adj_list GENERATE
|
25
|
+
FLATTEN(into_paths) AS path,
|
26
|
+
(float)(pagerank / (float)SIZE(into_paths)) AS share:float;
|
27
|
+
|
28
|
+
-- dispatch <from_path into_paths> to yourself, so you have the links still around
|
29
|
+
sent_edges = FOREACH adj_list GENERATE
|
30
|
+
from_path AS path, into_paths;
|
31
|
+
|
32
|
+
-- assemble all the received shared, and the self-sent edge list;
|
33
|
+
rcvd_shares = COGROUP sent_edges BY path INNER, sent_shares BY path PARALLEL $PARALLEL;
|
34
|
+
|
35
|
+
-- calculate the new rank, and emit a record that looked just like the input.
|
36
|
+
next_iter = FOREACH rcvd_shares {
|
37
|
+
raw_rank = (float)SUM(sent_shares.share);
|
38
|
+
-- treat the case that a node has no in links
|
39
|
+
damped_rank = ((raw_rank IS NOT NULL AND raw_rank > 1.0e-12f) ? raw_rank*0.85f + 0.15f : 0.0f);
|
40
|
+
GENERATE
|
41
|
+
group AS from_path,
|
42
|
+
damped_rank AS rank,
|
43
|
+
FLATTEN(sent_edges.into_paths)
|
44
|
+
; };
|
45
|
+
|
46
|
+
STORE next_iter INTO 'data/pagerank/pr_iter_01';
|
47
|
+
|
48
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', File.dirname(__FILE__))
|
3
|
+
require 'wukong/script'
|
4
|
+
require_relative './logline'
|
5
|
+
|
6
|
+
class ApacheLogParser < Wukong::Streamer::LineStreamer
|
7
|
+
# create a Logline object from each record and serialize it flat to disk
|
8
|
+
def process line
|
9
|
+
yield Logline.parse(line)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
Wukong.run( ApacheLogParser )
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', File.dirname(__FILE__))
|
3
|
+
require 'wukong/script'
|
4
|
+
require_relative './logline'
|
5
|
+
|
6
|
+
# cat data/swk-100.tsv | ./histograms.rb --map | sort > data/swk-hist-map.tsv
|
7
|
+
# cat data/swk-hist-map.tsv | ./histograms.rb --reduce > data/swk-hist.tsv
|
8
|
+
|
9
|
+
class HistogramsMapper < Wukong::Streamer::ModelStreamer
|
10
|
+
self.model_klass = Logline
|
11
|
+
def process visit
|
12
|
+
yield [visit.path, visit.day_hr]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class HistogramsReducer < Wukong::Streamer::Reducer
|
17
|
+
def get_key path, day_hr
|
18
|
+
[path, day_hr]
|
19
|
+
end
|
20
|
+
def start!(*args)
|
21
|
+
@count = 0
|
22
|
+
super
|
23
|
+
end
|
24
|
+
def accumulate path, day_hr
|
25
|
+
@count += 1
|
26
|
+
end
|
27
|
+
def finalize
|
28
|
+
yield [key, @count]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# Wukong.run( HistogramsMapper )
|
33
|
+
Wukong.run( HistogramsMapper, HistogramsReducer, :sort_fields => 3 )
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', File.dirname(__FILE__))
|
3
|
+
require 'wukong/script'
|
4
|
+
require_relative './logline'
|
5
|
+
|
6
|
+
class HistogramsMapper < Wukong::Streamer::ModelStreamer
|
7
|
+
self.model_klass = Logline
|
8
|
+
def process visit
|
9
|
+
yield [visit.path, visit.day_hr]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# Wukong.run( HistogramsMapper )
|
14
|
+
Wukong.run( HistogramsMapper )
|