Commit 6a122f61 authored by Damian Johnson's avatar Damian Johnson
Browse files

Renaming 'BandwidthMetric' to 'BandwidthFile'

Juga and teor indicated they'd like for us to standardize on the name of
'BandwidthFile'. Tracking the spec update on...

  https://trac.torproject.org/projects/tor/ticket/29137
parent ecfdba92
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -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',
@@ -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))
@@ -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
+5 −5
Original line number Original line Diff line number Diff line
@@ -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
"""
"""
@@ -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):
@@ -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.


@@ -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
+2 −2
Original line number Original line Diff line number Diff line
@@ -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
@@ -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
+1 −1
Original line number Original line Diff line number Diff line
@@ -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',
+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)
@@ -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