commit 9f61d65f56d1cda27ffb949d3801682ec3b2755f Author: Ossi Herrala oherrala@gmail.com Date: Thu Nov 13 15:59:16 2014 +0200
Include *.new files when reading Tor's data directory
stem.descriptor.parse_file: Support for parsing cached-descriptors.new, cached-extrainfo.new and cached-microdescs.new like their counterparts without ".new". --- docs/change_log.rst | 1 + stem/descriptor/__init__.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/docs/change_log.rst b/docs/change_log.rst index e11c316..cb6d85e 100644 --- a/docs/change_log.rst +++ b/docs/change_log.rst @@ -54,6 +54,7 @@ The following are only available within Stem's `git repository
* Improved speed for parsing consensus documents by around 30% (:trac:`12859`) * Don't fail if consensus method 1 is not present, as it is no longer required (:spec:`fc8a6f0`) + * Include '*.new' files when reading from a Tor data directory (patch by oherrala, :trac:`13756`) * Updated the authorities we list, `replacing turtles with longclaw https://lists.torproject.org/pipermail/tor-talk/2014-November/035650.html`_ and `updating gabelmoo's address https://lists.torproject.org/pipermail/tor-talk/2014-September/034898.html`_
* **Utilities** diff --git a/stem/descriptor/__init__.py b/stem/descriptor/__init__.py index c14d984..e45ce1e 100644 --- a/stem/descriptor/__init__.py +++ b/stem/descriptor/__init__.py @@ -197,11 +197,11 @@ def parse_file(descriptor_file, descriptor_type = None, validate = True, documen else: # Cached descriptor handling. These contain multiple descriptors per file.
- if filename == 'cached-descriptors': + if filename == 'cached-descriptors' or filename == 'cached-descriptors.new': file_parser = lambda f: stem.descriptor.server_descriptor._parse_file(f, validate = validate, **kwargs) - elif filename == 'cached-extrainfo': + elif filename == 'cached-extrainfo' or filename == 'cached-extrainfo.new': file_parser = lambda f: stem.descriptor.extrainfo_descriptor._parse_file(f, validate = validate, **kwargs) - elif filename == 'cached-microdescs': + elif filename == 'cached-microdescs' or filename == 'cached-microdescs.new': file_parser = lambda f: stem.descriptor.microdescriptor._parse_file(f, validate = validate, **kwargs) elif filename == 'cached-consensus': file_parser = lambda f: stem.descriptor.networkstatus._parse_file(f, validate = validate, document_handler = document_handler, **kwargs)
tor-commits@lists.torproject.org