def markup_from_file(str_cls, filename, encoding=None): key = filename, str_cls, encoding mtime = get_mtime(filename) old_mtime, markup = template_file_cache.get(key, (None, None)) if markup and mtime == old_mtime: return markup s = read_text_file(filename, encoding) if s.startswith(redirect_prefix): new_filename = s[len(redirect_prefix):].strip() return markup_from_file(str_cls, new_filename, encoding) if s.startswith(translation_prefix): lang = s[len(redirect_prefix):].strip().lower() root, ext = os.path.splitext(filename) root, _ = root.split('-', 1) new_filename = '%s-%s%s' % (root, lang, ext) return markup_from_file(str_cls, new_filename, encoding) markup = markup_from_string(str_cls, s, encoding, True, False, filename) template_file_cache[filename] = mtime, markup return markup
def load(filename): textlines = read_text_file(filename).split('\n') trans = parse(textlines) return trans