Beispiel #1
0
def submit_archive():
    form = ArchiveSubmit()
    if form.validate_on_submit():
        process_submission(form)
        return redirect(url_for('ui.index'))
    elif request.method == 'POST':
        flash_errors(form)
    return render_template(
        'submit_archive.html', form=form, groups=SUBMISSION_GROUPS.keys())
Beispiel #2
0
def update_front_page_stats():
    stats = {}
    stats['hashes'] = Hash.objects(status='RELEASED').only('group')
    stats['submitted'] = Submission.objects(
        approval='REQUESTED').only('group')
    stats['pending'] = Submission.objects(
        approval='PENDING_APPROVAL').only('group')

    # Generate counts for objects and for each format
    # data will contain hashes, hashes_jars, hashes_eggs etc.
    groups = SUBMISSION_GROUPS.keys()
    groups.sort()
    data = {'groups': groups, 'stats': {}}
    for group in groups:
        stat = {}
        for key in stats:
            if group == 'all':
                stat[key] = len(stats[key])
            else:
                stat[key] = len(stats[key].filter(group=group))
        data['stats'][group] = stat
    _CONFIG.front_page_stats = data
Beispiel #3
0
def group_choices():
    choices = []
    for group in SUBMISSION_GROUPS.keys():
        choices.append((group, group))
    return choices
Beispiel #4
0
    Return the status of the service.
    """
    data = json.dumps({
        'eol': EOL,
        'supported': True,
        'version': '2',
        'recommended': True,
        'endpoint': '/service/v2/'
    })

    return make_response(data)


# Routing Regexes
_SINCE_REGEX = '<regex("[0-9\-]{8,}T[0-9:]{8}"):since>'
_GROUP_REGEX = '<regex("%s"):group>' % ('|'.join(SUBMISSION_GROUPS.keys()))
_START_DATE = '1970-01-01T00:00:00'


@v2.route('/update/%s/' % (_GROUP_REGEX), defaults={'since': _START_DATE})
@v2.route('/update/%s/' % (_SINCE_REGEX), defaults={'group': DEFAULT_GROUP})
@v2.route('/update/%s/<since>/' % (_GROUP_REGEX), methods=['GET'])
def update(group, since):
    """
    Returns all items updated  past a specific date in utc.

    :Parameters:
       - `since`: a specific date in utc
       - `group`: group to limit items to
    """
    try: