[tor-commits] [bridgedb/develop] Remove clear abuses of str.strip() and str.rstrip()
isis at torproject.org
isis at torproject.org
Thu Jun 4 08:03:19 UTC 2015
commit 4e773f346f2b442a1726af94b7b2da231b73c1d6
Author: Robert Ransom <rransom.8774 at gmail.com>
Date: Mon Mar 23 11:24:33 2015 -0700
Remove clear abuses of str.strip() and str.rstrip()
---
lib/bridgedb/Bridges.py | 3 ++-
lib/bridgedb/bridges.py | 6 ++++--
lib/bridgedb/test/test_Main.py | 3 ++-
lib/bridgedb/test/test_Tests.py | 3 ++-
lib/bridgedb/test/test_bridgedb.py | 3 ++-
lib/bridgedb/test/test_captcha.py | 7 ++++---
lib/bridgedb/test/test_configure.py | 3 ++-
lib/bridgedb/test/test_crypto.py | 3 ++-
lib/bridgedb/test/test_email_autoresponder.py | 3 ++-
lib/bridgedb/test/test_https.py | 3 ++-
lib/bridgedb/test/test_smtp.py | 3 ++-
lib/bridgedb/util.py | 9 +++++++++
12 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/lib/bridgedb/Bridges.py b/lib/bridgedb/Bridges.py
index bdb911a..8c05083 100644
--- a/lib/bridgedb/Bridges.py
+++ b/lib/bridgedb/Bridges.py
@@ -29,6 +29,7 @@ from bridgedb.parse.fingerprint import toHex
from bridgedb.parse.fingerprint import fromHex
from bridgedb.parse.fingerprint import isValidFingerprint
from bridgedb.safelog import logSafely
+from bridgedb.util import remove_prefix
try:
from cStringIO import StringIO
@@ -692,7 +693,7 @@ class FilteredBridgeSplitter(BridgeHolder):
subringName = [self.distributorName]
for filterName in filterNames:
if filterName != 'filterAssignBridgesToRing':
- subringName.append(filterName.strip('filterBridgesBy'))
+ subringName.append(remove_prefix(filterName, 'filterBridgesBy'))
subringName = '-'.join([x for x in subringName])
subring.setName(subringName)
diff --git a/lib/bridgedb/bridges.py b/lib/bridgedb/bridges.py
index 96f995e..8759473 100644
--- a/lib/bridgedb/bridges.py
+++ b/lib/bridgedb/bridges.py
@@ -38,6 +38,8 @@ from bridgedb.parse.fingerprint import isValidFingerprint
from bridgedb.parse.fingerprint import toHex
from bridgedb.parse.fingerprint import fromHex
from bridgedb.parse.nickname import isValidRouterNickname
+from bridgedb.util import remove_prefix
+from bridgedb.util import remove_suffix
class PluggableTransportUnavailable(Exception):
@@ -1462,8 +1464,8 @@ class Bridge(BridgeBackwardsCompatibility):
sequence = asn1.DerSequence()
key = self.signingKey
- key = key.strip(TOR_SIGNING_KEY_HEADER)
- key = key.strip(TOR_SIGNING_KEY_FOOTER)
+ key = remove_prefix(key, TOR_SIGNING_KEY_HEADER)
+ key = remove_suffix(key, TOR_SIGNING_KEY_FOOTER)
key = key.replace('\n', '')
key = base64.b64decode(key)
diff --git a/lib/bridgedb/test/test_Main.py b/lib/bridgedb/test/test_Main.py
index 0b14319..688c383 100644
--- a/lib/bridgedb/test/test_Main.py
+++ b/lib/bridgedb/test/test_Main.py
@@ -29,13 +29,14 @@ from twisted.trial import unittest
from bridgedb import Main
from bridgedb.Bridges import BridgeHolder
from bridgedb.parse.options import parseOptions
+from bridgedb.util import remove_suffix
logging.getLogger().disabled = True
HERE = os.getcwd()
-TOPDIR = HERE.rstrip('_trial_temp')
+TOPDIR = remove_suffix(HERE, '_trial_temp')
CI_RUNDIR = os.path.join(TOPDIR, 'run')
# A networkstatus descriptor with two invalid ORAddress (127.0.0.1 and ::1)
diff --git a/lib/bridgedb/test/test_Tests.py b/lib/bridgedb/test/test_Tests.py
index e78a4c4..a46c50f 100644
--- a/lib/bridgedb/test/test_Tests.py
+++ b/lib/bridgedb/test/test_Tests.py
@@ -29,6 +29,7 @@ from twisted.trial import unittest
from bridgedb.test import legacy_Tests as Tests
from bridgedb.test import deprecated
+from bridgedb.util import remove_suffix
warnings.filterwarnings('ignore', module="bridgedb\.test\.legacy_Tests")
@@ -191,7 +192,7 @@ class DynamicTestCaseMeta(type):
origFunc = origName.split('.')[-2:]
origName = '_'.join(origFunc)
if origName.endswith('_py'): # this happens with doctests
- origName = origName.strip('_py')
+ origName = remove_suffix(origName, '_py')
methName = str(methodPrefix + origName).replace('.', '_')
meth = testMethodFactory(test, methName)
logging.debug("Set %s.%s=%r" % (cls.__name__, methName, meth))
diff --git a/lib/bridgedb/test/test_bridgedb.py b/lib/bridgedb/test/test_bridgedb.py
index 70c71f0..301309a 100644
--- a/lib/bridgedb/test/test_bridgedb.py
+++ b/lib/bridgedb/test/test_bridgedb.py
@@ -23,6 +23,7 @@ from twisted.trial.unittest import SkipTest
from bridgedb.test.util import processExists
from bridgedb.test.util import getBridgeDBPID
+from bridgedb.util import remove_suffix
class BridgeDBCliTest(unittest.TestCase):
@@ -30,7 +31,7 @@ class BridgeDBCliTest(unittest.TestCase):
def setUp(self):
here = os.getcwd()
- topdir = here.rstrip('_trial_temp')
+ topdir = remove_suffix(here, '_trial_temp')
self.rundir = os.path.join(topdir, 'run')
self.pidfile = os.path.join(self.rundir, 'bridgedb.pid')
self.pid = getBridgeDBPID(self.pidfile)
diff --git a/lib/bridgedb/test/test_captcha.py b/lib/bridgedb/test/test_captcha.py
index a5083d7..ea05749 100644
--- a/lib/bridgedb/test/test_captcha.py
+++ b/lib/bridgedb/test/test_captcha.py
@@ -23,6 +23,7 @@ from zope.interface import providedBy
from bridgedb import captcha
from bridgedb import crypto
+from bridgedb.util import remove_suffix
class CaptchaTests(unittest.TestCase):
@@ -97,7 +98,7 @@ class GimpCaptchaTests(unittest.TestCase):
def setUp(self):
here = os.getcwd()
- self.topDir = here.rstrip('_trial_temp')
+ self.topDir = remove_suffix(here, '_trial_temp')
self.cacheDir = os.path.join(self.topDir, 'captchas')
self.badCacheDir = os.path.join(here, 'capt')
@@ -131,7 +132,7 @@ class GimpCaptchaTests(unittest.TestCase):
"""GimpCaptcha with bad cacheDir should raise GimpCaptchaError."""
self.assertRaises(captcha.GimpCaptchaError, captcha.GimpCaptcha,
self.publik, self.sekrit, self.hmacKey,
- self.cacheDir.rstrip('chas'))
+ remove_suffix(self.cacheDir, 'chas'))
def test_init(self):
"""Test that __init__ correctly initialised all the values."""
@@ -238,7 +239,7 @@ class GimpCaptchaTests(unittest.TestCase):
c = captcha.GimpCaptcha(self.publik, self.sekrit, self.hmacKey,
self.cacheDir)
image, challenge = c.get()
- challengeBadB64 = challenge.rstrip('==') + "\x42\x42\x42"
+ challengeBadB64 = remove_suffix(challenge, '==') + "\x42\x42\x42"
self.assertEquals(
c.check(challenge, c.answer, c.secretKey, c.hmacKey),
True)
diff --git a/lib/bridgedb/test/test_configure.py b/lib/bridgedb/test/test_configure.py
index 501ed1f..5246613 100644
--- a/lib/bridgedb/test/test_configure.py
+++ b/lib/bridgedb/test/test_configure.py
@@ -16,6 +16,7 @@ import os
from twisted.trial import unittest
from bridgedb import configure
+from bridgedb.util import remove_suffix
class ConfigureTests(unittest.TestCase):
@@ -24,7 +25,7 @@ class ConfigureTests(unittest.TestCase):
def setUp(self):
"""Find the config file in the top directory of this repo."""
here = os.getcwd()
- topdir = here.rstrip('_trial_temp')
+ topdir = remove_suffix(here, '_trial_temp')
self.configFilename = os.path.join(topdir, 'bridgedb.conf')
def test_loadConfig_with_file(self):
diff --git a/lib/bridgedb/test/test_crypto.py b/lib/bridgedb/test/test_crypto.py
index c2010ca..afd63c8 100644
--- a/lib/bridgedb/test/test_crypto.py
+++ b/lib/bridgedb/test/test_crypto.py
@@ -33,6 +33,7 @@ from bridgedb import txrecaptcha
from bridgedb.persistent import Conf
from bridgedb.test.util import fileCheckDecorator
from bridgedb.test.email_helpers import _createConfig
+from bridgedb.util import remove_suffix
logging.disable(50)
@@ -98,7 +99,7 @@ class InitializeGnuPGTests(unittest.TestCase):
:returns: The full path to the new gnupg home directory.
"""
here = os.getcwd()
- topDir = here.rstrip('_trial_temp')
+ topDir = remove_suffix(here, '_trial_temp')
gnupghome = os.path.join(topDir, '.gnupg')
gnupghomeNew = os.path.join(here, '.gnupg')
diff --git a/lib/bridgedb/test/test_email_autoresponder.py b/lib/bridgedb/test/test_email_autoresponder.py
index 2895802..4c36be4 100644
--- a/lib/bridgedb/test/test_email_autoresponder.py
+++ b/lib/bridgedb/test/test_email_autoresponder.py
@@ -29,6 +29,7 @@ from bridgedb.Dist import TooSoonEmail
from bridgedb.test.email_helpers import _createConfig
from bridgedb.test.email_helpers import _createMailServerContext
from bridgedb.test.email_helpers import DummyEmailDistributorWithState
+from bridgedb.util import remove_suffix
class CreateResponseBodyTests(unittest.TestCase):
@@ -36,7 +37,7 @@ class CreateResponseBodyTests(unittest.TestCase):
def _moveGPGTestKeyfile(self):
here = os.getcwd()
- topDir = here.rstrip('_trial_temp')
+ topDir = remove_suffix(here, '_trial_temp')
self.gpgFile = os.path.join(topDir, '.gnupg', 'TESTING.subkeys.sec')
self.gpgMoved = os.path.join(here, 'TESTING.subkeys.sec')
shutil.copy(self.gpgFile, self.gpgMoved)
diff --git a/lib/bridgedb/test/test_https.py b/lib/bridgedb/test/test_https.py
index 92b07bf..bf229f8 100644
--- a/lib/bridgedb/test/test_https.py
+++ b/lib/bridgedb/test/test_https.py
@@ -36,6 +36,7 @@ from twisted.trial.unittest import SkipTest
from bridgedb.test.util import processExists
from bridgedb.test.util import getBridgeDBPID
+from bridgedb.util import remove_suffix
HTTP_ROOT = 'http://127.0.0.1:6788'
CAPTCHA_RESPONSE = 'Tvx74Pmy'
@@ -44,7 +45,7 @@ CAPTCHA_RESPONSE = 'Tvx74Pmy'
class HTTPTests(unittest.TestCase):
def setUp(self):
here = os.getcwd()
- topdir = here.rstrip('_trial_temp')
+ topdir = remove_suffix(here, '_trial_temp')
self.rundir = os.path.join(topdir, 'run')
self.pidfile = os.path.join(self.rundir, 'bridgedb.pid')
self.pid = getBridgeDBPID(self.pidfile)
diff --git a/lib/bridgedb/test/test_smtp.py b/lib/bridgedb/test/test_smtp.py
index 1cbafba..b4cf8f9 100644
--- a/lib/bridgedb/test/test_smtp.py
+++ b/lib/bridgedb/test/test_smtp.py
@@ -17,6 +17,7 @@ from twisted.trial.unittest import SkipTest
from bridgedb.test.util import processExists
from bridgedb.test.util import getBridgeDBPID
+from bridgedb.util import remove_suffix
# ------------- SMTP Client Config
SMTP_DEBUG_LEVEL = 0 # set to 1 to see SMTP message exchange
@@ -118,7 +119,7 @@ class SMTPTests(unittest.TestCase):
running.
'''
here = os.getcwd()
- topdir = here.rstrip('_trial_temp')
+ topdir = remove_suffix(here, '_trial_temp')
self.rundir = os.path.join(topdir, 'run')
self.pidfile = os.path.join(self.rundir, 'bridgedb.pid')
self.pid = getBridgeDBPID(self.pidfile)
diff --git a/lib/bridgedb/util.py b/lib/bridgedb/util.py
index ca2a88f..3e1b42f 100644
--- a/lib/bridgedb/util.py
+++ b/lib/bridgedb/util.py
@@ -302,3 +302,12 @@ class mixin:
expect mixin classes to end in ``'mixin'``.
"""
__metaclass__ = abc.ABCMeta
+
+def remove_prefix(s, f):
+ assert s.startswith(f)
+ return s[len(f):]
+
+def remove_suffix(s, f):
+ assert s.endswith(f)
+ return s[:-len(f)]
+
More information about the tor-commits
mailing list