Mercurial > nagslang
changeset 173:197a41520ad1
Tweak resources.get_file to allow creating non-existant files
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Tue, 03 Sep 2013 16:07:56 +0200 |
parents | 60e7c1c204e8 |
children | 3221eaa77568 |
files | nagslang/resources.py |
diffstat | 1 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/resources.py Tue Sep 03 15:37:09 2013 +0200 +++ b/nagslang/resources.py Tue Sep 03 16:07:56 2013 +0200 @@ -18,6 +18,10 @@ self.language = language.split('_', 1)[0] if language else None self._cache = {} + def create_resource_path(self, *path_fragments): + return resource_filename(self.resource_module, + os.path.join(*path_fragments)) + def get_resource_path(self, *path_fragments): for mod, full_path_fragments in self.lang_locations(path_fragments): path = resource_filename(mod, os.path.join(*full_path_fragments)) @@ -41,7 +45,13 @@ def get_file(self, *path_fragments, **kw): mode = kw.get('mode', "rU") - path = self.get_resource_path(*path_fragments) + try: + path = self.get_resource_path(*path_fragments) + except ResourceNotFound: + if 'w' in mode: + path = self.create_resource_path(*path_fragments) + else: + raise return file(path, mode) def get_image(self, *name_fragments, **kw):