summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/leap/common/__init__.py4
-rw-r--r--src/leap/common/_version.py40
-rw-r--r--src/leap/common/ca_bundle.py1
-rw-r--r--src/leap/common/config/pluggableconfig.py27
-rw-r--r--src/leap/common/config/tests/test_baseconfig.py30
-rw-r--r--src/leap/common/http.py21
-rw-r--r--src/leap/common/tests/test_certs.py6
-rw-r--r--src/leap/common/tests/test_events.py33
-rw-r--r--src/leap/common/zmq_utils.py2
9 files changed, 96 insertions, 68 deletions
diff --git a/src/leap/common/__init__.py b/src/leap/common/__init__.py
index 5619900..383e198 100644
--- a/src/leap/common/__init__.py
+++ b/src/leap/common/__init__.py
@@ -4,6 +4,7 @@ from leap.common import certs
from leap.common import check
from leap.common import files
from leap.common import events
+from ._version import get_versions
logger = logging.getLogger(__name__)
@@ -11,11 +12,10 @@ try:
import pygeoip
HAS_GEOIP = True
except ImportError:
- #logger.debug('PyGeoIP not found. Disabled Geo support.')
+ # logger.debug('PyGeoIP not found. Disabled Geo support.')
HAS_GEOIP = False
__all__ = ["certs", "check", "files", "events"]
-from ._version import get_versions
__version__ = get_versions()['version']
del get_versions
diff --git a/src/leap/common/_version.py b/src/leap/common/_version.py
index 597e2e4..de94ba8 100644
--- a/src/leap/common/_version.py
+++ b/src/leap/common/_version.py
@@ -1,5 +1,3 @@
-
-IN_LONG_VERSION_PY = True
# This file helps to compute a version number in source trees obtained from
# git-archive tarball (such as those provided by githubs download-from-tag
# feature). Distribution tarballs (build by setup.py sdist) and build
@@ -10,12 +8,16 @@ IN_LONG_VERSION_PY = True
# versioneer-0.7+ (https://github.com/warner/python-versioneer)
# these strings will be replaced by git during git-archive
-git_refnames = "$Format:%d$"
-git_full = "$Format:%H$"
-
import subprocess
import sys
+import re
+import os.path
+
+IN_LONG_VERSION_PY = True
+git_refnames = "$Format:%d$"
+git_full = "$Format:%H$"
+
def run_command(args, cwd=None, verbose=False):
try:
@@ -37,10 +39,6 @@ def run_command(args, cwd=None, verbose=False):
return stdout
-import sys
-import re
-import os.path
-
def get_expanded_variables(versionfile_source):
# the code embedded in _version.py can just fetch the value of these
# variables. When used from setup.py, we don't want to import
@@ -48,7 +46,7 @@ def get_expanded_variables(versionfile_source):
# used from _version.py.
variables = {}
try:
- f = open(versionfile_source,"r")
+ f = open(versionfile_source, "r")
for line in f.readlines():
if line.strip().startswith("git_refnames ="):
mo = re.search(r'=\s*"(.*)"', line)
@@ -63,12 +61,13 @@ def get_expanded_variables(versionfile_source):
pass
return variables
+
def versions_from_expanded_variables(variables, tag_prefix, verbose=False):
refnames = variables["refnames"].strip()
if refnames.startswith("$Format"):
if verbose:
print("variables are unexpanded, not using")
- return {} # unexpanded, so not in an unpacked git-archive tarball
+ return {} # unexpanded, so not in an unpacked git-archive tarball
refs = set([r.strip() for r in refnames.strip("()").split(",")])
# starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of
# just "foo-1.0". If we see a "tag: " prefix, prefer those.
@@ -84,7 +83,7 @@ def versions_from_expanded_variables(variables, tag_prefix, verbose=False):
# "stabilization", as well as "HEAD" and "master".
tags = set([r for r in refs if re.search(r'\d', r)])
if verbose:
- print("discarding '%s', no digits" % ",".join(refs-tags))
+ print("discarding '%s', no digits" % ",".join(refs - tags))
if verbose:
print("likely tags: %s" % ",".join(sorted(tags)))
for ref in sorted(tags):
@@ -93,13 +92,14 @@ def versions_from_expanded_variables(variables, tag_prefix, verbose=False):
r = ref[len(tag_prefix):]
if verbose:
print("picking %s" % r)
- return { "version": r,
- "full": variables["full"].strip() }
+ return {"version": r,
+ "full": variables["full"].strip()}
# no suitable tags, so we use the full revision id
if verbose:
print("no suitable tags, using full revision id")
- return { "version": variables["full"].strip(),
- "full": variables["full"].strip() }
+ return {"version": variables["full"].strip(),
+ "full": variables["full"].strip()}
+
def versions_from_vcs(tag_prefix, versionfile_source, verbose=False):
# this runs 'git' from the root of the source tree. That either means
@@ -116,7 +116,7 @@ def versions_from_vcs(tag_prefix, versionfile_source, verbose=False):
here = os.path.abspath(__file__)
except NameError:
# some py2exe/bbfreeze/non-CPython implementations don't do __file__
- return {} # not always correct
+ return {} # not always correct
# versionfile_source is the relative path from the top of the source tree
# (where the .git directory might live) to this file. Invert this to find
@@ -163,7 +163,7 @@ def versions_from_parentdir(parentdir_prefix, versionfile_source, verbose=False)
here = os.path.abspath(__file__)
except NameError:
# py2exe/bbfreeze/non-CPython don't have __file__
- return {} # without __file__, we have no hope
+ return {} # without __file__, we have no hope
# versionfile_source is the relative path from the top of the source
# tree to _version.py. Invert this to find the root from __file__.
root = here
@@ -189,8 +189,9 @@ tag_prefix = ""
parentdir_prefix = "leap.common-"
versionfile_source = "src/leap/common/_version.py"
+
def get_versions(default={"version": "unknown", "full": ""}, verbose=False):
- variables = { "refnames": git_refnames, "full": git_full }
+ variables = {"refnames": git_refnames, "full": git_full}
ver = versions_from_expanded_variables(variables, tag_prefix, verbose)
if not ver:
ver = versions_from_vcs(tag_prefix, versionfile_source, verbose)
@@ -200,4 +201,3 @@ def get_versions(default={"version": "unknown", "full": ""}, verbose=False):
if not ver:
ver = default
return ver
-
diff --git a/src/leap/common/ca_bundle.py b/src/leap/common/ca_bundle.py
index d8c72a6..2c41d18 100644
--- a/src/leap/common/ca_bundle.py
+++ b/src/leap/common/ca_bundle.py
@@ -28,6 +28,7 @@ _system = platform.system()
IS_MAC = _system == "Darwin"
+
def where():
"""
Return the preferred certificate bundle.
diff --git a/src/leap/common/config/pluggableconfig.py b/src/leap/common/config/pluggableconfig.py
index 8535fa6..1a98427 100644
--- a/src/leap/common/config/pluggableconfig.py
+++ b/src/leap/common/config/pluggableconfig.py
@@ -27,7 +27,7 @@ import urlparse
import jsonschema
-#from leap.base.util.translations import LEAPTranslatable
+# from leap.base.util.translations import LEAPTranslatable
from leap.common.check import leap_assert
@@ -163,8 +163,8 @@ class TranslatableType(object):
return data # LEAPTranslatable(data)
# needed? we already have an extended dict...
- #def get_prep_value(self, data):
- #return dict(data)
+ # def get_prep_value(self, data):
+ # return dict(data)
class URIType(object):
@@ -283,9 +283,13 @@ class PluggableConfig(object):
except BaseException, e:
raise TypeCastException(
"Could not coerce %s, %s, "
- "to format %s: %s" % (key, value,
- _ftype.__class__.__name__,
- e))
+ "to format %s: %s" % (
+ key,
+ value,
+ _ftype.__class__.__name__,
+ e
+ )
+ )
return config
@@ -303,9 +307,12 @@ class PluggableConfig(object):
except BaseException, e:
raise TypeCastException(
"Could not serialize %s, %s, "
- "by format %s: %s" % (key, value,
- _ftype.__class__.__name__,
- e))
+ "by format %s: %s" % (
+ key,
+ value,
+ _ftype.__class__.__name__,
+ e)
+ )
else:
config[key] = value
return config
@@ -435,7 +442,7 @@ class PluggableConfig(object):
content = self.deserialize(string)
if not string and fromfile is not None:
- #import ipdb;ipdb.set_trace()
+ # import ipdb;ipdb.set_trace()
content = self.deserialize(fromfile=fromfile)
if not content:
diff --git a/src/leap/common/config/tests/test_baseconfig.py b/src/leap/common/config/tests/test_baseconfig.py
index 8bdf4d0..e17e82d 100644
--- a/src/leap/common/config/tests/test_baseconfig.py
+++ b/src/leap/common/config/tests/test_baseconfig.py
@@ -29,21 +29,21 @@ from mock import Mock
# reduced eipconfig sample config
sample_config = {
"gateways": [
- {
- "capabilities": {
- "adblock": False,
- "transport": ["openvpn"],
- "user_ips": False
- },
- "host": "host.dev.example.org",
- }, {
- "capabilities": {
- "adblock": False,
- "transport": ["openvpn"],
- "user_ips": False
- },
- "host": "host2.dev.example.org",
- }
+ {
+ "capabilities": {
+ "adblock": False,
+ "transport": ["openvpn"],
+ "user_ips": False
+ },
+ "host": "host.dev.example.org",
+ }, {
+ "capabilities": {
+ "adblock": False,
+ "transport": ["openvpn"],
+ "user_ips": False
+ },
+ "host": "host2.dev.example.org",
+ }
],
"default_language": "en",
"languages": [
diff --git a/src/leap/common/http.py b/src/leap/common/http.py
index c93e65b..56938b4 100644
--- a/src/leap/common/http.py
+++ b/src/leap/common/http.py
@@ -150,6 +150,7 @@ class HTTPClient(object):
# An IBodyProducer to write the body of an HTTP request as a string.
#
+
class _StringBodyProducer(object):
"""
A producer that writes the body of a request to a consumer.
@@ -254,18 +255,18 @@ class _HTTP11ClientProtocol(HTTP11ClientProtocol):
self._timeoutCall = None
def _finishResponse_WAITING(self, rest):
- """
- Cancel the timeout when finished receiving the response.
- """
- self._cancelTimeout()
- HTTP11ClientProtocol._finishResponse_WAITING(self, rest)
+ """
+ Cancel the timeout when finished receiving the response.
+ """
+ self._cancelTimeout()
+ HTTP11ClientProtocol._finishResponse_WAITING(self, rest)
def _finishResponse_TRANSMITTING(self, rest):
- """
- Cancel the timeout when finished receiving the response.
- """
- self._cancelTimeout()
- HTTP11ClientProtocol._finishResponse_TRANSMITTING(self, rest)
+ """
+ Cancel the timeout when finished receiving the response.
+ """
+ self._cancelTimeout()
+ HTTP11ClientProtocol._finishResponse_TRANSMITTING(self, rest)
def dataReceived(self, bytes):
"""
diff --git a/src/leap/common/tests/test_certs.py b/src/leap/common/tests/test_certs.py
index 999071f..209e051 100644
--- a/src/leap/common/tests/test_certs.py
+++ b/src/leap/common/tests/test_certs.py
@@ -60,11 +60,13 @@ class CertsTest(BaseLeapTest):
self.assertTrue(certs.should_redownload(cert_path))
def test_should_redownload_if_before(self):
- new_now = lambda: time.struct_time(CERT_NOT_BEFORE)
+ def new_now():
+ time.struct_time(CERT_NOT_BEFORE)
self.assertTrue(certs.should_redownload(TEST_CERT_PEM, now=new_now))
def test_should_redownload_if_after(self):
- new_now = lambda: time.struct_time(CERT_NOT_AFTER)
+ def new_now():
+ time.struct_time(CERT_NOT_AFTER)
self.assertTrue(certs.should_redownload(TEST_CERT_PEM, now=new_now))
def test_not_should_redownload(self):
diff --git a/src/leap/common/tests/test_events.py b/src/leap/common/tests/test_events.py
index 611781c..e2a918f 100644
--- a/src/leap/common/tests/test_events.py
+++ b/src/leap/common/tests/test_events.py
@@ -1,4 +1,4 @@
-## -*- coding: utf-8 -*-
+# -*- coding: utf-8 -*-
# test_events.py
# Copyright (C) 2013 LEAP
#
@@ -60,7 +60,10 @@ class EventsGenericClientTestCase(object):
'There should be no callback for this event.')
# register one event
event1 = catalog.CLIENT_UID
- cbk1 = lambda event, _: True
+
+ def cbk1(event, _):
+ return True
+
uid1 = self._client.register(event1, cbk1)
# assert for correct registration
self.assertTrue(len(callbacks) == 1)
@@ -68,7 +71,10 @@ class EventsGenericClientTestCase(object):
'Could not register event in local client.')
# register another event
event2 = catalog.CLIENT_SESSION_ID
- cbk2 = lambda event, _: True
+
+ def cbk2(event, _):
+ return True
+
uid2 = self._client.register(event2, cbk2)
# assert for correct registration
self.assertTrue(len(callbacks) == 2)
@@ -81,8 +87,13 @@ class EventsGenericClientTestCase(object):
"""
event = catalog.CLIENT_UID
d = defer.Deferred()
- cbk_fail = lambda event, _: callFromThread(d.errback, event)
- cbk_succeed = lambda event, _: callFromThread(d.callback, event)
+
+ def cbk_fail(event, _):
+ return callFromThread(d.errback, event)
+
+ def cbk_succeed(event, _):
+ return callFromThread(d.callback, event)
+
self._client.register(event, cbk_fail, uid=1)
self._client.register(event, cbk_succeed, uid=1, replace=True)
self._client.emit(event, None)
@@ -106,9 +117,15 @@ class EventsGenericClientTestCase(object):
"""
event = catalog.CLIENT_UID
d1 = defer.Deferred()
- cbk1 = lambda event, _: callFromThread(d1.callback, event)
+
+ def cbk1(event, _):
+ return callFromThread(d1.callback, event)
+
d2 = defer.Deferred()
- cbk2 = lambda event, _: callFromThread(d2.callback, event)
+
+ def cbk2(event, _):
+ return d2.callback(event)
+
self._client.register(event, cbk1)
self._client.register(event, cbk2)
self._client.emit(event, None)
@@ -121,8 +138,10 @@ class EventsGenericClientTestCase(object):
"""
event = catalog.CLIENT_UID
d = defer.Deferred()
+
def cbk(events, _):
callFromThread(d.callback, event)
+
self._client.register(event, cbk)
self._client.emit(event, None)
return d
diff --git a/src/leap/common/zmq_utils.py b/src/leap/common/zmq_utils.py
index 19625b9..0a781de 100644
--- a/src/leap/common/zmq_utils.py
+++ b/src/leap/common/zmq_utils.py
@@ -101,5 +101,3 @@ def maybe_create_and_get_certificates(basedir, name):
mkdir_p(public_keys_dir)
shutil.move(old_public_key, new_public_key)
return zmq.auth.load_certificate(private_key)
-
-