Skip to content
Snippets Groups Projects
Commit c80d7db2 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Fix conversion of props and excessive curly braces

parent 2e85e9e7
No related branches found
No related tags found
1 merge request!1143Resolve "Fix/improve route generation management command"
Pipeline #108633 failed
from re import sub
from re import match, sub
from django.apps import apps
from django.core.management.base import BaseCommand, CommandError
......@@ -48,12 +48,19 @@ class Command(BaseCommand):
menu = menu_by_urls[url.name] if url.name in menu_by_urls else None
route_name = f"{app_camel_case}.{camelcase(url.name)}"
url_pattern = url.pattern._route
url_pattern = sub(r"<(?P<val>\w+)>", r":\g<val>", url_pattern)
new_url_pattern_list = []
for url_pattern_part in url_pattern.split("/"):
if match(r"<[\w,:,*]*>", url_pattern_part):
url_pattern_part = sub(r"(<(?P<val>[\w,:,*]*)>)", r":\g<val>", url_pattern_part)
new_url_pattern_list.append(":" + url_pattern_part.split(":")[-1])
else:
new_url_pattern_list.append(url_pattern_part)
url_pattern = "/".join(new_url_pattern_list)
# Start building route
route = "{\n"
route += f' path: "{url_pattern}",\n'
route += ' component: () => import("./components/LegacyBaseTemplate.vue"),\n'
route += ' component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),\n'
route += f' name: "{route_name}",\n'
if menu:
......@@ -80,14 +87,14 @@ class Command(BaseCommand):
if possible_validators:
permission = possible_validators[0][1]
route += " meta: {{\n"
route += " meta: {\n"
route += " inMenu: true,\n"
route += f' titleKey: "{menu["name"]}", // Needs manual work\n'
if icon:
route += f' icon: "{icon}",\n'
if permission:
route += f' permission: "{permission}",\n'
route += " }},\n"
route += " },\n"
route += "},"
print(route)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment