1
0
mirror of https://github.com/quay/quay.git synced 2026-01-26 06:21:37 +03:00
Files
quay/path_converters.py
2020-02-05 19:55:07 -08:00

45 lines
1.1 KiB
Python

from werkzeug.routing import BaseConverter
import features
class APIRepositoryPathConverter(BaseConverter):
"""
Converter for handling repository paths.
Does not handle library paths.
"""
def __init__(self, url_map):
super(APIRepositoryPathConverter, self).__init__(url_map)
self.weight = 200
self.regex = r"([^/]+/[^/]+)"
class RepositoryPathConverter(BaseConverter):
"""
Converter for handling repository paths.
Handles both library and non-library paths (if configured).
"""
def __init__(self, url_map):
super(RepositoryPathConverter, self).__init__(url_map)
self.weight = 200
if features.LIBRARY_SUPPORT:
# Allow names without namespaces.
self.regex = r"[^/]+(/[^/]+)?"
else:
self.regex = r"([^/]+/[^/]+)"
class RegexConverter(BaseConverter):
"""
Converter for handling custom regular expression patterns in paths.
"""
def __init__(self, url_map, regex_value):
super(RegexConverter, self).__init__(url_map)
self.regex = regex_value