Bump dev status
Shouldn't be considered pre-release anymore Also fixed pep8 test. Change-Id: I9ad41ce6e60736a944af4195542c409f59e110b2
This commit is contained in:
parent
8ff276f548
commit
f5bc8c2a13
@ -1,13 +1,13 @@
|
||||
[metadata]
|
||||
name = simport
|
||||
version = 0.2
|
||||
version = 0.3
|
||||
author = Dark Secret Software Inc.
|
||||
author-email = admin@darksecretsoftware.com
|
||||
summary = simple import with python path management
|
||||
description-file = README.md
|
||||
license = Apache-2
|
||||
classifier =
|
||||
Development Status :: 3 - Alpha
|
||||
Development Status :: 5 - Production/Stable
|
||||
Environment :: Console
|
||||
Intended Audience :: Developers
|
||||
Intended Audience :: Information Technology
|
||||
|
@ -13,7 +13,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import imp
|
||||
import logging
|
||||
import os
|
||||
import os.path
|
||||
@ -76,13 +75,15 @@ def _get_module(target):
|
||||
sys.path.append(filepath)
|
||||
|
||||
if not class_or_function:
|
||||
raise MissingMethodOrFunction("No Method or Function specified in '%s'" % target)
|
||||
raise MissingMethodOrFunction("No Method or Function specified in "
|
||||
"'%s'" % target)
|
||||
|
||||
if module:
|
||||
try:
|
||||
__import__(module)
|
||||
except ImportError as e:
|
||||
raise ImportFailed("Failed to import '%s'. Error: %s" % (module, e))
|
||||
raise ImportFailed("Failed to import '%s'. "
|
||||
"Error: %s" % (module, e))
|
||||
|
||||
klass, sep, function = class_or_function.rpartition('.')
|
||||
return module, klass, function
|
||||
@ -94,7 +95,8 @@ def load(target, source_module=None):
|
||||
if not module and source_module:
|
||||
module = source_module
|
||||
if not module:
|
||||
raise MissingModule("No module name supplied or source_module provided.")
|
||||
raise MissingModule("No module name supplied or "
|
||||
"source_module provided.")
|
||||
actual_module = sys.modules[module]
|
||||
if not klass:
|
||||
return getattr(actual_module, function)
|
||||
|
@ -41,21 +41,21 @@ class TestSimport(unittest.TestCase):
|
||||
|
||||
def test_good_external_targets(self):
|
||||
self.assertEquals(("localmodule", "Foo", "method_a"),
|
||||
simport._get_module("tests|"
|
||||
"localmodule:Foo.method_a"))
|
||||
simport._get_module("tests|"
|
||||
"localmodule:Foo.method_a"))
|
||||
|
||||
self.assertRaises(simport.ImportFailed, simport._get_module,
|
||||
"tests|that_module:function_a")
|
||||
|
||||
def test_bad_load(self):
|
||||
self.assertRaises(AttributeError, simport.load,
|
||||
"test_simport:missing")
|
||||
"test_simport:missing")
|
||||
|
||||
def test_good_load_internal(self):
|
||||
self.assertEquals(dummy_function,
|
||||
simport.load("test_simport:dummy_function"))
|
||||
simport.load("test_simport:dummy_function"))
|
||||
self.assertEquals(DummyClass.method_a,
|
||||
simport.load("test_simport:DummyClass.method_a"))
|
||||
simport.load("test_simport:DummyClass.method_a"))
|
||||
|
||||
def test_good_load_local(self):
|
||||
method = simport.load("tests|"
|
||||
@ -63,11 +63,11 @@ class TestSimport(unittest.TestCase):
|
||||
import localmodule
|
||||
self.assertEquals(method, localmodule.Foo.method_a)
|
||||
self.assertEquals(localmodule.function_a,
|
||||
simport.load("localmodule:function_a"))
|
||||
simport.load("localmodule:function_a"))
|
||||
|
||||
def test_good_load_external(self):
|
||||
method = simport.load("tests/external|"
|
||||
"external.externalmodule:Blah.method_b")
|
||||
"external.externalmodule:Blah.method_b")
|
||||
|
||||
self.assertTrue('external.externalmodule' in sys.modules)
|
||||
old = sys.modules['external.externalmodule']
|
||||
@ -80,7 +80,7 @@ class TestSimport(unittest.TestCase):
|
||||
|
||||
def test_import_class(self):
|
||||
klass = simport.load("tests/external|"
|
||||
"external.externalmodule:Blah")
|
||||
"external.externalmodule:Blah")
|
||||
import external.externalmodule
|
||||
self.assertEqual(klass, external.externalmodule.Blah)
|
||||
|
||||
|
16
tox.ini
16
tox.ini
@ -1,10 +1,22 @@
|
||||
[tox]
|
||||
envlist = py26, py27
|
||||
envlist = py26,py27,pep8
|
||||
|
||||
[testenv]
|
||||
deps =
|
||||
deps =
|
||||
coverage
|
||||
nose
|
||||
mock
|
||||
flake8
|
||||
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
|
||||
commands = nosetests -d -v --with-coverage --cover-inclusive --cover-package simport []
|
||||
|
||||
[testenv:pep8]
|
||||
commands =
|
||||
flake8
|
||||
|
||||
[flake8]
|
||||
ignore = H405
|
||||
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,timex/__init__.py
|
||||
show-source = True
|
||||
|
Loading…
x
Reference in New Issue
Block a user