componentsDjangoType 2.0.4__tar.gz → 2.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (16) hide show
  1. {componentsdjangotype-2.0.4/componentsDjangoType.egg-info → componentsdjangotype-2.0.6}/PKG-INFO +2 -2
  2. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/README.md +1 -1
  3. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType/management/commands/createApp.py +9 -152
  4. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6/componentsDjangoType.egg-info}/PKG-INFO +2 -2
  5. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/setup.py +1 -1
  6. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/LICENSE +0 -0
  7. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/MANIFEST.in +0 -0
  8. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType/__init__.py +0 -0
  9. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType/management/__init__.py +0 -0
  10. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType/management/commands/__init__.py +0 -0
  11. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType/management/commands/createcomponent.py +0 -0
  12. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType.egg-info/SOURCES.txt +0 -0
  13. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType.egg-info/dependency_links.txt +0 -0
  14. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType.egg-info/requires.txt +0 -0
  15. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/componentsDjangoType.egg-info/top_level.txt +0 -0
  16. {componentsdjangotype-2.0.4 → componentsdjangotype-2.0.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: componentsDjangoType
3
- Version: 2.0.4
3
+ Version: 2.0.6
4
4
  Summary: Comandos para crear archivos html, css y js
5
5
  Home-page: https://github.com/jose-CR/componentsDjangoType
6
6
  Author: Alejandro
@@ -41,7 +41,7 @@ Este comando de Django te permite crear un componente HTML dentro del directorio
41
41
 
42
42
  ### comando para hacer archivos html css y js
43
43
 
44
- 1. Ejecuta el comando en tu terminal: `python manage.py createcomponent <nombre_de_aplicación> <carpeta/archivo> --type=<template|static>`
44
+ 1. Ejecuta el comando en tu terminal: `python manage.py myapp createcomponent <carpeta/archivo> --type=<template|static>`
45
45
  2. Reemplaza `<nombre_de_aplicación>`con el nombre de la aplicación donde deseas crear el componente.
46
46
  3. Reemplaza `<ruta_del_archivo>` con la ruta donde deseas crear el componente dentro del directorio templates o static de la aplicación.
47
47
  4. La bandera `--type` especifica si deseas crear un componente en el directorio templates o static. Por defecto, se establece en template.
@@ -20,7 +20,7 @@ Este comando de Django te permite crear un componente HTML dentro del directorio
20
20
 
21
21
  ### comando para hacer archivos html css y js
22
22
 
23
- 1. Ejecuta el comando en tu terminal: `python manage.py createcomponent <nombre_de_aplicación> <carpeta/archivo> --type=<template|static>`
23
+ 1. Ejecuta el comando en tu terminal: `python manage.py myapp createcomponent <carpeta/archivo> --type=<template|static>`
24
24
  2. Reemplaza `<nombre_de_aplicación>`con el nombre de la aplicación donde deseas crear el componente.
25
25
  3. Reemplaza `<ruta_del_archivo>` con la ruta donde deseas crear el componente dentro del directorio templates o static de la aplicación.
26
26
  4. La bandera `--type` especifica si deseas crear un componente en el directorio templates o static. Por defecto, se establece en template.
@@ -1,8 +1,7 @@
1
- # componentsDjangoType/management/commands/createcomponentApp.py
2
1
  import os
3
2
  from django.core.management.base import BaseCommand
4
3
  from django.core.management import call_command
5
-
4
+ from services.authenticator_configurator import DjangoProjectManager
6
5
 
7
6
  class Command(BaseCommand):
8
7
  help = 'Crea una aplicación llamada Home, estructura de carpetas y configura urls automáticamente en el proyecto especificado'
@@ -23,162 +22,20 @@ class Command(BaseCommand):
23
22
  # Paso 1: Solicitar el nombre de la aplicación principal al usuario
24
23
  project_name = input(
25
24
  "Por favor, ingresa el nombre de la aplicación principal del proyecto: ")
25
+
26
+ creation = DjangoProjectManager(app_name=app_name, project_name=project_name)
26
27
 
27
28
  # Paso 2: Crear la aplicación "Home" si no existe
28
- if not os.path.exists(app_name):
29
- self.stdout.write(f"Creando la aplicación '{app_name}'...")
30
- call_command('startapp', app_name)
31
- if os.path.exists(app_name):
32
- self.stdout.write(f"La aplicación '{
33
- app_name}' fue creada exitosamente.")
34
- else:
35
- self.stdout.write(
36
- f"Error: No se pudo crear la aplicación '{app_name}'.")
37
- else:
38
- self.stdout.write(f"La aplicación '{app_name}' ya existe.")
29
+ creation.app_name()
39
30
 
40
31
  # Agregar automáticamente 'Home' a INSTALLED_APPS
41
- settings_path = os.path.join(project_name, 'settings.py')
42
-
43
- with open(settings_path, 'r') as file:
44
- settings_content = file.read()
45
-
46
- if f"'{app_name}'" not in settings_content:
47
- with open(settings_path, 'a') as file:
48
- file.write(f"\nINSTALLED_APPS.append('{app_name}')\n")
49
- self.stdout.write(f"'{app_name}' fue agregado a INSTALLED_APPS.")
50
- else:
51
- self.stdout.write(f"'{app_name}' ya está en INSTALLED_APPS.")
32
+ creation.installed_app()
52
33
 
53
34
  # Paso 3: Crear el archivo urls.py en la aplicación "Home" si no existe
54
- urls_path = os.path.join(app_name, 'urls.py')
55
- if not os.path.exists(urls_path):
56
- self.stdout.write(f"Creando el archivo '{urls_path}'...")
57
- with open(urls_path, 'w') as f:
58
- f.write(
59
- "from django.urls import path\n\n"
60
- "urlpatterns = [\n"
61
- " # Añade tus rutas aquí\n"
62
- "]\n"
63
- )
64
- else:
65
- self.stdout.write(f"El archivo '{urls_path}' ya existe.")
66
-
67
- # Paso 4: Modificar el archivo urls.py principal del proyecto
68
- project_urls_path = os.path.join(project_name, 'urls.py')
69
- if os.path.exists(project_urls_path):
70
- with open(project_urls_path, 'r') as f:
71
- content = f.read()
72
-
73
- include_statement = "path('', include('Home.urls'))"
74
- if include_statement not in content:
75
- self.stdout.write(f"Añadiendo la ruta '{
76
- include_statement}' al archivo urls.py principal...")
77
- with open(project_urls_path, 'a') as f:
78
- f.write(
79
- "\nfrom django.urls import include, path\n\n"
80
- "urlpatterns += [\n"
81
- f" {include_statement},\n"
82
- "]\n"
83
- )
84
- else:
85
- self.stdout.write(
86
- "La ruta ya existe en el archivo urls.py principal.")
87
- else:
88
- self.stdout.write(f"No se encontró el archivo principal urls.py en '{
89
- project_urls_path}'. Asegúrate de que el nombre del proyecto sea correcto.")
90
-
91
- # Paso 5: Crear la carpeta services y el archivo authentication.py en Home
92
- services_dir = os.path.join(app_name, 'services')
93
- # Crea la carpeta si no existe
94
- os.makedirs(services_dir, exist_ok=True)
95
- authentication_file_path = os.path.join(
96
- services_dir, 'authentication.py')
97
-
98
- if not os.path.exists(authentication_file_path):
99
- self.stdout.write(f"Creando el archivo '{
100
- authentication_file_path}'...")
101
- with open(authentication_file_path, 'w') as f:
102
- f.write(
103
- "from django.shortcuts import render, redirect\n"
104
- "from django.contrib.auth.forms import UserCreationForm, AuthenticationForm\n"
105
- "from django.contrib.auth.models import User\n"
106
- "from django.contrib.auth import login, logout, authenticate\n"
107
- "from django.db import IntegrityError\n\n\n"
108
- "class Authentication:\n"
109
- " @staticmethod\n"
110
- " def get_signup(request):\n"
111
- " if request.method == 'GET':\n"
112
- " return render(request, 'signup.html', {\n"
113
- " 'form': UserCreationForm()\n"
114
- " })\n"
115
- " elif request.method == 'POST':\n"
116
- " if request.POST['password1'] == request.POST['password2']:\n"
117
- " try:\n"
118
- " # Register user\n"
119
- " user = User.objects.create_user(\n"
120
- " username=request.POST['username'], password=request.POST['password2'])\n"
121
- " user.save()\n"
122
- " login(request, user)\n"
123
- " return redirect('logged')\n"
124
- " except IntegrityError:\n"
125
- " return render(request, 'signup.html', {\n"
126
- " 'form': UserCreationForm(),\n"
127
- " 'error': 'User already exists'\n"
128
- " })\n"
129
- " return render(request, 'signup.html', {\n"
130
- " 'form': UserCreationForm(),\n"
131
- " 'error': 'Passwords do not match'\n"
132
- " })\n\n"
133
- " @staticmethod\n"
134
- " def get_signout(request):\n"
135
- " logout(request)\n"
136
- " return redirect('home')\n\n"
137
- " @staticmethod\n"
138
- " def get_signing(request):\n"
139
- " if request.method == 'GET':\n"
140
- " return render(request, 'login.html', {\n"
141
- " 'form': AuthenticationForm,\n"
142
- " })\n"
143
- " elif request.method == 'POST':\n"
144
- " try:\n"
145
- " User.objects.get(username=request.POST['username'])\n"
146
- " except User.DoesNotExist:\n"
147
- " return render(request, 'login.html', {\n"
148
- " 'form': AuthenticationForm,\n"
149
- " 'error': 'User does not exist in the database'\n"
150
- " })\n"
151
- " user = authenticate(\n"
152
- " request, username=request.POST['username'], password=request.POST['password'])\n"
153
- " if user is None:\n"
154
- " return render(request, 'login.html', {\n"
155
- " 'form': AuthenticationForm,\n"
156
- " 'error': 'username or password is incorrect'\n"
157
- " })\n"
158
- " else:\n"
159
- " login(request, user)\n"
160
- " return redirect('logged')\n\n"
161
- " @staticmethod\n"
162
- " def get_logged(request):\n"
163
- " return render(request, 'logged.html')\n\n"
164
- " def dispatch(self, request, *args, **kwargs):\n"
165
- " match request.path:\n"
166
- " case \"/signup\":\n"
167
- " return self.get_signup(request)\n"
168
- " case \"/login\":\n"
169
- " return self.get_signing(request)\n"
170
- " case \"/logout\":\n"
171
- " return self.get_signout(request)\n"
172
- " case \"/logged\":\n"
173
- " return self.get_logged(request)\n"
174
- " case \"/\":\n"
175
- " return self.get(request)\n"
176
- " case _:\n"
177
- " return self.get(request)\n"
178
- )
179
- else:
180
- self.stdout.write(
181
- f"El archivo '{authentication_file_path}' ya existe.")
35
+ creation.create_urls()
36
+
37
+ # Paso 4: Crear la carpeta services y el archivo authentication.py en Home
38
+ creation.creation_auth()
182
39
 
183
40
  home_dir = "Home"
184
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: componentsDjangoType
3
- Version: 2.0.4
3
+ Version: 2.0.6
4
4
  Summary: Comandos para crear archivos html, css y js
5
5
  Home-page: https://github.com/jose-CR/componentsDjangoType
6
6
  Author: Alejandro
@@ -41,7 +41,7 @@ Este comando de Django te permite crear un componente HTML dentro del directorio
41
41
 
42
42
  ### comando para hacer archivos html css y js
43
43
 
44
- 1. Ejecuta el comando en tu terminal: `python manage.py createcomponent <nombre_de_aplicación> <carpeta/archivo> --type=<template|static>`
44
+ 1. Ejecuta el comando en tu terminal: `python manage.py myapp createcomponent <carpeta/archivo> --type=<template|static>`
45
45
  2. Reemplaza `<nombre_de_aplicación>`con el nombre de la aplicación donde deseas crear el componente.
46
46
  3. Reemplaza `<ruta_del_archivo>` con la ruta donde deseas crear el componente dentro del directorio templates o static de la aplicación.
47
47
  4. La bandera `--type` especifica si deseas crear un componente en el directorio templates o static. Por defecto, se establece en template.
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='componentsDjangoType',
5
- version='2.0.4',
5
+ version='2.0.6',
6
6
  packages=find_packages(),
7
7
  include_package_data=True,
8
8
  license='MIT',