|
29 | 29 | # IMPORT |
30 | 30 | # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
31 | 31 |
|
32 | | -from collections import OrderedDict |
| 32 | +import click |
33 | 33 |
|
34 | 34 | from .core import loggedfs_factory |
35 | | - |
36 | | -import click |
37 | | -import xmltodict |
| 35 | +from .filter import parse_filters |
38 | 36 |
|
39 | 37 |
|
40 | 38 | # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
@@ -96,36 +94,15 @@ def __process_config__( |
96 | 94 | fuse_allowother_bool |
97 | 95 | ): |
98 | 96 |
|
99 | | - def proc_filter_item(in_item): |
100 | | - return { |
101 | | - 'extension': in_item['@extension'], |
102 | | - 'uid': in_item['@uid'], |
103 | | - 'action': in_item['@action'], |
104 | | - 'retname': in_item['@retname'] |
105 | | - } |
106 | | - |
107 | | - def proc_filter_list(in_list): |
108 | | - if in_list is None: |
109 | | - return [] |
110 | | - if not isinstance(in_list, list): |
111 | | - return [proc_filter_item(in_list)] |
112 | | - return [proc_filter_item(item) for item in in_list] |
113 | | - |
114 | | - config_dict = OrderedDict({ |
115 | | - '@logEnabled': True, |
116 | | - '@printProcessName': True, |
117 | | - 'includes': {}, |
118 | | - 'excludes': {} |
119 | | - }) |
120 | | - |
121 | | - config_file = None |
122 | 97 | if config_fh is not None: |
123 | | - config_file = config_fh.name |
124 | | - config_dict.update(xmltodict.parse(config_fh.read())['loggedFS']) |
| 98 | + config_xml_str = config_fh.read() |
125 | 99 | config_fh.close() |
| 100 | + config_file = config_fh.name |
| 101 | + else: |
| 102 | + config_file = '[None]' |
| 103 | + config_xml_str = None |
126 | 104 |
|
127 | | - for f_type in ['includes', 'excludes']: |
128 | | - config_dict[f_type] = proc_filter_list(config_dict[f_type].get(f_type[:-1], None)) |
| 105 | + config_dict = parse_filters(config_xml_str) |
129 | 106 |
|
130 | 107 | return { |
131 | 108 | 'log_includes': config_dict['includes'], |
|
0 commit comments