def post(self): title = self.get_argument('title') content_md = self.get_argument('content') pattern = r'\[[^\[\]]+\]' labels = re.findall(pattern, self.get_argument('labels')) content_html = markdown.markdown(content_md, ['codehilite']) try: article_id = Article.create(self.db, title, content_md, content_html) for label in labels: detail = label[1:-1].strip() Label.create(self.db, article_id, detail) self.redirect('/', permanent=True) except: error = "The post data invalid" self.render('error.html', error=error, home_title=options.home_title)
def listLabelsInPage(self, page): """List all Labels available for a given pageId (can be also used to list Labels for any ContentEntityObject ID) @type page: string, or Page object @param page: page id, or Page object @rtype: list of Labels @return: Labels """ return tuple(Label.create(labelDict, self._modelDataManager) for labelDict in self.pm_getSpaceManager().getLabelsById(self._unbox(page)))
def listLabelsInSpace(self, space, maxLabelsToReturn = 20): """List all Labels available for a given Space @type space: string, or Space object @param space: space key, or Space object @param maxLabelsToReturn: maximum number of labels to return @rtype: list of Labels @return: Labels """ return tuple(Label.create(labelDict, self._modelDataManager) for labelDict in self.pm_getSpaceManager().getLabelsInSpace(self._unbox(space), maxLabelsToReturn))
def listLabelsInPage(self, page): """List all Labels available for a given pageId (can be also used to list Labels for any ContentEntityObject ID) @type page: string, or Page object @param page: page id, or Page object @rtype: list of Labels @return: Labels """ return tuple( Label.create(labelDict, self._modelDataManager) for labelDict in self.pm_getSpaceManager().getLabelsById( self._unbox(page)))
def listLabelsInSpace(self, space, maxLabelsToReturn=20): """List all Labels available for a given Space @type space: string, or Space object @param space: space key, or Space object @param maxLabelsToReturn: maximum number of labels to return @rtype: list of Labels @return: Labels """ return tuple( Label.create(labelDict, self._modelDataManager) for labelDict in self.pm_getSpaceManager().getLabelsInSpace( self._unbox(space), maxLabelsToReturn))