mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
checkIncludes: introduce rules-file caching.
We'll want this so that we can have each file evaluated independently, rather than a directory at a time.
This commit is contained in:
parent
475749351d
commit
3f35ac772b
@ -123,8 +123,12 @@ class Rules(object):
|
|||||||
|
|
||||||
return allowed
|
return allowed
|
||||||
|
|
||||||
|
include_rules_cache = {}
|
||||||
|
|
||||||
def load_include_rules(fname):
|
def load_include_rules(fname):
|
||||||
""" Read a rules file from 'fname', and return it as a Rules object. """
|
""" Read a rules file from 'fname', and return it as a Rules object. """
|
||||||
|
if fname in include_rules_cache:
|
||||||
|
return include_rules_cache[fname]
|
||||||
result = Rules(os.path.split(fname)[0])
|
result = Rules(os.path.split(fname)[0])
|
||||||
with open_file(fname) as f:
|
with open_file(fname) as f:
|
||||||
for line in f:
|
for line in f:
|
||||||
@ -132,6 +136,7 @@ def load_include_rules(fname):
|
|||||||
if line.startswith("#") or not line:
|
if line.startswith("#") or not line:
|
||||||
continue
|
continue
|
||||||
result.addPattern(line)
|
result.addPattern(line)
|
||||||
|
include_rules_cache[fname] = result
|
||||||
return result
|
return result
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
Reference in New Issue
Block a user