| OLD | NEW |
| 1 # coding: utf-8 | 1 # coding: utf-8 |
| 2 | 2 |
| 3 # This file is part of the Adblock Plus web scripts, | 3 # This file is part of the Adblock Plus web scripts, |
| 4 # Copyright (C) 2006-2013 Eyeo GmbH | 4 # Copyright (C) 2006-2013 Eyeo GmbH |
| 5 # | 5 # |
| 6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
| 7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
| 8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
| 9 # | 9 # |
| 10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 if "application" in info: | 423 if "application" in info: |
| 424 info["fullApplication"] = "%s %s" % (info["application"], info["applicationV
ersion"]) | 424 info["fullApplication"] = "%s %s" % (info["application"], info["applicationV
ersion"]) |
| 425 if "platform" in info: | 425 if "platform" in info: |
| 426 info["fullPlatform"] = "%s %s" % (info["platform"], info["platformVersion"]) | 426 info["fullPlatform"] = "%s %s" % (info["platform"], info["platformVersion"]) |
| 427 return info | 427 return info |
| 428 | 428 |
| 429 def add_record(info, section, ignore_fields=()): | 429 def add_record(info, section, ignore_fields=()): |
| 430 section["hits"] = section.get("hits", 0) + 1 | 430 section["hits"] = section.get("hits", 0) + 1 |
| 431 section["bandwidth"] = section.get("bandwidth", 0) + info["size"] | 431 section["bandwidth"] = section.get("bandwidth", 0) + info["size"] |
| 432 | 432 |
| 433 if len(ignore_fields) < 2: | 433 def is_visible(name): |
| 434 from ..common import fields |
| 435 for field in fields: |
| 436 if field["name"] == name: |
| 437 return "hidden" not in field or not field["hidden"] |
| 438 return False |
| 439 |
| 440 # Allow nesting filters two levels deep but only consider visible fields, |
| 441 # fields that aren't displayed on the web can be nested deeper. |
| 442 filter_level = len(filter(is_visible, ignore_fields)) |
| 443 if filter_level < 2: |
| 434 for field in map(lambda f: f["name"], common.fields): | 444 for field in map(lambda f: f["name"], common.fields): |
| 435 if field in ignore_fields or field not in info: | 445 if field in ignore_fields or field not in info: |
| 436 continue | 446 continue |
| 437 | 447 |
| 438 value = info[field] | 448 value = info[field] |
| 439 if field not in section: | 449 if field not in section: |
| 440 section[field] = {} | 450 section[field] = {} |
| 441 if value not in section[field]: | 451 if value not in section[field]: |
| 442 section[field][value] = {} | 452 section[field][value] = {} |
| 443 | 453 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 parser.add_argument("mirror_name", nargs="?", help="Name of the mirror server
that the file belongs to") | 547 parser.add_argument("mirror_name", nargs="?", help="Name of the mirror server
that the file belongs to") |
| 538 parser.add_argument("server_type", nargs="?", help="Server type like download,
update or subscription") | 548 parser.add_argument("server_type", nargs="?", help="Server type like download,
update or subscription") |
| 539 parser.add_argument("log_file", nargs="?", help="Log file path, can be a local
file path, http:// or ssh:// URL") | 549 parser.add_argument("log_file", nargs="?", help="Log file path, can be a local
file path, http:// or ssh:// URL") |
| 540 args = parser.parse_args() | 550 args = parser.parse_args() |
| 541 | 551 |
| 542 if args.mirror_name and args.server_type and args.log_file: | 552 if args.mirror_name and args.server_type and args.log_file: |
| 543 sources = [(args.mirror_name, args.server_type, args.log_file)] | 553 sources = [(args.mirror_name, args.server_type, args.log_file)] |
| 544 else: | 554 else: |
| 545 sources = get_stats_files() | 555 sources = get_stats_files() |
| 546 parse_sources(sources, args.factor, args.verbose) | 556 parse_sources(sources, args.factor, args.verbose) |
| OLD | NEW |