Ejemplo n.º 1
0
Archivo: wiki.py Proyecto: fy0/Icarus
    def post(self):
        title = self.get_argument('title', None)
        url = self.get_argument('url', None)

        if title and url:
            item = WikiItem.new(self.current_user(), title, url)
            if item:
                return self.finish(json.dumps({"code":0, "item": item.to_dict()}))
        return self.finish(json.dumps({"code": -1}))
Ejemplo n.º 2
0
Archivo: common.py Proyecto: fy0/Icarus
    def get_object(cls, related_type, related_id):
        from model.user import User
        from model.topic import Topic
        from model.wiki import WikiItem

        if related_type == OBJECT_TYPES.USER:
            u = User.get_by_pk(related_id)
            if u: return u
        elif related_type == OBJECT_TYPES.TOPIC:
            t = Topic.get_by_pk(related_id)
            if t: return t
        elif related_type == OBJECT_TYPES.WIKI:
            w = WikiItem.get_by_pk(related_id)
            if w: return w
Ejemplo n.º 3
0
Archivo: wiki.py Proyecto: fy0/Icarus
    def post(self, title):
        content = self.get_argument('content', None)
        parent_id = self.get_argument('parent_id', None)
        root_item = WikiItem.get_by_keyword(title)

        if root_item and content:
            if root_item.current:
                parent = WikiArticle.get_by_pk(parent_id)
                if root_item.id == parent.root:
                    article = WikiArticle.new(self.current_user(), root_item, parent, content)
                    return
            else:
                article = WikiArticle.new(self.current_user(), root_item, None, content)
                return
        # 非标准提交直接转向
        self.redirect(url_for('index'))
Ejemplo n.º 4
0
    def get_post(cls, related_type, related_id):
        from model.user import User
        from model.topic import Topic
        from model.wiki import WikiItem

        if type(related_id) == POST_ID_GENERATOR:
            related_id = related_id.to_bin()

        if type(related_type) == str:
            related_type = int(related_type)

        if related_type == POST_TYPES.USER:
            u = User.get_by_pk(related_id)
            if u: return u
        elif related_type == POST_TYPES.TOPIC:
            t = Topic.get_by_pk(related_id)
            if t: return t
        elif related_type == POST_TYPES.WIKI:
            w = WikiItem.get_by_pk(related_id)
            if w: return w
Ejemplo n.º 5
0
Archivo: wiki.py Proyecto: fy0/Icarus
 def get(self, title):
     item = WikiItem.get_by_keyword(title)
     if item:
         self.render('wiki/wiki_new.html', nav='wiki', item=item)
     else:
         self.write_error(404)
Ejemplo n.º 6
0
Archivo: wiki.py Proyecto: fy0/Icarus
 def get(self, title):
     item = WikiItem.get_by_keyword(title)
     self.render('wiki/item_page.html', nav='wiki', item=item)
Ejemplo n.º 7
0
Archivo: wiki.py Proyecto: fy0/Icarus
 def get(self):
     item = WikiItem.get_random()
     if item:
         self.redirect(url_for('wiki_item_page', item.keyword))
     else:
         self.redirect(url_for('wiki_items'))
Ejemplo n.º 8
0
Archivo: wiki.py Proyecto: fy0/Icarus
 def get(self):
     items_count, items = WikiItem.get_list()
     self.render('wiki/items.html', nav='wiki', items=items, items_count=items_count)