示例#1
0
    def post(self):
        caller = get_caller(request)
        if caller["role"] != "admin":
            return res("⛔️ Must be an admin to create a new category", "error"), 400

        req = parse(request)
        errors = CategorySchema().validate(req)
        if errors:
            return res("Errors in request", "alert", errors=errors), 400
        category = Category(name=req["name"])
        category.save()
        return res(
            "Category created successfully", "success", category=convert_query(category)
        )
示例#2
0
    def post(self):
        name = self.get_argument("name", None)
        slug = self.get_argument("slug", None)
        order = int(self.get_argument("order", 1))

        category = Category()
        category.name = name
        category.slug = slug
        category.order = order

        try:
            category.validate()
            category.save()
            self.flash(u"分类%s添加成功" % name)
            self.redirect("/admin/addcategoryattr/" + str(category.id))
            return
        except Exception, ex:
            self.flash(str(ex))
示例#3
0
 def post(self):
     name = self.get_argument("name", None)
     slug = self.get_argument("slug", None)
     order = int(self.get_argument("order", 1))
         
     category = Category()
     category.name = name
     category.slug = slug
     category.order = order
     
     try:
         category.validate()
         category.save()
         self.flash(u"分类%s添加成功" % name)
         self.redirect("/admin/addcategoryattr/" + str(category.id))
         return
     except Exception, ex:
         self.flash(str(ex))
示例#4
0
def api_category_add(*, request, title):
    r = web.Response()
    category = yield from Category.findAll('title=?', [title])
    if len(category) > 0:
        result = APIResult(0, '', '该分类已存在')
    else:
        cate = Category(title = title)
        cate_id = yield  from cate.save()
        if cate_id > 0:
            result = APIResult(1, '', '分类添加成功')
        else:
            result = APIResult(0, '', '分类添加失败')
    return jsonResult(r, result)
def categories():
    from model import Category
    category = Category()
    category.save()
示例#6
0
def new_channel_post(bot, update, photo=None):
    post = update.channel_post
    if post.chat.username != settings.SELF_CHANNEL_USERNAME:
        return
    text = post.text

    channel, created = Channel.get_or_create(chat_id=post.chat_id,
                                             username=post.chat.username)
    if created:
        channel.save()

    category_list = '•Share your bots to the @BotListChat using the hashtag #new' in text
    intro = 'Hi! Welcome' in text
    category = text[0] == '•' and not category_list
    new_bots_list = 'NEW→' in text

    # TODO: is this a document?
    if photo:
        pass
    elif category:
        try:
            # get the category meta data
            meta = re.match(r'•(.*?)([A-Z].*):(?:\n(.*):)?', text).groups()
            if len(meta) < 2:
                raise ValueError("Category could not get parsed.")

            emojis = str.strip(meta[0])
            name = str.strip(meta[1])
            extra = str.strip(meta[2]) if meta[2] else None
            try:
                cat = Category.get(name=name)
            except Category.DoesNotExist:
                cat = Category(name=name)
            cat.emojis = emojis
            cat.extra = extra
            cat.save()

            # get the bots in that category
            bots = re.findall(r'^(🆕)?.*(@\w+)( .+)?$', text, re.MULTILINE)
            languages = Country.select().execute()
            for b in bots:
                username = b[1]
                try:
                    new_bot = Bot.by_username(username)
                except Bot.DoesNotExist:
                    new_bot = Bot(username=username)

                new_bot.category = cat

                new_bot.inlinequeries = "🔎" in b[2]
                new_bot.official = "🔹" in b[2]

                extra = re.findall(r'(\[.*\])', b[2])
                if extra:
                    new_bot.extra = extra[0]

                # find language
                for lang in languages:
                    if lang.emoji in b[2]:
                        new_bot.country = lang

                if b[0]:
                    new_bot.date_added = datetime.date.today()
                else:
                    new_bot.date_added = datetime.date.today(
                    ) - datetime.timedelta(days=31)

                new_bot.save()
        except AttributeError:
            log.error("Error parsing the following text:\n" + text)
示例#7
0
def categories():
    from model import Category
    category = Category()
    category.save()