示例#1
0
def export():
    provider = Provider()
    search = provider.search()
    logs = provider.dns_logs()
    users = provider.users()

    # Prepare names and variables.
    filename = str(int(time.time())) + '.csv'
    download_filename = "snitch_logs_" + filename
    save_results_as = users.get_user_data_path(current_user.id,
                                               filename=filename)

    # Perform the search.
    results = search.search_from_request(request, paginate=False, method='get')
    rows = results['results']

    # Export to disk.
    if not logs.save_results_csv(rows, save_results_as, overwrite=True):
        flash('Could not generate CSV file.', 'error')
        return redirect(url_for('logs.index'))

    # And download.
    return send_file(save_results_as,
                     attachment_filename=download_filename,
                     as_attachment=True)
示例#2
0
文件: home.py 项目: ziqi521/SnitchDNS
def index():
    # This function deliberately doesn't have a @login_required parameter because we want to run a check for a
    # 'first-visit' type scenario, in order to create the administrator.

    provider = Provider()
    zones = provider.dns_zones()
    users = provider.users()
    if users.count() == 0:
        # Looks like we need to setup the administrator.
        return redirect(url_for('install.index'))

    if not current_user.is_authenticated:
        return redirect(url_for('auth.login'))

    search = provider.search()
    results = search.search_from_request(request)

    aliases = provider.aliases()

    return render_template(
        'home/index.html',
        results=results['results'],
        params=results['params'],
        page_url='home.index',
        zone_count=zones.count(user_id=current_user.id),
        aliases=aliases.get_dict(
            None if current_user.admin else current_user.id))
示例#3
0
def index():
    provider = Provider()
    search = provider.search()
    aliases = provider.aliases()

    results = search.search_from_request(request)
    advanced = int(request.args.get('advanced', 0)) == 1

    return render_template(
        'logs/index.html',
        results=results['results'],
        params=results['params'],
        filters=results['filters'],
        page_url='logs.index',
        advanced=advanced,
        aliases=aliases.get_dict(
            None if current_user.admin else current_user.id))