OLD | NEW |
1 # This file is part of the Adblock Plus web scripts, | 1 # This file is part of the Adblock Plus web scripts, |
2 # Copyright (C) 2006-present eyeo GmbH | 2 # Copyright (C) 2006-present eyeo GmbH |
3 # | 3 # |
4 # Adblock Plus is free software: you can redistribute it and/or modify | 4 # Adblock Plus is free software: you can redistribute it and/or modify |
5 # it under the terms of the GNU General Public License version 3 as | 5 # it under the terms of the GNU General Public License version 3 as |
6 # published by the Free Software Foundation. | 6 # published by the Free Software Foundation. |
7 # | 7 # |
8 # Adblock Plus is distributed in the hope that it will be useful, | 8 # Adblock Plus is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 def __init__(self, path): | 58 def __init__(self, path): |
59 self._inner_file = None | 59 self._inner_file = None |
60 self._processes = [] | 60 self._processes = [] |
61 | 61 |
62 parseresult = urlparse.urlparse(path) | 62 parseresult = urlparse.urlparse(path) |
63 if parseresult.scheme == 'ssh' and parseresult.username and parseresult.
hostname and parseresult.path: | 63 if parseresult.scheme == 'ssh' and parseresult.username and parseresult.
hostname and parseresult.path: |
64 command = [ | 64 command = [ |
65 'ssh', '-q', '-o', 'NumberOfPasswordPrompts 0', '-T', '-k', | 65 'ssh', '-q', '-o', 'NumberOfPasswordPrompts 0', '-T', '-k', |
66 '-l', parseresult.username, | 66 '-l', parseresult.username, |
67 parseresult.hostname, | 67 parseresult.hostname, |
68 parseresult.path.lstrip('/') | 68 parseresult.path.lstrip('/'), |
69 ] | 69 ] |
70 if parseresult.port: | 70 if parseresult.port: |
71 command[1:1] = ['-P', str(parseresult.port)] | 71 command[1:1] = ['-P', str(parseresult.port)] |
72 ssh_process = subprocess.Popen(command, stdout=subprocess.PIPE) | 72 ssh_process = subprocess.Popen(command, stdout=subprocess.PIPE) |
73 self._processes.append(ssh_process) | 73 self._processes.append(ssh_process) |
74 self._file = ssh_process.stdout | 74 self._file = ssh_process.stdout |
75 elif parseresult.scheme in ('http', 'https'): | 75 elif parseresult.scheme in ('http', 'https'): |
76 self._file = urllib.urlopen(path) | 76 self._file = urllib.urlopen(path) |
77 elif os.path.exists(path): | 77 elif os.path.exists(path): |
78 self._file = open(path, 'rb') | 78 self._file = open(path, 'rb') |
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
603 parser.add_argument('mirror_name', nargs='?', help='Name of the mirror serve
r that the file belongs to') | 603 parser.add_argument('mirror_name', nargs='?', help='Name of the mirror serve
r that the file belongs to') |
604 parser.add_argument('server_type', nargs='?', help='Server type like downloa
d, update or subscription') | 604 parser.add_argument('server_type', nargs='?', help='Server type like downloa
d, update or subscription') |
605 parser.add_argument('log_file', nargs='?', help='Log file path, can be a loc
al file path, http:// or ssh:// URL') | 605 parser.add_argument('log_file', nargs='?', help='Log file path, can be a loc
al file path, http:// or ssh:// URL') |
606 args = parser.parse_args() | 606 args = parser.parse_args() |
607 | 607 |
608 if args.mirror_name and args.server_type and args.log_file: | 608 if args.mirror_name and args.server_type and args.log_file: |
609 sources = [(args.mirror_name, args.server_type, args.log_file)] | 609 sources = [(args.mirror_name, args.server_type, args.log_file)] |
610 else: | 610 else: |
611 sources = get_stats_files() | 611 sources = get_stats_files() |
612 parse_sources(sources, args.factor, args.verbose) | 612 parse_sources(sources, args.factor, args.verbose) |
OLD | NEW |