[tor-commits] [bridgedb/master] Move isValidRouterNickname to its own module.

isis at torproject.org isis at torproject.org
Sat Mar 21 02:02:59 UTC 2015


commit b1a9f792909e6def9abdc707f27a85854010ec9e
Author: Isis Lovecruft <isis at torproject.org>
Date:   Thu Dec 11 04:25:08 2014 +0000

    Move isValidRouterNickname to its own module.
---
 lib/bridgedb/parse/networkstatus.py |   19 --------------
 lib/bridgedb/parse/nickname.py      |   48 +++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/lib/bridgedb/parse/networkstatus.py b/lib/bridgedb/parse/networkstatus.py
index 8592cd3..106edd9 100644
--- a/lib/bridgedb/parse/networkstatus.py
+++ b/lib/bridgedb/parse/networkstatus.py
@@ -47,25 +47,6 @@ class NetworkstatusParsingError(Exception):
 class InvalidNetworkstatusRouterIdentity(ValueError):
     """The ID field of a networkstatus document 'r'-line is invalid."""
 
-class InvalidRouterNickname(ValueError):
-    """Router nickname doesn't follow tor-spec."""
-
-
-def isValidRouterNickname(nickname):
-    """Determine if a router's given nickname meets the specification.
-
-    :param string nickname: An OR's nickname.
-    """
-    ALPHANUMERIC = string.letters + string.digits
-
-    if not (1 <= len(nickname) <= 19):
-        raise InvalidRouterNickname(
-            "Nicknames must be between 1 and 19 characters: %r" % nickname)
-    for letter in nickname:
-        if not letter in ALPHANUMERIC:
-            raise InvalidRouterNickname(
-                "Nicknames must only use [A-Za-z0-9]: %r" % nickname)
-    return True
 
 def parseRLine(line):
     """Parse an 'r'-line from a networkstatus document.
diff --git a/lib/bridgedb/parse/nickname.py b/lib/bridgedb/parse/nickname.py
new file mode 100644
index 0000000..b38bdb8
--- /dev/null
+++ b/lib/bridgedb/parse/nickname.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of BridgeDB, a Tor bridge distribution system.
+#
+# :authors: Isis Lovecruft 0xA3ADB67A2CDB8B35 <isis at torproject.org>
+#           please also see AUTHORS file
+# :copyright: (c) 2013 Isis Lovecruft
+#             (c) 2007-2014, The Tor Project, Inc.
+#             (c) 2007-2014, all entities within the AUTHORS file
+# :license: 3-clause BSD, see included LICENSE for information
+
+"""Parsers for bridge nicknames.
+
+.. py:module:: bridgedb.parse.nickname
+   :synopsis: Parsers for Tor bridge nicknames.
+
+bridgedb.parse.nicknames
+========================
+::
+
+  nicknames
+   |_ isValidRouterNickname - Determine if a nickname is according to spec
+..
+"""
+
+import string
+
+
+class InvalidRouterNickname(ValueError):
+    """Router nickname doesn't follow tor-spec."""
+
+
+def isValidRouterNickname(nickname):
+    """Determine if a router's given nickname meets the specification.
+
+    :raises InvalidRouterNickname: if the nickname is invalid.
+    :param string nickname: An OR's nickname.
+    """
+    ALPHANUMERIC = string.letters + string.digits
+
+    if not (1 <= len(nickname) <= 19):
+        raise InvalidRouterNickname(
+            "Nicknames must be between 1 and 19 characters: %r" % nickname)
+    for letter in nickname:
+        if not letter in ALPHANUMERIC:
+            raise InvalidRouterNickname(
+                "Nicknames must only use [A-Za-z0-9]: %r" % nickname)
+    return True





More information about the tor-commits mailing list