Beispiel #1
0
def get_url_with_resource(request):
    api_root_dict = OrderedDict()
    viewsets = {}
    ret = OrderedDict()
    list_name = router.routes[0].name
    for prefix, viewset, basename in router.registry:
        api_root_dict[prefix] = list_name.format(basename=basename)
        viewsets[prefix] = viewset
    sorted_api_root_dict = OrderedDict(sorted(api_root_dict.items()))
    for key, url_name in sorted_api_root_dict.items():
        name = URL_ARG_RE.sub(r'{\1}', key)
        ret[name] = None
        urlargs = [_get_arg_value(arg[0]) for arg in URL_ARG_RE.findall(key)]
        for getter in [_get_list_url, _get_nested_list_url, _get_detail_url]:
            try:
                if getter == _get_list_url:
                    ret[name] = urldecode(
                        getter(url_name, viewsets[key], request))
                else:
                    ret[name] = urldecode(
                        getter(url_name, viewsets[key], request, urlargs))
                break
            except NoReverseMatch:
                continue
    return ret
 def get_rpm_mapping_template(self, obj):
     """url"""
     return urldecode(reverse(
         'composerpmmapping-detail',
         args=[obj.compose_id, '{{package}}'],
         request=self.context['request']
     ))
Beispiel #3
0
 def get_rpm_mapping_template(self, obj):
     """url"""
     return urldecode(reverse(
         'composerpmmapping-detail',
         args=[obj.compose_id, '{{package}}'],
         request=self.context['request']
     ))
def get_url_with_resource(request):
    api_root_dict = OrderedDict()
    viewsets = {}
    ret = OrderedDict()
    list_name = router.routes[0].name
    for prefix, viewset, basename in router.registry:
        api_root_dict[prefix] = list_name.format(basename=basename)
        viewsets[prefix] = viewset
    sorted_api_root_dict = OrderedDict(sorted(api_root_dict.items()))
    for key, url_name in sorted_api_root_dict.items():
        name = URL_ARG_RE.sub(r'{\1}', key)
        ret[name] = None
        urlargs = [_get_arg_value(arg[0]) for arg in URL_ARG_RE.findall(key)]
        for getter in [_get_list_url, _get_nested_list_url, _get_detail_url]:
            try:
                if getter == _get_list_url:
                    ret[name] = urldecode(getter(url_name, viewsets[key], request))
                else:
                    ret[name] = urldecode(getter(url_name, viewsets[key], request, urlargs))
                break
            except NoReverseMatch:
                continue
    return ret
 def replace_url(match):
     type = match.groupdict()['type']
     parts = match.groupdict()['details'].split(':')
     url_name = parts[0]
     args = parts[1:]
     if type == 'LINK':
         args = ['{%s}' % arg for arg in args]
     try:
         if type == 'LINK':
             url = reverse(url_name, args=args)
             return '[`%s`](%s)' % (urldecode(url), url)
         return reverse(url_name, args=args, request=self.request)
     except NoReverseMatch:
         logger = logging.getLogger(__name__)
         logger.error('Bad URL specifier <%s> in %s.%s'
                      % (match.group(0), view.__class__.__name__, method),
                      exc_info=sys.exc_info())
         return 'BAD URL'
 def replace_url(match):
     type = match.groupdict()['type']
     parts = match.groupdict()['details'].split(':')
     url_name = parts[0]
     args = parts[1:]
     if type == 'LINK':
         args = ['{%s}' % arg for arg in args]
     try:
         if type == 'LINK':
             url = reverse(url_name, args=args)
             return '[`%s`](%s)' % (urldecode(url), url)
         return reverse(url_name, args=args, request=self.request)
     except NoReverseMatch:
         logger = logging.getLogger(__name__)
         logger.error('Bad URL specifier <%s> in %s.%s'
                      % (match.group(0), view.__class__.__name__, method),
                      exc_info=sys.exc_info())
         return 'BAD URL'
 def get_rpm_mapping_template(self, obj):
     """url"""
     return urldecode(
         reverse("composerpmmapping-detail", args=[obj.compose_id, "{{package}}"], request=self.context["request"])
     )