コード例 #1
0
ファイル: webserver.py プロジェクト: junzis/aircraft-db
def index():
    if request.method == "POST":
        q = request.form['q']
        return redirect(url_for('index', q=q))

    # GET Method
    q = request.args.get('q', '').lower()
    if not q:
        return page('index.html')

    results = list(mCollAC.find({'icao': q}))

    return page('results.html', results=results,
                total_count=len(results), n=0, q=q, p=0)
コード例 #2
0
ファイル: webserver.py プロジェクト: junzis/aircraft-db
def search():
    if request.method == "POST":
        n = request.form['n']
        q = request.form['q']
        return redirect(url_for('search', n=n, q=q))

    # GET request
    n = request.args.get('n', '')
    n = " ".join(re.findall("[a-zA-Z]+", n))    # security, only letters
    q = request.args.get('q', '')
    p = request.args.get('p', '')
    try:
        p = int(p)
        if p < 0:
            p = 0
    except:
        p = 0
        pass

    if n in ['regid', 'icao', 'mdl']:
        q = q.lower()

    if not q or not n:
        return redirect(url_for('index'))

    # Now, let's query
    total_count = mCollAC.find({n: {'$regex': q}}).count()

    results = list(mCollAC.find({n: {'$regex': q}}).skip(p*100).limit(100))

    return page('results.html', results=results,
                total_count=total_count, n=n, q=q, p=p)
コード例 #3
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def index():
    if request.method == "POST":
        q = request.form['q']
        return redirect(url_for('index', q=q))

    # GET Method
    q = request.args.get('q', '').lower()
    if not q:
        return page('index.html')

    results = list(mCollAC.find({'icao': q}))

    return page('results.html',
                results=results,
                total_count=len(results),
                n=0,
                q=q,
                p=0)
コード例 #4
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def search():
    if request.method == "POST":
        n = request.form['n']
        q = request.form['q']
        return redirect(url_for('search', n=n, q=q))

    # GET request
    n = request.args.get('n', '')
    n = " ".join(re.findall("[a-zA-Z]+", n))  # security, only letters
    q = request.args.get('q', '')
    p = request.args.get('p', '')
    try:
        p = int(p)
        if p < 0:
            p = 0
    except:
        p = 0
        pass

    if n in ['regid', 'icao', 'mdl']:
        q = q.lower()

    if not q or not n:
        return redirect(url_for('index'))

    # Now, let's query
    total_count = mCollAC.find({n: {'$regex': q}}).count()

    results = list(mCollAC.find({n: {'$regex': q}}).skip(p * 100).limit(100))

    return page('results.html',
                results=results,
                total_count=total_count,
                n=n,
                q=q,
                p=p)
コード例 #5
0
ファイル: webserver.py プロジェクト: junzis/aircraft-db
def rand():
    count = mCollAC.find().count()
    r = random.randint(1, count)
    results = list(mCollAC.find().skip(r).limit(30))
    return page('results.html', results=results, total_count=30, p=0)
コード例 #6
0
ファイル: webserver.py プロジェクト: junzis/aircraft-db
def internal_error(e):
    return page('500.html', e=e), 500
コード例 #7
0
ファイル: webserver.py プロジェクト: junzis/aircraft-db
def page_not_found(e):
    return page('404.html'), 404
コード例 #8
0
ファイル: webserver.py プロジェクト: junzis/aircraft-db
def stats():
    data1, data2 = statistics.treemaps()
    return page('stats.html', data1=json.dumps(data1), data2=json.dumps(data2))
コード例 #9
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def internal_error(e):
    return page('500.html', e=e), 500
コード例 #10
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def page_not_found(e):
    return page('404.html'), 404
コード例 #11
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def stats():
    data1, data2 = statistics.treemaps()
    return page('stats.html', data1=json.dumps(data1), data2=json.dumps(data2))
コード例 #12
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def data():
    return page('data.html')
コード例 #13
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def newest():
    results = list(mCollAC.find().sort('ts', -1).limit(30))
    return page('results.html', results=results, total_count=30, p=0)
コード例 #14
0
ファイル: webserver.py プロジェクト: yzyGavin/aircraft-db
def rand():
    count = mCollAC.find().count()
    r = random.randint(1, count)
    results = list(mCollAC.find().skip(r).limit(30))
    return page('results.html', results=results, total_count=30, p=0)