Move parse_repository_name into decorators

This commit is contained in:
Joseph Schorr 2017-07-20 11:31:22 -04:00
parent a64f268344
commit 98e2ccf74d
10 changed files with 40 additions and 49 deletions

View file

@ -1,14 +1,9 @@
import logging
import json
import string
import datetime
import os
import re
from random import SystemRandom
from functools import wraps
from cachetools import lru_cache
from flask import make_response, render_template, request, abort, session
from flask_login import login_user
from flask_principal import identity_changed
@ -21,11 +16,10 @@ from auth import scopes
from auth.permissions import QuayDeferredPermissionUser
from config import frontend_visible_config
from external_libraries import get_external_javascript, get_external_css
from util.names import parse_namespace_repository
from util.secscan import PRIORITY_LEVELS
from util.saas.useranalytics import build_error_callback
from util.timedeltastring import convert_to_timedelta
from _init import STATIC_DIR, __version__
from _init import __version__
logger = logging.getLogger(__name__)
@ -33,28 +27,6 @@ logger = logging.getLogger(__name__)
route_data = None
def parse_repository_name(include_tag=False,
ns_kwarg_name='namespace_name',
repo_kwarg_name='repo_name',
tag_kwarg_name='tag_name',
incoming_repo_kwarg='repository'):
def inner(func):
@wraps(func)
def wrapper(*args, **kwargs):
repo_name_components = parse_namespace_repository(kwargs[incoming_repo_kwarg],
app.config['LIBRARY_NAMESPACE'],
include_tag=include_tag)
del kwargs[incoming_repo_kwarg]
kwargs[ns_kwarg_name] = repo_name_components[0]
kwargs[repo_kwarg_name] = repo_name_components[1]
if include_tag:
kwargs[tag_kwarg_name] = repo_name_components[2]
return func(*args, **kwargs)
return wrapper
return inner
def truthy_param(param):
return param not in {False, 'false', 'False', '0', 'FALSE', '', 'null'}
@ -99,8 +71,8 @@ def common_login(db_user, permanent_session=True):
return False
def list_files(path, extension):
import os
def _list_files(path, extension):
""" Returns a list of all the files with the given extension found under the given path. """
def matches(f):
return os.path.splitext(f)[1] == '.' + extension and f.split(os.path.extsep)[1] != 'spec'
@ -118,7 +90,7 @@ def render_page_template(name, route_data=None, **kwargs):
library_styles = []
main_styles = []
library_scripts = []
main_scripts = list_files('build', 'js')
main_scripts = _list_files('build', 'js')
use_cdn = app.config.get('USE_CDN', True)
if request.args.get('use_cdn') is not None: