Resource storage

Similar to setuptools.pkg_resources, but with extended functionality

class pyaltt2.res.ResourceStorage(resource_dir='.', mod=None)

Resource storage loader

Usage example:

from pyaltt.res import ResourceStorage from functools import partial

rs = ResourceStorage(mod=mymod)

rq = partial(rs.get, resource_subdir=’sql’, ext=’sql’)

rq(‘object.select.data’) - will load resource from (will try all variations until file is found):

  • sql/object.select.data.sql
  • sql/object/select.data.sql
  • sql/object/select/data.sql

Resource is loaded once and cached forever.

init resource storage for module

If module is specified, set directory to module_dir/resources

Parameters:
  • resource_dir – resource directory or
  • mod – module name
Raises:

LookupError – if module name is specified, but module is not found

get

Get resource

Loads resource from resource storage directory

Parameters:
  • resource_id – resource id. dots are replaced with “/” automatically until resource is found
  • resource_subdir – resource sub directory
  • ext – resource extension
  • mode – file open mode (default: “r”, use “rb” for binary data)
  • default – return default value if resource is not found
Raises:

LookupError – if resource is not found and no default value provided