Skip to main content

DottedNameResolver and other stuff lifted from pyramid.path

Project description

python_dotted_name_resolver

Build Status Latest Version

DottedNameResolver and other stuff lifted from pyramid.path from the wonderful Pyramid web framework.

A few quick examples of usage

In [1]: from dotted_name_resolver import DottedNameResolver

In [2]: r = DottedNameResolver()

In [3]: r.resolve('os.path')
Out[3]: <module 'posixpath' from
'/Users/marca/python/virtualenvs/dotted_name_resolver/lib/python2.7/posixpath.pyc'>

In [4]: r.resolve('os.path.exists')
Out[4]: <function genericpath.exists>

In [5]: r.resolve('dotted_name_resolver.DottedNameResolver.maybe_resolve')
Out[5]: <unbound method DottedNameResolver.maybe_resolve>

In [6]: import os.path

In [7]: r.resolve(os.path.exists)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call
last)
<ipython-input-9-0fd311498cae> in <module>()
----> 1 r.resolve(os.path.exists)

/Users/marca/dev/git-repos/python_dotted_name_resolver/dotted_name_resolver/__init__.pyc
in resolve(self, dotted)
    328         if not isinstance(dotted, string_types):
--> 329             raise ValueError('%r is not a string' % (dotted,))
    330         package = self.package
    331         if package is CALLER_PACKAGE:

ValueError: <function exists at 0x1002a5398> is not a string

In [8]: r.maybe_resolve(os.path.exists)
Out[8]: <function genericpath.exists>

In [24]: from dotted_name_resolver import AssetResolver

In [25]: a = AssetResolver('IPython')

In [26]: a.resolve('html/static/notebook/js/notebook.js').abspath()
Out[26]:
'/Users/marca/python/virtualenvs/dotted_name_resolver/lib/python2.7/site-packages/IPython/html/static/notebook/js/notebook.js'

Documentation

For detailed documentation, see the documentation for pyramid.path and replace anything that says pyramid.path with dotted_name_resolver.

Supported python versions

$ /Library/Frameworks/Python.framework/Versions/3.3/bin/tox
...
  py26: commands succeeded
  py27: commands succeeded
  py33: commands succeeded
  py34: commands succeeded
  pypy: commands succeeded
  congratulations :)

0.1

0.0

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
dotted_name_resolver-0.1.tar.gz (9.2 kB) Copy SHA256 hash SHA256 Source None Jan 20, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page