Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: abp/filters/render_script.py

Issue 29465720: Issue 4970 - Document the library API of python-abp (Closed)
Patch Set: Improve the docstrings and help() behavior, shorten the README, add Development documentation and a… Created Oct. 10, 2017, 4:25 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « abp/filters/parser.py ('k') | abp/filters/renderer.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # This file is part of Adblock Plus <https://adblockplus.org/>, 1 # This file is part of Adblock Plus <https://adblockplus.org/>,
2 # Copyright (C) 2006-2017 eyeo GmbH 2 # Copyright (C) 2006-2017 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
11 # GNU General Public License for more details. 11 # GNU General Public License for more details.
12 # 12 #
13 # You should have received a copy of the GNU General Public License 13 # You should have received a copy of the GNU General Public License
14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
15 15
16 """Command line script for rendering Adblock Plus filter lists."""
17
16 import argparse 18 import argparse
17 import io 19 import io
18 import logging 20 import logging
19 import sys 21 import sys
20 22
21 from .sources import FSSource, TopSource, WebSource, NotFound 23 from .sources import FSSource, TopSource, WebSource, NotFound
22 from .renderer import render_filterlist, IncludeError, MissingHeader 24 from .renderer import render_filterlist, IncludeError, MissingHeader
23 25
26 __all__ = ['main']
27
24 28
25 def parse_args(): 29 def parse_args():
26 parser = argparse.ArgumentParser(description='Render a filter list.') 30 parser = argparse.ArgumentParser(description='Render a filter list.')
27 parser.add_argument( 31 parser.add_argument(
28 'infile', help='top level filter list fragment from which the ' 32 'infile', help='top level filter list fragment from which the '
29 'rendering starts') 33 'rendering starts')
30 parser.add_argument('outfile', help='output filter list file') 34 parser.add_argument('outfile', help='output filter list file')
31 parser.add_argument( 35 parser.add_argument(
32 '-i', '--include', action='append', default=[], metavar='NAME=PATH', 36 '-i', '--include', action='append', default=[], metavar='NAME=PATH',
33 help='define include path (could be given multiple times)') 37 help='define include path (could be given multiple times)')
(...skipping 19 matching lines...) Expand all
53 name, path = include_path.split('=', 1) 57 name, path = include_path.split('=', 1)
54 sources[name] = FSSource(path) 58 sources[name] = FSSource(path)
55 59
56 try: 60 try:
57 lines = render_filterlist(args.infile, sources, TopSource()) 61 lines = render_filterlist(args.infile, sources, TopSource())
58 with io.open(args.outfile, 'w', encoding='utf-8') as out_fp: 62 with io.open(args.outfile, 'w', encoding='utf-8') as out_fp:
59 for line in lines: 63 for line in lines:
60 out_fp.write(line.to_string() + '\n') 64 out_fp.write(line.to_string() + '\n')
61 except (MissingHeader, NotFound, IncludeError) as exc: 65 except (MissingHeader, NotFound, IncludeError) as exc:
62 sys.exit(exc) 66 sys.exit(exc)
OLDNEW
« no previous file with comments | « abp/filters/parser.py ('k') | abp/filters/renderer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld