5 def __init__(self, path):
10 raise FileNotFoundError(name)
12 fn = os.path.join(self.path, *els[:-1], els[-1] + ".class")
13 with open(fn, "rb") as fp:
14 return file.classfile.load(fp)
17 def __init__(self, filename):
18 self.filename = filename
21 with zipfile.ZipFile(self.filename) as jar:
24 fp = jar.open(fn, "r")
26 raise FileNotFoundError(name)
28 return file.classfile.load(fp)
31 def __init__(self, *ents, caching=True):
33 self.cache = {} if caching else None
36 if self.cache is not None and name in self.cache:
37 return self.cache[name]
42 except FileNotFoundError:
45 raise FileNotFoundError(name)
46 if self.cache is not None:
47 self.cache[name] = ret