Esempio n. 1
0
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)
Esempio n. 2
0
	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)