[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2023-07-11 20:00:17 +00:00 committed by Emil Stenström
parent 825b0cbbaa
commit deb17c6c70

View file

@ -1,26 +1,33 @@
from django.core.management.base import BaseCommand, CommandError
from django.conf import settings
import os
from django.conf import settings
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
help = 'Creates a new component'
help = "Creates a new component"
def add_arguments(self, parser):
parser.add_argument('name', type=str, help='The name of the component to create')
parser.add_argument(
"name", type=str, help="The name of the component to create"
)
def handle(self, *args, **kwargs):
name = kwargs['name']
name = kwargs["name"]
base_dir = settings.BASE_DIR
components_path = os.path.join(base_dir, f'components/{name}')
components_path = os.path.join(base_dir, f"components/{name}")
if os.path.exists(components_path): # If component directory already exists
raise CommandError(f'The component "{name}" already exists at {components_path}.')
if os.path.exists(
components_path
): # If component directory already exists
raise CommandError(
f'The component "{name}" already exists at {components_path}.'
)
os.makedirs(components_path)
with open(components_path + '/index.js', 'w') as f:
with open(components_path + "/index.js", "w") as f:
script_content = f"""
window.addEventListener('load', (event) => {{
console.log("{name} component is fully loaded");
@ -28,7 +35,7 @@ window.addEventListener('load', (event) => {{
"""
f.write(script_content.strip())
with open(components_path + '/style.css', 'w') as f:
with open(components_path + "/style.css", "w") as f:
style_content = f"""
.component-{name} {{
background: red;
@ -36,7 +43,7 @@ window.addEventListener('load', (event) => {{
"""
f.write(style_content.strip())
with open(components_path + '/template.html', 'w') as f:
with open(components_path + "/template.html", "w") as f:
template_content = f"""
<div class="component-{name}">
Hello from {name} component!
@ -44,7 +51,7 @@ window.addEventListener('load', (event) => {{
"""
f.write(template_content.strip())
with open(components_path + f'/{name}.py', 'w') as f:
with open(components_path + f"/{name}.py", "w") as f:
py_content = f"""
# In a file called [project root]/components/{name}/{name}.py
from django_components import component
@ -67,4 +74,8 @@ class {name.capitalize()}(component.Component):
"""
f.write(py_content.strip())
self.stdout.write(self.style.SUCCESS(f'Successfully created {name} component at {components_path}'))
self.stdout.write(
self.style.SUCCESS(
f"Successfully created {name} component at {components_path}"
)
)