URI Resolution Engine

Well, of course a URI Resolution Engine is intended to resolve URIs into resources. In this case, python objects. And in the specific case of the skinning framework, to resolve into concrete implementaton of FileNodeAbstract (in TG.uriResolvers.fileobj.filebase.)

Code

FAQ

Why do you have to mount zip files specifically?

Because the Adaptive URI Resolver has not yet been written. Please see ticket #24.

Example

from TG.uriResolver.fileobj.zip import ZipResolver 
import csv

resolver = ZipResolver('/app/path/', './data.zip')
resource = self.resolver.resolve('/app/path/data.csv')
assert resource.exists()
resourceFile = resource.open()
try:
    data = csv.reader(resourceFile)
finally:
    resourceFile.close()