Ejemplo n.º 1
0
  def process(self):
    self.log("Starting to process key: " + self.key)
    data = self._getData()
    page = self._getExistingPage()

    if not page:
      self.log("Page has not been seen before, creating new one.")
      page = Page()
      page.date_published = self._getPublishedDate()
      page.key = ndb.Key("Page", self.subkey)
      page.slug = data.get('slug', self.slug)
      page.published = True
    else:
      self.log("Page has been seen before, updating existing one.")

    # As a precaution, if the page has a status that is draft, ignore it.
    if data.get('status'):
      if data['status'] == "draft":
        self.log("Caught page in Draft mode, ending processing.")
        return

    page.title = data['title']
    page.body = self._renderBody(data.content)
    page.frontmatter = data.to_dict()
    self._inflateStatic(data.content)
    page.put()

    return page.body