def insert_or_update_entry(filename): basename, extension = splitext(filename) if extension in ['.markdown', '.meta']: result = urlfetch.fetch(url = build_url(filename)) if result.status_code == 200: entry = Entry.get_or_insert(basename) if extension.endswith('.markdown'): import markdown2 html = markdown2.markdown(result.content.decode('utf-8')) if html: jinja2 = Environment(extensions=[ImgurExtension]) entry.content = jinja2.from_string(html).render() else: try: meta = yaml.load(result.content) except Exception as ex: logging.error('Failed to parse YAML: %s' % ex) else: entry.title = meta['title'] entry.tags = meta['tags'] entry.published = meta['published'] entry.slug = basename entry.put() else: logging.error('failed to fetch %s' % filename)
def add_or_update_entry(self, filename): basename, extension = os.path.splitext(filename) if extension in [".entry", ".meta"]: result = urlfetch.fetch(url = build_url(filename)) if result.status_code == 200: entry = Entry.get_or_insert(basename) if extension.endswith(".entry"): entry.content = jinja2_env.from_string(result.content.decode('utf-8')).render() else: try: meta = yaml.load(result.content) except: logging.error("failed to parse YAML") else: entry.title = meta["name"] entry.slug = basename entry.put() else: logging.error("failed to fetch %s" % filename)