Skip to content
Snippets Groups Projects
Commit 9cbff8a3 authored by Dan Villiom Podlaski Christiansen's avatar Dan Villiom Podlaski Christiansen
Browse files

store: use a subclass, not a function for fncacheopener

parent 78bdfc75
No related branches found
No related tags found
No related merge requests found
......@@ -370,7 +370,17 @@
self.encode = encode
self.path = path + '/store'
self.createmode = _calcmode(self.path)
op = openertype(self.path)
storeself = self
class fncacheopener(openertype):
def __call__(self, path, mode='r', *args, **kw):
if mode not in ('r', 'rb') and path.startswith('data/'):
fnc.add(path)
return openertype.__call__(self, storeself.encode(path), mode,
*args, **kw)
op = fncacheopener(self.path)
op.createmode = self.createmode
fnc = fncache(op)
self.fncache = fnc
......@@ -374,12 +384,7 @@
op.createmode = self.createmode
fnc = fncache(op)
self.fncache = fnc
def fncacheopener(path, mode='r', *args, **kw):
if mode not in ('r', 'rb') and path.startswith('data/'):
fnc.add(path)
return op(self.encode(path), mode, *args, **kw)
self.opener = fncacheopener
self.opener = op
def join(self, f):
return self.path + '/' + self.encode(f)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment