123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- # *************************************************************************
- # Copyright © 2015 JiangLin. All rights reserved.
- # File Name: sort.py
- # Author:JiangLin
- # Mail:xiyang0807@gmail.com
- # Created Time: 2016-02-14 21:32:42
- # *************************************************************************
- # !/usr/bin/env python
- # -*- coding=UTF-8 -*-
- from flask import request
- from maple.question.models import Questions,Tags
- from maple.group.models import Group
- from maple.board.models import Board_F, Board_S
- from datetime import datetime, timedelta
- def form_judge(form):
- '''
- 0: all topic
- 1: one day
- 2: one week
- 3: one month
- 0: time
- 1: author
- 0: desc
- 1: asc
- '''
- t1 = form.display.data
- t2 = form.sort.data
- t3 = form.st.data
- data = form_sort(t1, t2, t3)
- return data
- def form_sort(t1, t2, t3):
- url = request.args.get('by')
- uid = request.args.get('uid')
- if t1 == 0:
- time = datetime.now() - timedelta(days=365)
- elif t1 == 1:
- time = datetime.now() - timedelta(days=1)
- elif t1 == 2:
- time = datetime.now() - timedelta(days=7)
- else:
- time = datetime.now() - timedelta(days=30)
- # 发表时间
- if t2 == 0:
- if t3 == 0:
- if url == 'board_f':
- data = Board_F.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.kind ==
- data.enname_f).order_by(Questions.time.desc()).all()
- elif url == 'board_s':
- data = Board_S.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.board_id ==
- data.id).order_by(Questions.time.desc()).all()
- elif url == 'tags':
- data = Questions.query.join(Questions.tags).filter(
- Questions.time > time, Tags.name==
- uid).order_by(Questions.time.desc()).all()
- elif url == 'group':
- data = Group.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.group_id ==
- data.id).order_by(Questions.time.desc()).all()
- else:
- data = None
- return data
- else:
- if url == 'board_f':
- data = Board_F.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.kind ==
- data.enname_f).order_by(Questions.time).all()
- elif url == 'board_s':
- data = Board_S.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.board_id ==
- data.id).order_by(Questions.time).all()
- elif url == 'tags':
- data = Questions.query.join(Questions.tags).filter(
- Questions.time > time, Tags.name==
- uid).order_by(Questions.time).all()
- elif url == 'group':
- data = Group.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.group_id ==
- data.id).order_by(Questions.time).all()
- else:
- data = None
- return data
- # 作者
- else:
- if t3 == 0:
- if url == 'board_f':
- data = Board_F.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.kind ==
- data.enname_f).order_by(Questions.author_id.desc()).all()
- elif url == 'board_s':
- data = Board_S.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.board_id ==
- data.id).order_by(Questions.author_id.desc()).all()
- elif url == 'tags':
- data = Questions.query.join(Questions.tags).filter(
- Questions.time > time, Tags.name==
- uid).order_by(Questions.author_id.desc()).all()
- elif url == 'group':
- data = Group.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.group_id ==
- data.id).order_by(Questions.author_id.desc()).all()
- else:
- data = None
- return data
- else:
- if url == 'board_f':
- data = Board_F.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.kind ==
- data.enname_f).order_by(Questions.author_id).all()
- elif url == 'board_s':
- data = Board_S.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.board_id ==
- data.id).order_by(Questions.author_id).all()
- elif url == 'tags':
- data = Questions.query.join(Questions.tags).filter(
- Questions.time > time, Tags.name==
- uid).order_by(Questions.author_id).all()
- elif url == 'group':
- data = Group.load_by_id(uid)
- data = Questions.query.filter(
- Questions.time > time, Questions.group_id ==
- data.id).order_by(Questions.author_id).all()
- else:
- data = None
- return data
|