Skip to main content

DottedNameResolver and other stuff lifted from pyramid.path

Project description

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 :)

Project details


Download files

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

Source Distribution

dotted_name_resolver-0.0.tar.gz (9.6 kB view details)

Uploaded Source

File details

Details for the file dotted_name_resolver-0.0.tar.gz.

File metadata

File hashes

Hashes for dotted_name_resolver-0.0.tar.gz
Algorithm Hash digest
SHA256 a4ae60de6f4d6e5cf1697c22e460c107de388fc5236185c4e1c994c6c8e789dd
MD5 837f43e4af4369dc7044aeca37861924
BLAKE2b-256 3ec7df3fcd32a9a0e1e0e89e156f687983b524ce91dd2677b1f034f1c68c89e5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page