Loading stem/descriptor/__init__.py +5 −5 Original line number Original line Diff line number Diff line Loading @@ -108,7 +108,7 @@ except ImportError: from stem.util.ordereddict import OrderedDict from stem.util.ordereddict import OrderedDict __all__ = [ __all__ = [ 'bandwidth_metric', 'bandwidth_file', 'export', 'export', 'reader', 'reader', 'remote', 'remote', Loading Loading @@ -442,10 +442,10 @@ def _parse_metrics_file(descriptor_type, major_version, minor_version, descripto for desc in stem.descriptor.hidden_service_descriptor._parse_file(descriptor_file, validate = validate, **kwargs): for desc in stem.descriptor.hidden_service_descriptor._parse_file(descriptor_file, validate = validate, **kwargs): yield desc yield desc elif descriptor_type == stem.descriptor.bandwidth_metric.BandwidthMetric.TYPE_ANNOTATION_NAME and major_version == 1: elif descriptor_type == stem.descriptor.bandwidth_file.BandwidthFile.TYPE_ANNOTATION_NAME and major_version == 1: document_type = stem.descriptor.bandwidth_metric.BandwidthMetric document_type = stem.descriptor.bandwidth_file.BandwidthFile for desc in stem.descriptor.bandwidth_metric._parse_file(descriptor_file, validate = validate, **kwargs): for desc in stem.descriptor.bandwidth_file._parse_file(descriptor_file, validate = validate, **kwargs): yield desc yield desc else: else: raise TypeError("Unrecognized metrics descriptor format. type: '%s', version: '%i.%i'" % (descriptor_type, major_version, minor_version)) raise TypeError("Unrecognized metrics descriptor format. type: '%s', version: '%i.%i'" % (descriptor_type, major_version, minor_version)) Loading Loading @@ -1418,7 +1418,7 @@ def _descriptor_components(raw_contents, validate, extra_keywords = (), non_asci # importing at the end to avoid circular dependencies on our Descriptor class # importing at the end to avoid circular dependencies on our Descriptor class import stem.descriptor.bandwidth_metric import stem.descriptor.bandwidth_file import stem.descriptor.extrainfo_descriptor import stem.descriptor.extrainfo_descriptor import stem.descriptor.hidden_service_descriptor import stem.descriptor.hidden_service_descriptor import stem.descriptor.microdescriptor import stem.descriptor.microdescriptor Loading stem/descriptor/bandwidth_metric.py→stem/descriptor/bandwidth_file.py +5 −5 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ Parsing for Bandwidth Authority metrics as described in Tor's :: :: BandwidthMetric - Tor bandwidth authority measurements. BandwidthFile - Tor bandwidth authority measurements. .. versionadded:: 1.8.0 .. versionadded:: 1.8.0 """ """ Loading Loading @@ -73,14 +73,14 @@ def _parse_file(descriptor_file, validate = False, **kwargs): **True**, skips these checks otherwise **True**, skips these checks otherwise :param dict kwargs: additional arguments for the descriptor constructor :param dict kwargs: additional arguments for the descriptor constructor :returns: :class:`stem.descriptor.bandwidth_file.BandwidthMetric` object :returns: :class:`stem.descriptor.bandwidth_file.BandwidthFile` object :raises: :raises: * **ValueError** if the contents is malformed and validate is **True** * **ValueError** if the contents is malformed and validate is **True** * **IOError** if the file can't be read * **IOError** if the file can't be read """ """ yield BandwidthMetric(descriptor_file.read(), validate, **kwargs) yield BandwidthFile(descriptor_file.read(), validate, **kwargs) def _parse_header(descriptor, entries): def _parse_header(descriptor, entries): Loading Loading @@ -119,7 +119,7 @@ def _parse_timestamp(descriptor, entries): raise ValueError("First line should be a unix timestamp, but was '%s'" % first_line) raise ValueError("First line should be a unix timestamp, but was '%s'" % first_line) class BandwidthMetric(Descriptor): class BandwidthFile(Descriptor): """ """ Tor bandwidth authroity measurements. Tor bandwidth authroity measurements. Loading Loading @@ -156,7 +156,7 @@ class BandwidthMetric(Descriptor): ATTRIBUTES.update(dict([(k, (None, _parse_header)) for k in HEADER_ATTR.keys()])) ATTRIBUTES.update(dict([(k, (None, _parse_header)) for k in HEADER_ATTR.keys()])) def __init__(self, raw_content, validate = False): def __init__(self, raw_content, validate = False): super(BandwidthMetric, self).__init__(raw_content, lazy_load = not validate) super(BandwidthFile, self).__init__(raw_content, lazy_load = not validate) if validate: if validate: pass # TODO: implement eager load pass # TODO: implement eager load test/settings.cfg +2 −2 Original line number Original line Diff line number Diff line Loading @@ -138,7 +138,7 @@ pycodestyle.ignore E131 pycodestyle.ignore E722 pycodestyle.ignore E722 pycodestyle.ignore stem/__init__.py => E402: import stem.util.connection pycodestyle.ignore stem/__init__.py => E402: import stem.util.connection pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.bandwidth_metric pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.bandwidth_file pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.extrainfo_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.extrainfo_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.hidden_service_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.hidden_service_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.microdescriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.microdescriptor Loading Loading @@ -225,7 +225,7 @@ test.unit_tests |test.unit.descriptor.networkstatus.bridge_document.TestBridgeNetworkStatusDocument |test.unit.descriptor.networkstatus.bridge_document.TestBridgeNetworkStatusDocument |test.unit.descriptor.hidden_service_descriptor.TestHiddenServiceDescriptor |test.unit.descriptor.hidden_service_descriptor.TestHiddenServiceDescriptor |test.unit.descriptor.certificate.TestEd25519Certificate |test.unit.descriptor.certificate.TestEd25519Certificate |test.unit.descriptor.bandwidth_metric.TestBandwidthMetric |test.unit.descriptor.bandwidth_file.TestBandwidthFile |test.unit.exit_policy.rule.TestExitPolicyRule |test.unit.exit_policy.rule.TestExitPolicyRule |test.unit.exit_policy.policy.TestExitPolicy |test.unit.exit_policy.policy.TestExitPolicy |test.unit.endpoint.TestEndpoint |test.unit.endpoint.TestEndpoint Loading test/unit/descriptor/__init__.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,7 @@ Unit tests for stem.descriptor. import os import os __all__ = [ __all__ = [ 'bandwidth_metric', 'bandwidth_file', 'export', 'export', 'extrainfo_descriptor', 'extrainfo_descriptor', 'microdescriptor', 'microdescriptor', Loading test/unit/descriptor/bandwidth_metric.py→test/unit/descriptor/bandwidth_file.py +7 −7 Original line number Original line Diff line number Diff line """ """ Unit tests for stem.descriptor.bandwidth_metric. Unit tests for stem.descriptor.bandwidth_file. """ """ import datetime import datetime import unittest import unittest import stem.descriptor import stem.descriptor import stem.descriptor.bandwidth_metric import stem.descriptor.bandwidth_file import test.unit.descriptor import test.unit.descriptor class TestBandwidthMetric(unittest.TestCase): class TestBandwidthFile(unittest.TestCase): def test_format_v1_0(self): def test_format_v1_0(self): """ """ Parse version 1.0 formatted metrics. Parse version 1.0 formatted files. """ """ desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bwauth_v1.0'), 'badnwidth-file 1.0'))[0] desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bandwidth_file_v1.0'), 'badnwidth-file 1.0'))[0] self.assertEqual(datetime.datetime(2019, 1, 14, 17, 41, 29), desc.timestamp) self.assertEqual(datetime.datetime(2019, 1, 14, 17, 41, 29), desc.timestamp) self.assertEqual('1.0.0', desc.version) self.assertEqual('1.0.0', desc.version) Loading @@ -38,10 +38,10 @@ class TestBandwidthMetric(unittest.TestCase): def test_format_v1_2(self): def test_format_v1_2(self): """ """ Parse version 1.2 formatted metrics. Parse version 1.2 formatted files. """ """ desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bwauth_v1.2'), 'badnwidth-file 1.2'))[0] desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bandwidth_file_v1.2'), 'badnwidth-file 1.2'))[0] self.assertEqual(datetime.datetime(2019, 1, 14, 5, 34, 59), desc.timestamp) self.assertEqual(datetime.datetime(2019, 1, 14, 5, 34, 59), desc.timestamp) self.assertEqual('1.2.0', desc.version) self.assertEqual('1.2.0', desc.version) Loading Loading
stem/descriptor/__init__.py +5 −5 Original line number Original line Diff line number Diff line Loading @@ -108,7 +108,7 @@ except ImportError: from stem.util.ordereddict import OrderedDict from stem.util.ordereddict import OrderedDict __all__ = [ __all__ = [ 'bandwidth_metric', 'bandwidth_file', 'export', 'export', 'reader', 'reader', 'remote', 'remote', Loading Loading @@ -442,10 +442,10 @@ def _parse_metrics_file(descriptor_type, major_version, minor_version, descripto for desc in stem.descriptor.hidden_service_descriptor._parse_file(descriptor_file, validate = validate, **kwargs): for desc in stem.descriptor.hidden_service_descriptor._parse_file(descriptor_file, validate = validate, **kwargs): yield desc yield desc elif descriptor_type == stem.descriptor.bandwidth_metric.BandwidthMetric.TYPE_ANNOTATION_NAME and major_version == 1: elif descriptor_type == stem.descriptor.bandwidth_file.BandwidthFile.TYPE_ANNOTATION_NAME and major_version == 1: document_type = stem.descriptor.bandwidth_metric.BandwidthMetric document_type = stem.descriptor.bandwidth_file.BandwidthFile for desc in stem.descriptor.bandwidth_metric._parse_file(descriptor_file, validate = validate, **kwargs): for desc in stem.descriptor.bandwidth_file._parse_file(descriptor_file, validate = validate, **kwargs): yield desc yield desc else: else: raise TypeError("Unrecognized metrics descriptor format. type: '%s', version: '%i.%i'" % (descriptor_type, major_version, minor_version)) raise TypeError("Unrecognized metrics descriptor format. type: '%s', version: '%i.%i'" % (descriptor_type, major_version, minor_version)) Loading Loading @@ -1418,7 +1418,7 @@ def _descriptor_components(raw_contents, validate, extra_keywords = (), non_asci # importing at the end to avoid circular dependencies on our Descriptor class # importing at the end to avoid circular dependencies on our Descriptor class import stem.descriptor.bandwidth_metric import stem.descriptor.bandwidth_file import stem.descriptor.extrainfo_descriptor import stem.descriptor.extrainfo_descriptor import stem.descriptor.hidden_service_descriptor import stem.descriptor.hidden_service_descriptor import stem.descriptor.microdescriptor import stem.descriptor.microdescriptor Loading
stem/descriptor/bandwidth_metric.py→stem/descriptor/bandwidth_file.py +5 −5 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ Parsing for Bandwidth Authority metrics as described in Tor's :: :: BandwidthMetric - Tor bandwidth authority measurements. BandwidthFile - Tor bandwidth authority measurements. .. versionadded:: 1.8.0 .. versionadded:: 1.8.0 """ """ Loading Loading @@ -73,14 +73,14 @@ def _parse_file(descriptor_file, validate = False, **kwargs): **True**, skips these checks otherwise **True**, skips these checks otherwise :param dict kwargs: additional arguments for the descriptor constructor :param dict kwargs: additional arguments for the descriptor constructor :returns: :class:`stem.descriptor.bandwidth_file.BandwidthMetric` object :returns: :class:`stem.descriptor.bandwidth_file.BandwidthFile` object :raises: :raises: * **ValueError** if the contents is malformed and validate is **True** * **ValueError** if the contents is malformed and validate is **True** * **IOError** if the file can't be read * **IOError** if the file can't be read """ """ yield BandwidthMetric(descriptor_file.read(), validate, **kwargs) yield BandwidthFile(descriptor_file.read(), validate, **kwargs) def _parse_header(descriptor, entries): def _parse_header(descriptor, entries): Loading Loading @@ -119,7 +119,7 @@ def _parse_timestamp(descriptor, entries): raise ValueError("First line should be a unix timestamp, but was '%s'" % first_line) raise ValueError("First line should be a unix timestamp, but was '%s'" % first_line) class BandwidthMetric(Descriptor): class BandwidthFile(Descriptor): """ """ Tor bandwidth authroity measurements. Tor bandwidth authroity measurements. Loading Loading @@ -156,7 +156,7 @@ class BandwidthMetric(Descriptor): ATTRIBUTES.update(dict([(k, (None, _parse_header)) for k in HEADER_ATTR.keys()])) ATTRIBUTES.update(dict([(k, (None, _parse_header)) for k in HEADER_ATTR.keys()])) def __init__(self, raw_content, validate = False): def __init__(self, raw_content, validate = False): super(BandwidthMetric, self).__init__(raw_content, lazy_load = not validate) super(BandwidthFile, self).__init__(raw_content, lazy_load = not validate) if validate: if validate: pass # TODO: implement eager load pass # TODO: implement eager load
test/settings.cfg +2 −2 Original line number Original line Diff line number Diff line Loading @@ -138,7 +138,7 @@ pycodestyle.ignore E131 pycodestyle.ignore E722 pycodestyle.ignore E722 pycodestyle.ignore stem/__init__.py => E402: import stem.util.connection pycodestyle.ignore stem/__init__.py => E402: import stem.util.connection pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.bandwidth_metric pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.bandwidth_file pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.extrainfo_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.extrainfo_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.hidden_service_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.hidden_service_descriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.microdescriptor pycodestyle.ignore stem/descriptor/__init__.py => E402: import stem.descriptor.microdescriptor Loading Loading @@ -225,7 +225,7 @@ test.unit_tests |test.unit.descriptor.networkstatus.bridge_document.TestBridgeNetworkStatusDocument |test.unit.descriptor.networkstatus.bridge_document.TestBridgeNetworkStatusDocument |test.unit.descriptor.hidden_service_descriptor.TestHiddenServiceDescriptor |test.unit.descriptor.hidden_service_descriptor.TestHiddenServiceDescriptor |test.unit.descriptor.certificate.TestEd25519Certificate |test.unit.descriptor.certificate.TestEd25519Certificate |test.unit.descriptor.bandwidth_metric.TestBandwidthMetric |test.unit.descriptor.bandwidth_file.TestBandwidthFile |test.unit.exit_policy.rule.TestExitPolicyRule |test.unit.exit_policy.rule.TestExitPolicyRule |test.unit.exit_policy.policy.TestExitPolicy |test.unit.exit_policy.policy.TestExitPolicy |test.unit.endpoint.TestEndpoint |test.unit.endpoint.TestEndpoint Loading
test/unit/descriptor/__init__.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,7 @@ Unit tests for stem.descriptor. import os import os __all__ = [ __all__ = [ 'bandwidth_metric', 'bandwidth_file', 'export', 'export', 'extrainfo_descriptor', 'extrainfo_descriptor', 'microdescriptor', 'microdescriptor', Loading
test/unit/descriptor/bandwidth_metric.py→test/unit/descriptor/bandwidth_file.py +7 −7 Original line number Original line Diff line number Diff line """ """ Unit tests for stem.descriptor.bandwidth_metric. Unit tests for stem.descriptor.bandwidth_file. """ """ import datetime import datetime import unittest import unittest import stem.descriptor import stem.descriptor import stem.descriptor.bandwidth_metric import stem.descriptor.bandwidth_file import test.unit.descriptor import test.unit.descriptor class TestBandwidthMetric(unittest.TestCase): class TestBandwidthFile(unittest.TestCase): def test_format_v1_0(self): def test_format_v1_0(self): """ """ Parse version 1.0 formatted metrics. Parse version 1.0 formatted files. """ """ desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bwauth_v1.0'), 'badnwidth-file 1.0'))[0] desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bandwidth_file_v1.0'), 'badnwidth-file 1.0'))[0] self.assertEqual(datetime.datetime(2019, 1, 14, 17, 41, 29), desc.timestamp) self.assertEqual(datetime.datetime(2019, 1, 14, 17, 41, 29), desc.timestamp) self.assertEqual('1.0.0', desc.version) self.assertEqual('1.0.0', desc.version) Loading @@ -38,10 +38,10 @@ class TestBandwidthMetric(unittest.TestCase): def test_format_v1_2(self): def test_format_v1_2(self): """ """ Parse version 1.2 formatted metrics. Parse version 1.2 formatted files. """ """ desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bwauth_v1.2'), 'badnwidth-file 1.2'))[0] desc = list(stem.descriptor.parse_file(test.unit.descriptor.get_resource('bandwidth_file_v1.2'), 'badnwidth-file 1.2'))[0] self.assertEqual(datetime.datetime(2019, 1, 14, 5, 34, 59), desc.timestamp) self.assertEqual(datetime.datetime(2019, 1, 14, 5, 34, 59), desc.timestamp) self.assertEqual('1.2.0', desc.version) self.assertEqual('1.2.0', desc.version) Loading