Example #1
0
def load(pattern, *args, **kw):
  '''
  Given a package asset-spec glob-pattern `pattern`, returns an
  :class:`AssetGroup` object, which in turn can act as a generator of
  :class:`Asset` objects that match the pattern.

  Example:

  .. code-block:: python

    import asset

    # concatenate all 'css' files into one string:
    css = asset.load('mypackage:static/style/**.css').read()

  '''

  spec = pattern

  if ':' not in pattern:
    raise ValueError('`pattern` must be in the format "PACKAGE:GLOB"')

  pkgname, pkgpat = pattern.split(':', 1)
  pkgdir, pattern = globre.compile(pkgpat, split_prefix=True, flags=globre.EXACT)

  if pkgdir:
    idx = pkgdir.rfind('/')
    pkgdir = pkgdir[:idx] if idx >= 0 else ''

  group = AssetGroup(pkgname, pkgdir, pattern, spec)
  if globre.iswild(pkgpat):
    return group
  return Asset(group, pkgname, pkgpat)
Example #2
0
 def test_iswild(self):
   self.assertTrue(globre.iswild('/foo/bar/**.ini'))
   self.assertTrue(globre.iswild('/foo/bar-[0-9].ini'))
   self.assertFalse(globre.iswild('/foo/bar/conf.ini'))
   self.assertFalse(globre.iswild(r'\/foo\/bar\/conf.ini'))
Example #3
0
 def test_iswild(self):
     self.assertTrue(globre.iswild('/foo/bar/**.ini'))
     self.assertTrue(globre.iswild('/foo/bar-[0-9].ini'))
     self.assertFalse(globre.iswild('/foo/bar/conf.ini'))
     self.assertFalse(globre.iswild(r'\/foo\/bar\/conf.ini'))