Esempio n. 1
0
def modify_topic(request):
    topic_id = request.REQUEST.get('topic_id')
    name = request.REQUEST.get('name')
    domain = request.REQUEST.get('domain')
    des = request.REQUEST.get('des')
    state = request.REQUEST.get('state')
    sort = request.REQUEST.get('sort')
    parent_topic_id = request.REQUEST.get('parent_id')

    tb = TopicBase()
    obj = tb.get_topic_by_id_or_domain(topic_id, False)
    img_name = obj.img

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    code, msg = tb.modify_topic(topic_id, name, domain, des, img_name, state, parent_topic_id, sort)

    if code == 0:
        url = "/admin/topic?#modify/%s" % (topic_id)
    else:
        url = "/admin/topic?%s#modify/%s" % (msg, topic_id)

    return HttpResponseRedirect(url)
Esempio n. 2
0
def question_type_nav_display(context):
    """
    @note: 问题类型导航方式展现
    """
    from www.question.interface import TopicBase
    aqts = TopicBase().get_all_question_type()
    return render_to_response('question/_question_type_nav_display.html', locals(),
                              context_instance=context).content
Esempio n. 3
0
def global_hot_topics(context):
    """
    @note: 热门话题
    """
    from www.question.interface import TopicBase

    global_hotest_topics = TopicBase().get_all_topics_for_show()[:5]
    return render_to_response('question/_global_hot_topics.html', locals(), context_instance=context).content
Esempio n. 4
0
def get_topic_by_id(request):
    data = ""

    topic_id = request.REQUEST.get('topic_id')

    obj = TopicBase().get_topic_by_id_or_domain(topic_id, False)

    if obj:
        data = format_topic([obj], 1)[0]

    return HttpResponse(json.dumps(data), mimetype='application/json')
Esempio n. 5
0
def get_topics_by_name(request):
    topic_name = request.REQUEST.get('topic_name')

    result = []

    topics = TopicBase().get_topics_by_name(topic_name)

    if topics:
        for x in topics:
            result.append([x.id, x.name, None, x.name])

    return HttpResponse(json.dumps(result), mimetype='application/json')
Esempio n. 6
0
def search(request):
    topic_name = request.POST.get('topic_name')
    page_index = int(request.POST.get('page_index', 1))

    data = []

    if topic_name:
        objs = TopicBase().get_topic_by_name(topic_name)
        objs = [objs] if objs else []
    else:
        objs = TopicBase().get_all_topics()

    page_objs = page.Cpt(objs, count=10, page=page_index).info

    num = 10 * (page_index - 1)
    data = format_topic(page_objs[0], num)

    return HttpResponse(
        json.dumps({'data': data, 'page_count': page_objs[4], 'total_count': page_objs[5]}),
        mimetype='application/json'
    )
Esempio n. 7
0
def add_topic(request):
    name = request.REQUEST.get('name')
    domain = request.REQUEST.get('domain')
    des = request.REQUEST.get('des')
    state = request.REQUEST.get('state')
    sort = request.REQUEST.get('sort')
    parent_topic_id = request.REQUEST.get('parent_id')

    tb = TopicBase()
    img_name = ''

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = tb.create_topic(name, domain, parent_topic_id, img_name, des)

    if flag == 0:
        url = "/admin/topic?#modify/%s" % (msg)
    else:
        url = "/admin/topic?%s" % (msg)

    return HttpResponseRedirect(url)
Esempio n. 8
0
def get_sitemap_url():
    from www.question.interface import TopicBase
    from www.question.models import Question
    from www.stock.models import StockFeed, Stock
    from www.toutiao.models import Article

    data = []
    for question in Question.objects.filter(state=True).order_by('-id'):
        data.append([
            u'%s/question/%s' % (settings.MAIN_DOMAIN, question.id),
            question.last_answer_time
        ])

    for topic in TopicBase().get_all_topics_for_show():
        data.append([
            u'%s/topic/%s' % (settings.MAIN_DOMAIN, topic.domain),
            datetime.datetime.now().strftime('%Y-%m-%d')
        ])

    for stock in Stock.objects.filter(state=True).order_by("-id"):
        data.append([
            u'%s%s' % (settings.MAIN_DOMAIN, stock.get_url()),
            datetime.datetime.now().strftime('%Y-%m-%d')
        ])

    for stock_feed in StockFeed.objects.filter(
            state=True).order_by("-create_time")[:2000]:
        data.append([
            u'%s%s' % (settings.MAIN_DOMAIN, stock_feed.get_url()),
            stock_feed.create_time.strftime('%Y-%m-%d')
        ])

    for article in Article.objects.filter(state=True).order_by("-id")[:2000]:
        data.append([
            u'%s%s' % (settings.MAIN_DOMAIN, article.get_url()),
            article.create_time.strftime('%Y-%m-%d')
        ])

    return data
Esempio n. 9
0
# -*- coding: utf-8 -*-

import sys
import os

# 引入父目录来引入其他模块
SITE_ROOT = os.path.dirname(os.path.abspath(__file__))
sys.path.extend([
    os.path.abspath(os.path.join(SITE_ROOT, '../')),
    os.path.abspath(os.path.join(SITE_ROOT, '../../')),
])
os.environ['DJANGO_SETTINGS_MODULE'] = 'www.settings'

from www.question.models import Question, QuestionType, Tag, TagQuestion, Topic, TopicQuestion
from www.question.interface import TopicBase
tb = TopicBase()


def init_question_type():

    if not Topic.objects.filter(domain='root'):
        root = Topic.objects.create(name=u"全部",
                                    domain="root",
                                    des="根话题",
                                    level=0)

    for qt in QuestionType.objects.all():
        if not Topic.objects.filter(domain=qt.domain):
            Topic.objects.create(name=qt.name,
                                 domain=qt.domain,
                                 parent_topic=root,
Esempio n. 10
0
# -*- coding: utf-8 -*-


import sys
import os

# 引入父目录来引入其他模块
SITE_ROOT = os.path.dirname(os.path.abspath(__file__))
sys.path.extend([os.path.abspath(os.path.join(SITE_ROOT, '../')),
                 os.path.abspath(os.path.join(SITE_ROOT, '../../')),
                 ])
os.environ['DJANGO_SETTINGS_MODULE'] = 'www.settings'

from www.question.models import Question, QuestionType, Tag, TagQuestion, Topic, TopicQuestion
from www.question.interface import TopicBase
tb = TopicBase()


def init_question_type():

    if not Topic.objects.filter(domain='root'):
        root = Topic.objects.create(name=u"全部", domain="root", des="根话题", level=0)

    for qt in QuestionType.objects.all():
        if not Topic.objects.filter(domain=qt.domain):
            Topic.objects.create(name=qt.name, domain=qt.domain, parent_topic=root, level=tb.get_topic_level_by_parent(root))

    for tag in Tag.objects.select_related('question_type').all():
        if not Topic.objects.filter(domain=tag.domain):
            parent_topic = Topic.objects.get(domain=tag.question_type.domain)
            state = 2 if tag.domain in ('gpzh', 'qhzh', 'lczx') else 1