Use group (minimal GUI) defaults similarly to the user template
[pyi2ncommon] / src / cnfline / build_proxy_accesslist.py
1 # The software in this package is distributed under the GNU General
2 # Public License version 2 (with a special exception described below).
3 #
4 # A copy of GNU General Public License (GPL) is included in this distribution,
5 # in the file COPYING.GPL.
6 #
7 # As a special exception, if other files instantiate templates or use macros
8 # or inline functions from this file, or you compile this file and link it
9 # with other works to produce a work based on this file, this file
10 # does not by itself cause the resulting work to be covered
11 # by the GNU General Public License.
12 #
13 # However the source code for this file must still be made available
14 # in accordance with section (3) of the GNU General Public License.
15 #
16 # This exception does not invalidate any other reasons why a work based
17 # on this file might be covered by the GNU General Public License.
18 #
19 # Copyright (c) 2016-2018 Intra2net AG <info@intra2net.com>
20
21 """
22 .. note:: DEPRECATED! Please do not extend this or add new uses of this module,
23           use :py:mod:`pyi2ncommon.arnied_api` or :py:mod:`pyi2ncommon.cnfvar`
24           instead!
25 """
26
27 from .build_cnfvar import BuildCnfVar
28 """Class to create proxy accesslists on the fly"""
29
30
31 class BuildProxyAccesslist(BuildCnfVar):
32     def __init__(self, data='', instance=0, line_no=1):
33         BuildCnfVar.__init__(self, 'PROXY_ACCESSLIST', instance, data, line_no)
34
35         defaults = {'PROXY_ACCESSLIST_ENTRY_COUNT': '123',
36                     'PROXY_ACCESSLIST_MODE': '1',
37                     'PROXY_ACCESSLIST_SIZETYPE': 1,
38                     'PROXY_ACCESSLIST_TYPE': 0}
39
40         self.add_defaults(defaults)
41
42     def mode_whitelist(self):
43         self.update_cnf('PROXY_ACCESSLIST_MODE', 0, '0')
44         return self
45
46     def mode_blacklist(self):
47         self.update_cnf('PROXY_ACCESSLIST_MODE', 0, '1')
48         return self
49
50     def add_url(self, url):
51         self.add_cnf('PROXY_ACCESSLIST_URL', -1, url)
52         return self