[tor-commits] [stem/master] Handling the server descriptor's hibernating line

atagar at torproject.org atagar at torproject.org
Mon Mar 26 00:10:01 UTC 2012


commit da5fcc6ba9b170fce548f08848ae2b0b268bf547
Author: Damian Johnson <atagar at torproject.org>
Date:   Sun Mar 18 15:18:56 2012 -0700

    Handling the server descriptor's hibernating line
---
 stem/descriptor/server_descriptor.py |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/stem/descriptor/server_descriptor.py b/stem/descriptor/server_descriptor.py
index cee2bcd..4ba7acc 100644
--- a/stem/descriptor/server_descriptor.py
+++ b/stem/descriptor/server_descriptor.py
@@ -71,6 +71,7 @@ class ServerDescriptorV2(Descriptor):
     tor_version (stem.version.Version) - version of tor
     published (datetime.datetime) - time in GMT when the descriptor was generated (*)
     fingerprint (str)        - fourty hex digits that make up the relay's fingerprint
+    hibernating (bool)       - flag to indicate if the relay was hibernating when published (*)
     
     * required fields, others are left as None if undefined
   """
@@ -79,6 +80,7 @@ class ServerDescriptorV2(Descriptor):
   average_bandwidth = burst_bandwidth = observed_bandwidth = None
   platform = tor_version = None
   published = fingerprint = None
+  hibernating = False
   
   def __init__(self, contents):
     Descriptor.__init__(self, contents)
@@ -207,4 +209,11 @@ class ServerDescriptorV2(Descriptor):
           raise TypeError("Tor relay fingerprints consist of fourty hex digits: %s" % value)
         
         self.fingerprint = fingerprint
+      elif keyword == "hibernating":
+        # "hibernating" 0|1 (in practice only set if one)
+        
+        if not value in ("0", "1"):
+          raise TypeError("Hibernating line had an invalid value, must be zero or one: %s" % value)
+        
+        self.hibernating = value == "1"
 





More information about the tor-commits mailing list