+ self._read_cache = {}
+ def read(self, file, force = False):
+ """Reads a file's contents and stuffs it in a cache"""
+ if force or file not in self._read_cache:
+ f = open(os.path.join(self.location, file))
+ self._read_cache[file] = f.read()
+ f.close()
+ return self._read_cache[file]
+ def extract(self):
+ return self.application.extract(self)
+ def updateVersion(self, version=None):
+ """`version` Version string to update to, or leave out to simply
+ force the creation of .scripts/version file"""
+ if not version:
+ version = str(self.version)
+ else:
+ self._app_version = self.application.makeVersion(version)
+ f = open(os.path.join(self.scripts_dir, 'version'), 'w')
+ f.write(self.application.name + '-' + version + "\n")
+ f.close()
+ @property
+ def scripts_dir(self):
+ return os.path.join(self.location, '.scripts')