浏览代码

someone help

Daniel Suazo 4 年前
父节点
当前提交
81271db0a3
共有 39 个文件被更改,包括 12795 次插入14 次删除
  1. 二进制
      server/CompanionApp/__pycache__/matricula.cpython-38.pyc
  2. 二进制
      server/CompanionApp/__pycache__/models.cpython-38.pyc
  3. 二进制
      server/CompanionApp/__pycache__/serializers.cpython-38.pyc
  4. 二进制
      server/CompanionApp/__pycache__/urls.cpython-38.pyc
  5. 二进制
      server/CompanionApp/__pycache__/views.cpython-38.pyc
  6. 33
    0
      server/CompanionApp/matricula.py
  7. 37
    0
      server/CompanionApp/migrations/0005_auto_20201103_1916.py
  8. 39
    0
      server/CompanionApp/migrations/0006_auto_20201104_1251.py
  9. 17
    0
      server/CompanionApp/migrations/0007_remove_proximosemestre_grade.py
  10. 二进制
      server/CompanionApp/migrations/__pycache__/0005_auto_20201103_1916.cpython-38.pyc
  11. 二进制
      server/CompanionApp/migrations/__pycache__/0006_auto_20201104_1251.cpython-38.pyc
  12. 二进制
      server/CompanionApp/migrations/__pycache__/0007_remove_proximosemestre_grade.cpython-38.pyc
  13. 9
    4
      server/CompanionApp/models.py
  14. 15
    1
      server/CompanionApp/serializers.py
  15. 1
    1
      server/CompanionApp/urls.py
  16. 38
    7
      server/CompanionApp/views.py
  17. 4480
    0
      server/Matricula Parse/Admi.json
  18. 573
    0
      server/Matricula Parse/Admi_Grad.json
  19. 1
    0
      server/Matricula Parse/Arqui.json
  20. 1
    0
      server/Matricula Parse/Arqui_Grad.json
  21. 1
    0
      server/Matricula Parse/Asuntos_Aca.json
  22. 1
    0
      server/Matricula Parse/Ciencia_Tech_Info_Grad.json
  23. 1
    0
      server/Matricula Parse/Ciencias_Militares.json
  24. 1
    0
      server/Matricula Parse/Comunicaciones.json
  25. 1
    0
      server/Matricula Parse/Comunicaciones_Grad.json
  26. 1
    0
      server/Matricula Parse/Derecho.json
  27. 1
    0
      server/Matricula Parse/Educacion.json
  28. 1
    0
      server/Matricula Parse/Educacion_Continua.json
  29. 1
    0
      server/Matricula Parse/Educacion_Grad.json
  30. 1
    0
      server/Matricula Parse/Generales.json
  31. 1
    0
      server/Matricula Parse/Humanidades.json
  32. 1
    0
      server/Matricula Parse/Humanidades_Grad.json
  33. 7321
    0
      server/Matricula Parse/Naturales.json
  34. 1
    0
      server/Matricula Parse/Naturales_Grad.json
  35. 1
    0
      server/Matricula Parse/Planificacion.json
  36. 1
    0
      server/Matricula Parse/Sociales.json
  37. 1
    0
      server/Matricula Parse/Sociales_Grad.json
  38. 96
    0
      server/Matricula Parse/parse.py
  39. 118
    1
      server/primer_sem/Admi_Grad.json

二进制
server/CompanionApp/__pycache__/matricula.cpython-38.pyc 查看文件


二进制
server/CompanionApp/__pycache__/models.cpython-38.pyc 查看文件


二进制
server/CompanionApp/__pycache__/serializers.cpython-38.pyc 查看文件


二进制
server/CompanionApp/__pycache__/urls.cpython-38.pyc 查看文件


二进制
server/CompanionApp/__pycache__/views.cpython-38.pyc 查看文件


+ 33
- 0
server/CompanionApp/matricula.py 查看文件

@@ -0,0 +1,33 @@
1
+import os
2
+import sys
3
+import json
4
+
5
+path = "C:/Users/danie/Documents/Projects/Companion App/server/Matricula Parse"
6
+
7
+dirsem = os.listdir(path)
8
+
9
+
10
+def orderFiles(files):
11
+    i = 1
12
+    for file in dirsem:
13
+        if file.endswith('.json'):
14
+            files.append({'file': file, 'num': i})
15
+        i += 1
16
+    return files
17
+
18
+
19
+files = orderFiles([])
20
+
21
+
22
+# for file in files3:
23
+#     check = file['file'].split('.')
24
+#     path = "C:/Users/diego/Documents/companion_app/segundo_sem" if check[0][-1] == '2' else "C:/Users/diego/Documents/companion_app/primer_sem"
25
+#     with open(path + '/' + file['file']) as f:
26
+#         data = json.load(f)
27
+#         fac_id = file['num']
28
+#         for key in data:
29
+#             if key != 'Horario ':
30
+#                 code = key
31
+#                 name = data[key][0]
32
+#                 creds = data[key][1]
33
+#                 print(code, name, creds, fac_id)

+ 37
- 0
server/CompanionApp/migrations/0005_auto_20201103_1916.py 查看文件

@@ -0,0 +1,37 @@
1
+# Generated by Django 3.1.2 on 2020-11-03 23:16
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('CompanionApp', '0004_auto_20201025_1252'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.RenameField(
14
+            model_name='matricula',
15
+            old_name='salon',
16
+            new_name='days',
17
+        ),
18
+        migrations.RenameField(
19
+            model_name='matricula',
20
+            old_name='horario',
21
+            new_name='hours',
22
+        ),
23
+        migrations.RemoveField(
24
+            model_name='matricula',
25
+            name='dias',
26
+        ),
27
+        migrations.RemoveField(
28
+            model_name='matricula',
29
+            name='semestre',
30
+        ),
31
+        migrations.AddField(
32
+            model_name='matricula',
33
+            name='rooms',
34
+            field=models.CharField(default='', max_length=30),
35
+            preserve_default=False,
36
+        ),
37
+    ]

+ 39
- 0
server/CompanionApp/migrations/0006_auto_20201104_1251.py 查看文件

@@ -0,0 +1,39 @@
1
+# Generated by Django 3.1.2 on 2020-11-04 16:51
2
+
3
+from django.db import migrations, models
4
+import django.db.models.deletion
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('CompanionApp', '0005_auto_20201103_1916'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.RemoveField(
15
+            model_name='matricula',
16
+            name='days',
17
+        ),
18
+        migrations.RemoveField(
19
+            model_name='matricula',
20
+            name='hours',
21
+        ),
22
+        migrations.RemoveField(
23
+            model_name='matricula',
24
+            name='rooms',
25
+        ),
26
+        migrations.CreateModel(
27
+            name='ProximoSemestre',
28
+            fields=[
29
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
30
+                ('section', models.CharField(max_length=5)),
31
+                ('prof', models.CharField(max_length=150)),
32
+                ('grade', models.CharField(max_length=3)),
33
+                ('hours', models.CharField(max_length=50)),
34
+                ('days', models.CharField(max_length=12)),
35
+                ('rooms', models.CharField(max_length=30)),
36
+                ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CompanionApp.curso')),
37
+            ],
38
+        ),
39
+    ]

+ 17
- 0
server/CompanionApp/migrations/0007_remove_proximosemestre_grade.py 查看文件

@@ -0,0 +1,17 @@
1
+# Generated by Django 3.1.2 on 2020-11-04 16:53
2
+
3
+from django.db import migrations
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('CompanionApp', '0006_auto_20201104_1251'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.RemoveField(
14
+            model_name='proximosemestre',
15
+            name='grade',
16
+        ),
17
+    ]

二进制
server/CompanionApp/migrations/__pycache__/0005_auto_20201103_1916.cpython-38.pyc 查看文件


二进制
server/CompanionApp/migrations/__pycache__/0006_auto_20201104_1251.cpython-38.pyc 查看文件


二进制
server/CompanionApp/migrations/__pycache__/0007_remove_proximosemestre_grade.cpython-38.pyc 查看文件


+ 9
- 4
server/CompanionApp/models.py 查看文件

@@ -20,7 +20,12 @@ class Matricula(models.Model):
20 20
     section = models.CharField(max_length=5)
21 21
     prof = models.CharField(max_length=150)
22 22
     grade = models.CharField(max_length=3)
23
-    semestre = models.IntegerField(default=0)
24
-    horario = models.CharField(max_length=50)
25
-    dias = models.CharField(max_length=10)
26
-    salon = models.CharField(max_length=12)
23
+
24
+
25
+class ProximoSemestre(models.Model):
26
+    course_id = models.ForeignKey(Curso, on_delete=models.CASCADE)
27
+    section = models.CharField(max_length=5)
28
+    prof = models.CharField(max_length=150)
29
+    hours = models.CharField(max_length=50)
30
+    days = models.CharField(max_length=12)
31
+    rooms = models.CharField(max_length=30)

+ 15
- 1
server/CompanionApp/serializers.py 查看文件

@@ -1,4 +1,4 @@
1
-from .models import Facultad, Curso, Matricula
1
+from .models import Facultad, Curso, Matricula, ProximoSemestre
2 2
 from rest_framework import serializers
3 3
 
4 4
 
@@ -39,3 +39,17 @@ class MatriculaSerializer(serializers.ModelSerializer):
39 39
         if(created == False):
40 40
             print('ya se creo')
41 41
         return validated_data
42
+
43
+
44
+class ProximoSemestreSerializer(serializers.ModelSerializer):
45
+    class Meta:
46
+        model = Curso
47
+        fields = ('__all__')
48
+
49
+    def create(self, validated_data):
50
+        instance, created = ProximoSemestre.objects.get_or_create(
51
+            **validated_data)
52
+        # print(instance, created)
53
+        if(created == False):
54
+            print('ya se creo')
55
+        return validated_data

+ 1
- 1
server/CompanionApp/urls.py 查看文件

@@ -10,6 +10,6 @@ urlpatterns = [
10 10
     url(r'^api/insertar_fac$', views.insertarFacultades),
11 11
     url(r'^api/hello$', views.hello_world),
12 12
     url(r'^api/insertar_cursos$', views.insertarTodosLosCursos),
13
-    url(r'api/fetch_matricula', views.fetchMatricula),
13
+    url(r'api/insert_matricula', views.insertarProximoSemestre),
14 14
     url(r'api/test_query', views.testQuery)
15 15
 ]

+ 38
- 7
server/CompanionApp/views.py 查看文件

@@ -6,8 +6,9 @@ from rest_framework import status
6 6
 from .models import Facultad, Curso, Matricula
7 7
 from rest_framework.decorators import api_view
8 8
 from rest_framework.parsers import JSONParser
9
-from .serializers import FacultadSerializer, CursoSerializer
9
+from .serializers import FacultadSerializer, CursoSerializer, MatriculaSerializer, ProximoSemestreSerializer
10 10
 from .organizar import files3
11
+from .matricula import files
11 12
 
12 13
 
13 14
 # Create your views here.
@@ -58,13 +59,43 @@ def hello_world(request):
58 59
 
59 60
 
60 61
 @api_view(['POST', ])
61
-def fetchMatricula(request):
62
+def insertarProximoSemestre(request):
62 63
     if request.method == 'POST':
63
-        json = []
64
-        for i in Curso.objects.all():
65
-            json.append({"id": i.fac_id.id, "name": i.name,
66
-                         "code": i.code, "credits": i.creditos})
67
-        return JsonResponse(json, safe=False)
64
+        for file in files:
65
+            print(f"help {file['file']}")
66
+            path = "C:/Users/danie/Documents/Projects/Companion App/server/Matricula Parse"
67
+            with open(path + '/' + file['file']) as f:
68
+                print(f"opened {file['file']}")
69
+                data = json.load(f)
70
+                for course in data:
71
+                    code = Curso.objects.get(code=course["Curso"])
72
+                    section = course["Seccion"]
73
+                    prof = course["Profesor"]
74
+                    days = ""
75
+                    for i in course["Dias"]:
76
+                        days += i
77
+                        days += " "
78
+
79
+                    hours = ""
80
+                    for i in course["Horario"]:
81
+                        hours += i
82
+                        hours += " "
83
+
84
+                    rooms = ""
85
+                    for i in course["Salones"]:
86
+                        rooms += i
87
+                        rooms += " "
88
+
89
+                    # extra_info = course["Info_Extra"]
90
+                    matricula_serializer = ProximoSemestreSerializer(
91
+                        data={'course_id': code, 'section': section, 'prof': prof, 'hours': hours, 'rooms': rooms, 'days': days})
92
+                    print(
93
+                        f"code {code}, section {section}, prof {prof}, hours {hours}, rooms {rooms}, days {days}")
94
+                    if matricula_serializer.is_valid(raise_exception=True):
95
+                        matricula_serializer.save()
96
+                        print("inserted some data")
97
+
98
+        return JsonResponse({'message': 'se insertaron todos los cursos'}, status=status.HTTP_201_CREATED)
68 99
 
69 100
 
70 101
 @api_view(['POST', 'GET'])

+ 4480
- 0
server/Matricula Parse/Admi.json
文件差异内容过多而无法显示
查看文件


+ 573
- 0
server/Matricula Parse/Admi_Grad.json 查看文件

@@ -0,0 +1,573 @@
1
+[
2
+    {
3
+        "Curso": "ADMI5500",
4
+        "Seccion": "2U1",
5
+        "Profesor": "CARDONA, R. ",
6
+        "Creditos": "1",
7
+        "Nombre": "FUNDAMENTOS GRAD ADM EMPR",
8
+        "Dias": [
9
+            "LMWJV"
10
+        ],
11
+        "Horario": [
12
+            "06:00PM-08:50PM"
13
+        ],
14
+        "Salones": [],
15
+        "Info_Extra": ""
16
+    },
17
+    {
18
+        "Curso": "ADMI5600",
19
+        "Seccion": "0U1",
20
+        "Profesor": "RUIZ, A. ",
21
+        "Creditos": "1",
22
+        "Nombre": "HERRAMIENTAS GRAD ADM EMP",
23
+        "Dias": [
24
+            "D"
25
+        ],
26
+        "Horario": [
27
+            "TBA"
28
+        ],
29
+        "Salones": [],
30
+        "Info_Extra": ""
31
+    },
32
+    {
33
+        "Curso": "ADMI6510",
34
+        "Seccion": "2U1",
35
+        "Profesor": "AYALA, J. ",
36
+        "Creditos": "3",
37
+        "Nombre": "TOMA DE DECISIONES",
38
+        "Dias": [
39
+            "W"
40
+        ],
41
+        "Horario": [
42
+            "06:00PM-08:50PM"
43
+        ],
44
+        "Salones": [
45
+            "PLAZU-6035"
46
+        ],
47
+        "Info_Extra": ""
48
+    },
49
+    {
50
+        "Curso": "ADMI6531",
51
+        "Seccion": "2U1",
52
+        "Profesor": "ORENGO, K. ",
53
+        "Creditos": "3",
54
+        "Nombre": "GERENCIA Y LIDERAZGO",
55
+        "Dias": [
56
+            "L"
57
+        ],
58
+        "Horario": [
59
+            "06:00PM-08:50PM"
60
+        ],
61
+        "Salones": [
62
+            "PLAZU-6032"
63
+        ],
64
+        "Info_Extra": ""
65
+    },
66
+    {
67
+        "Curso": "ADMI6595",
68
+        "Seccion": "2U1",
69
+        "Profesor": "AYALA, J. ",
70
+        "Creditos": "3",
71
+        "Nombre": "GEREN ESTRATEGICA GLOBAL",
72
+        "Dias": [
73
+            "M"
74
+        ],
75
+        "Horario": [
76
+            "06:00PM-08:50PM"
77
+        ],
78
+        "Salones": [
79
+            "PLAZU-6034"
80
+        ],
81
+        "Info_Extra": ""
82
+    },
83
+    {
84
+        "Curso": "ADMI6637",
85
+        "Seccion": "2U1",
86
+        "Profesor": "QUINONES, V. ",
87
+        "Creditos": "3",
88
+        "Nombre": "ETICA EMPRESARIAL",
89
+        "Dias": [
90
+            "W"
91
+        ],
92
+        "Horario": [
93
+            "06:00PM-08:50PM"
94
+        ],
95
+        "Salones": [
96
+            "PLAZU-6034"
97
+        ],
98
+        "Info_Extra": ""
99
+    },
100
+    {
101
+        "Curso": "ADMI6990",
102
+        "Seccion": "2U1",
103
+        "Profesor": "PAUL, J. ",
104
+        "Creditos": "1",
105
+        "Nombre": "SEMINARIO ADMINIST EMPRES",
106
+        "Dias": [
107
+            "W"
108
+        ],
109
+        "Horario": [
110
+            "06:00PM-08:50PM"
111
+        ],
112
+        "Salones": [
113
+            "PLAZU-6031"
114
+        ],
115
+        "Info_Extra": ""
116
+    },
117
+    {
118
+        "Curso": "ADMI8005",
119
+        "Seccion": "2U1",
120
+        "Profesor": "AYALA, J. ",
121
+        "Creditos": "1",
122
+        "Nombre": "SEMINARIO DOCTORAL",
123
+        "Dias": [
124
+            "D"
125
+        ],
126
+        "Horario": [
127
+            "TBA"
128
+        ],
129
+        "Salones": [],
130
+        "Info_Extra": ""
131
+    },
132
+    {
133
+        "Curso": "ADMI8105",
134
+        "Seccion": "001",
135
+        "Profesor": "APONTE, M. ",
136
+        "Creditos": "4",
137
+        "Nombre": "DISERTACION DOCTORAL",
138
+        "Dias": [
139
+            "D"
140
+        ],
141
+        "Horario": [
142
+            "TBA"
143
+        ],
144
+        "Salones": [],
145
+        "Info_Extra": ""
146
+    },
147
+    {
148
+        "Curso": "ADMI8105",
149
+        "Seccion": "002",
150
+        "Profesor": "COLON DE, C. ",
151
+        "Creditos": "4",
152
+        "Nombre": "DISERTACION DOCTORAL",
153
+        "Dias": [
154
+            "D"
155
+        ],
156
+        "Horario": [
157
+            "TBA"
158
+        ],
159
+        "Salones": [],
160
+        "Info_Extra": ""
161
+    },
162
+    {
163
+        "Curso": "ADMI8105",
164
+        "Seccion": "003",
165
+        "Profesor": "RODRIGUEZ, J. ",
166
+        "Creditos": "4",
167
+        "Nombre": "DISERTACION DOCTORAL",
168
+        "Dias": [
169
+            "D"
170
+        ],
171
+        "Horario": [
172
+            "TBA"
173
+        ],
174
+        "Salones": [],
175
+        "Info_Extra": ""
176
+    },
177
+    {
178
+        "Curso": "ADMI8105",
179
+        "Seccion": "004",
180
+        "Profesor": "PAUL, J. ",
181
+        "Creditos": "4",
182
+        "Nombre": "DISERTACION DOCTORAL",
183
+        "Dias": [
184
+            "D"
185
+        ],
186
+        "Horario": [
187
+            "TBA"
188
+        ],
189
+        "Salones": [],
190
+        "Info_Extra": ""
191
+    },
192
+    {
193
+        "Curso": "ADMI8106",
194
+        "Seccion": "001",
195
+        "Profesor": "APONTE, M. ",
196
+        "Creditos": "1",
197
+        "Nombre": "CONTINUA DISERTAC DOCTORA",
198
+        "Dias": [
199
+            "D"
200
+        ],
201
+        "Horario": [
202
+            "TBA"
203
+        ],
204
+        "Salones": [],
205
+        "Info_Extra": ""
206
+    },
207
+    {
208
+        "Curso": "ADMI8106",
209
+        "Seccion": "002",
210
+        "Profesor": "COLON DE, C. ",
211
+        "Creditos": "1",
212
+        "Nombre": "CONTINUA DISERTAC DOCTORA",
213
+        "Dias": [
214
+            "D"
215
+        ],
216
+        "Horario": [
217
+            "TBA"
218
+        ],
219
+        "Salones": [],
220
+        "Info_Extra": ""
221
+    },
222
+    {
223
+        "Curso": "ADMI8106",
224
+        "Seccion": "003",
225
+        "Profesor": "ROSADO, A. ",
226
+        "Creditos": "1",
227
+        "Nombre": "CONTINUA DISERTAC DOCTORA",
228
+        "Dias": [
229
+            "D"
230
+        ],
231
+        "Horario": [
232
+            "TBA"
233
+        ],
234
+        "Salones": [],
235
+        "Info_Extra": ""
236
+    },
237
+    {
238
+        "Curso": "COIN6703",
239
+        "Seccion": "2U1",
240
+        "Profesor": "ORENGO, K. ",
241
+        "Creditos": "3",
242
+        "Nombre": "INV MERC NEGOC INTERNAC",
243
+        "Dias": [
244
+            "M"
245
+        ],
246
+        "Horario": [
247
+            "06:00PM-08:50PM"
248
+        ],
249
+        "Salones": [
250
+            "PLAZU-6033"
251
+        ],
252
+        "Info_Extra": ""
253
+    },
254
+    {
255
+        "Curso": "COIN6707",
256
+        "Seccion": "2U1",
257
+        "Profesor": "CASTRO, S. ",
258
+        "Creditos": "3",
259
+        "Nombre": "GERE LOGIS OPERA INTERNA",
260
+        "Dias": [
261
+            "J"
262
+        ],
263
+        "Horario": [
264
+            "06:00PM-08:50PM"
265
+        ],
266
+        "Salones": [
267
+            "PLAZU-6032"
268
+        ],
269
+        "Info_Extra": ""
270
+    },
271
+    {
272
+        "Curso": "COIN8016",
273
+        "Seccion": "2U1",
274
+        "Profesor": "APONTE, M. ",
275
+        "Creditos": "3",
276
+        "Nombre": "SISTEMAS NEGOCIOS COMPAR",
277
+        "Dias": [
278
+            "M"
279
+        ],
280
+        "Horario": [
281
+            "06:00PM-08:50PM"
282
+        ],
283
+        "Salones": [
284
+            "PLAZU-6037"
285
+        ],
286
+        "Info_Extra": ""
287
+    },
288
+    {
289
+        "Curso": "COIN8028",
290
+        "Seccion": "2U1",
291
+        "Profesor": "PAUL, J. ",
292
+        "Creditos": "3",
293
+        "Nombre": "ESTRATEGIAS MERC INTERNAC",
294
+        "Dias": [
295
+            "L"
296
+        ],
297
+        "Horario": [
298
+            "06:00PM-08:50PM"
299
+        ],
300
+        "Salones": [
301
+            "PLAZU-6031"
302
+        ],
303
+        "Info_Extra": ""
304
+    },
305
+    {
306
+        "Curso": "CONT6501",
307
+        "Seccion": "2U1",
308
+        "Profesor": "GONZALEZ, P. ",
309
+        "Creditos": "3",
310
+        "Nombre": "CONT PARA ANALIS,CONTROL",
311
+        "Dias": [
312
+            "L"
313
+        ],
314
+        "Horario": [
315
+            "06:00PM-08:50PM"
316
+        ],
317
+        "Salones": [
318
+            "PLAZU-6033"
319
+        ],
320
+        "Info_Extra": ""
321
+    },
322
+    {
323
+        "Curso": "CONT6701",
324
+        "Seccion": "3U1",
325
+        "Profesor": "GONZALEZ, P. ",
326
+        "Creditos": "3",
327
+        "Nombre": "TEORIA,PROB CONT FINA I",
328
+        "Dias": [
329
+            "S"
330
+        ],
331
+        "Horario": [
332
+            "09:00AM-11:50AM"
333
+        ],
334
+        "Salones": [
335
+            "PLAZU-6035"
336
+        ],
337
+        "Info_Extra": ""
338
+    },
339
+    {
340
+        "Curso": "ECOG6567",
341
+        "Seccion": "2U1",
342
+        "Profesor": "LONGOBARDI, T. ",
343
+        "Creditos": "3",
344
+        "Nombre": "ECONOMIA GERENCIAL",
345
+        "Dias": [
346
+            "M"
347
+        ],
348
+        "Horario": [
349
+            "06:00PM-08:50PM"
350
+        ],
351
+        "Salones": [
352
+            "PLAZU-6035"
353
+        ],
354
+        "Info_Extra": ""
355
+    },
356
+    {
357
+        "Curso": "ESEM5005",
358
+        "Seccion": "0U1",
359
+        "Profesor": "APONTE, M. ",
360
+        "Creditos": "3",
361
+        "Nombre": "EVALUACION IDEAS NEGOCIOS",
362
+        "Dias": [
363
+            "LW"
364
+        ],
365
+        "Horario": [
366
+            "01:00PM-02:20PM"
367
+        ],
368
+        "Salones": [
369
+            "PLAZU-6030"
370
+        ],
371
+        "Info_Extra": ""
372
+    },
373
+    {
374
+        "Curso": "ESTA5503",
375
+        "Seccion": "0U1",
376
+        "Profesor": "VEGA, J. ",
377
+        "Creditos": "3",
378
+        "Nombre": "ANALISIS MULTIVARIANT APL",
379
+        "Dias": [
380
+            "MJ"
381
+        ],
382
+        "Horario": [
383
+            "02:30PM-03:50PM"
384
+        ],
385
+        "Salones": [],
386
+        "Info_Extra": "* Curso no se ofrecer\u00e1 en el 2DO SEM *"
387
+    },
388
+    {
389
+        "Curso": "FINA5995",
390
+        "Seccion": "001",
391
+        "Profesor": "CARPENTER,C ",
392
+        "Creditos": "3",
393
+        "Nombre": "SEM:TEMAS CONTEM FINANZAS",
394
+        "Dias": [
395
+            "M"
396
+        ],
397
+        "Horario": [
398
+            "04:00PM-06:50PM"
399
+        ],
400
+        "Salones": [
401
+            "O-320"
402
+        ],
403
+        "Info_Extra": ""
404
+    },
405
+    {
406
+        "Curso": "FINA5995",
407
+        "Seccion": "002",
408
+        "Profesor": "SCHINDLER, KURT",
409
+        "Creditos": "3",
410
+        "Nombre": "SEM:TEMAS CONTEM FINANZAS",
411
+        "Dias": [
412
+            "MJ"
413
+        ],
414
+        "Horario": [
415
+            "10:00AM-11:20AM"
416
+        ],
417
+        "Salones": [
418
+            "O-319"
419
+        ],
420
+        "Info_Extra": ""
421
+    },
422
+    {
423
+        "Curso": "FING6501",
424
+        "Seccion": "2U1",
425
+        "Profesor": "COLON, C. ",
426
+        "Creditos": "3",
427
+        "Nombre": "FINANZA CORPORATIVA",
428
+        "Dias": [
429
+            "L"
430
+        ],
431
+        "Horario": [
432
+            "06:00PM-08:50PM"
433
+        ],
434
+        "Salones": [
435
+            "PLAZU-6034"
436
+        ],
437
+        "Info_Extra": ""
438
+    },
439
+    {
440
+        "Curso": "FING6703",
441
+        "Seccion": "2U1",
442
+        "Profesor": "GONZALEZ, P. ",
443
+        "Creditos": "3",
444
+        "Nombre": "FINANZA EMPRESARIAL AVAN",
445
+        "Dias": [
446
+            "W"
447
+        ],
448
+        "Horario": [
449
+            "06:00PM-08:50PM"
450
+        ],
451
+        "Salones": [
452
+            "PLAZU-6033"
453
+        ],
454
+        "Info_Extra": ""
455
+    },
456
+    {
457
+        "Curso": "FING6721",
458
+        "Seccion": "2U1",
459
+        "Profesor": "RODRIGUEZ, J. ",
460
+        "Creditos": "3",
461
+        "Nombre": "SEMINARIO DE FINANZAS",
462
+        "Dias": [
463
+            "M"
464
+        ],
465
+        "Horario": [
466
+            "06:00PM-08:50PM"
467
+        ],
468
+        "Salones": [
469
+            "PLAZU-6032"
470
+        ],
471
+        "Info_Extra": ""
472
+    },
473
+    {
474
+        "Curso": "FING8006",
475
+        "Seccion": "2U1",
476
+        "Profesor": "COLON DE, C. ",
477
+        "Creditos": "3",
478
+        "Nombre": "TEORIA FINANCIERA II",
479
+        "Dias": [
480
+            "W"
481
+        ],
482
+        "Horario": [
483
+            "06:00PM-08:50PM"
484
+        ],
485
+        "Salones": [
486
+            "PLAZU-6030"
487
+        ],
488
+        "Info_Extra": ""
489
+    },
490
+    {
491
+        "Curso": "FING8029",
492
+        "Seccion": "2U1",
493
+        "Profesor": "RODRIGUEZ, J. ",
494
+        "Creditos": "3",
495
+        "Nombre": "TEMAS CONTEM MERCAD FINA",
496
+        "Dias": [
497
+            "L"
498
+        ],
499
+        "Horario": [
500
+            "06:00PM-08:50PM"
501
+        ],
502
+        "Salones": [
503
+            "PLAZU-6030"
504
+        ],
505
+        "Info_Extra": ""
506
+    },
507
+    {
508
+        "Curso": "GEOP6539",
509
+        "Seccion": "2U1",
510
+        "Profesor": "AYALA, J. ",
511
+        "Creditos": "3",
512
+        "Nombre": "GERENCIA DE OPERACIONES",
513
+        "Dias": [
514
+            "L"
515
+        ],
516
+        "Horario": [
517
+            "06:00PM-08:50PM"
518
+        ],
519
+        "Salones": [
520
+            "PLAZU-6035"
521
+        ],
522
+        "Info_Extra": ""
523
+    },
524
+    {
525
+        "Curso": "MECU6551",
526
+        "Seccion": "2U1",
527
+        "Profesor": "LONGOBARDI, T. ",
528
+        "Creditos": "3",
529
+        "Nombre": "FUND DE ESTADISTICA",
530
+        "Dias": [
531
+            "J"
532
+        ],
533
+        "Horario": [
534
+            "06:00PM-08:50PM"
535
+        ],
536
+        "Salones": [
537
+            "PLAZU-6035"
538
+        ],
539
+        "Info_Extra": ""
540
+    },
541
+    {
542
+        "Curso": "MERC5995",
543
+        "Seccion": "0U1",
544
+        "Profesor": "MARTINEZ, E. ",
545
+        "Creditos": "3",
546
+        "Nombre": "TEMAS CONTEMP EN MERCADEO",
547
+        "Dias": [
548
+            "L"
549
+        ],
550
+        "Horario": [
551
+            "01:00PM-03:50PM"
552
+        ],
553
+        "Salones": [],
554
+        "Info_Extra": ""
555
+    },
556
+    {
557
+        "Curso": "MERC6541",
558
+        "Seccion": "2U1",
559
+        "Profesor": "QUINONES, V. ",
560
+        "Creditos": "3",
561
+        "Nombre": "GERENCIA DE MERCADEO",
562
+        "Dias": [
563
+            "J"
564
+        ],
565
+        "Horario": [
566
+            "06:00PM-08:50PM"
567
+        ],
568
+        "Salones": [
569
+            "PLAZU-6034"
570
+        ],
571
+        "Info_Extra": ""
572
+    }
573
+]

+ 1
- 0
server/Matricula Parse/Arqui.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Arqui_Grad.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Asuntos_Aca.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Ciencia_Tech_Info_Grad.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Ciencias_Militares.json 查看文件

@@ -0,0 +1 @@
1
+[{"Curso": "CIMI3011", "Seccion": "001", "Profesor": "MCGEE, SHANNON ", "Creditos": "2", "Nombre": "CURSO BASIC C. MILIT I", "Dias": ["LW"], "Horario": ["01:00PM-01:50PM"], "Salones": ["DM-001"], "Info_Extra": ""}, {"Curso": "CIMI3021", "Seccion": "001", "Profesor": "MEYERS, JOSHUA ", "Creditos": "2", "Nombre": "CURS BASIC C.MILIT III", "Dias": ["LW"], "Horario": ["10:30AM-11:20AM"], "Salones": ["DM-002"], "Info_Extra": ""}, {"Curso": "CIMI4011", "Seccion": "001", "Profesor": "MEYERS, JOSHUA ", "Creditos": "4", "Nombre": "COM Y PSIC EN LID MILITAR", "Dias": ["LW"], "Horario": ["08:00PM-09:50PM"], "Salones": ["DM-001"], "Info_Extra": ""}, {"Curso": "CIMI4021", "Seccion": "001", "Profesor": "ROJAS, ORLANDO ", "Creditos": "4", "Nombre": "LID Y ADM OPERACIONES MIL", "Dias": ["MJ"], "Horario": ["06:30AM-08:50AM"], "Salones": [], "Info_Extra": ""}, {"Curso": "ESAE3001", "Seccion": "001", "Profesor": "TORRES, C. ", "Creditos": "2", "Nombre": "LA FUERZA AEREA DE HOY", "Dias": ["L", "V"], "Horario": ["09:00AM-09:50AM", "09:00AM-10:50AM"], "Salones": ["DM-001", "DM-001"], "Info_Extra": ""}, {"Curso": "ESAE3001", "Seccion": "002", "Profesor": "TORRES, C. ", "Creditos": "2", "Nombre": "LA FUERZA AEREA DE HOY", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "ESAE3011", "Seccion": "002", "Profesor": "NIEVES,RICARDO ", "Creditos": "2", "Nombre": "DESARR DEL PODERIO AEREO", "Dias": ["W", "V"], "Horario": ["09:00AM-09:50AM", "09:00AM-10:50AM"], "Salones": [], "Info_Extra": ""}, {"Curso": "ESAE4001", "Seccion": "001", "Profesor": "MENDOZA, JOEL ", "Creditos": "4", "Nombre": "GER,LID EN LA FUERZA AERE", "Dias": ["LW", "V"], "Horario": ["10:00AM-11:20AM", "09:00AM-10:50AM"], "Salones": [], "Info_Extra": ""}, {"Curso": "ESAE4011", "Seccion": "001", "Profesor": "NIEVES, RICARDO", "Creditos": "4", "Nombre": "SEG NAC SOC AMER CONTEMP", "Dias": ["LW", "V"], "Horario": ["10:00AM-11:20AM", "09:00AM-10:50AM"], "Salones": [], "Info_Extra": ""}]

+ 1
- 0
server/Matricula Parse/Comunicaciones.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Comunicaciones_Grad.json 查看文件

@@ -0,0 +1 @@
1
+[{"Curso": "COPU6500", "Seccion": "2U1", "Profesor": "ROCHE,MARIO ", "Creditos": "3", "Nombre": "TEORIAS DE LA COMUNICACIO", "Dias": ["M"], "Horario": ["06:00PM-08:50PM"], "Salones": ["PLAZU-4112"], "Info_Extra": "* Curso no se ofrecer\u00e1 en el 2DO SEM *"}, {"Curso": "COPU6517", "Seccion": "2U1", "Profesor": "RAMIREZ,RUBEN ", "Creditos": "3", "Nombre": "CULT Y ESTRUC MEDIATICAS", "Dias": ["W"], "Horario": ["06:00PM-08:50PM"], "Salones": ["PLAZU-4112"], "Info_Extra": "* Curso no se ofrecer\u00e1 en el 2DO SEM *"}, {"Curso": "COPU6667", "Seccion": "2U1", "Profesor": "COLON,ELISEO ", "Creditos": "3", "Nombre": "PERSP Y METOD INV EN COM", "Dias": ["L"], "Horario": ["06:00PM-08:50PM"], "Salones": ["PLAZU-4088"], "Info_Extra": "* Curso no se ofrecer\u00e1 en el 2DO SEM *"}, {"Curso": "COPU6698", "Seccion": "0U1", "Profesor": "COLON,ELISEO ", "Creditos": "0", "Nombre": "CONT EXP INVEST DIV MODS", "Dias": ["J"], "Horario": ["06:00PM-08:50PM"], "Salones": [], "Info_Extra": ""}, {"Curso": "COPU6707", "Seccion": "001", "Profesor": "COLON,ELISEO ", "Creditos": "3", "Nombre": "SEMINAR COMUNICACION III", "Dias": ["M"], "Horario": ["06:00PM-08:50PM"], "Salones": ["PLAZU-4110"], "Info_Extra": ""}, {"Curso": "COPU6707", "Seccion": "002", "Profesor": "ALVARADO, G. ", "Creditos": "3", "Nombre": "SEMINAR COMUNICACION III", "Dias": ["L"], "Horario": ["06:00PM-08:50PM"], "Salones": ["PLAZU-4110"], "Info_Extra": ""}, {"Curso": "COPU6726", "Seccion": "2U1", "Profesor": "ROCHE,MARIO ", "Creditos": "3", "Nombre": "SEMINARION EN PERIOD II", "Dias": ["J"], "Horario": ["06:00PM-08:50PM"], "Salones": ["PLAZU-4110"], "Info_Extra": "* Curso no se ofrecer\u00e1 en el 2DO SEM *"}]

+ 1
- 0
server/Matricula Parse/Derecho.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Educacion.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Educacion_Continua.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Educacion_Grad.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Generales.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Humanidades.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Humanidades_Grad.json
文件差异内容过多而无法显示
查看文件


+ 7321
- 0
server/Matricula Parse/Naturales.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Naturales_Grad.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Planificacion.json 查看文件

@@ -0,0 +1 @@
1
+[{"Curso": "PLAN5005", "Seccion": "3U1", "Profesor": "YOEL VELAZQUEZ ", "Creditos": "4", "Nombre": "ECON ESTA Y MATE PLANIF", "Dias": ["S"], "Horario": ["09:00AM-01:00PM"], "Salones": ["PLAZU-7033"], "Info_Extra": ""}, {"Curso": "PLAN6006", "Seccion": "0U1", "Profesor": "IRIZARRY, R. ", "Creditos": "3", "Nombre": "INTERNADO DE PLANIFICACIO", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6068", "Seccion": "013", "Profesor": "LUGO, J. ", "Creditos": "3", "Nombre": "PRESERV PATRIMON Y PLANIF", "Dias": ["J"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7041"], "Info_Extra": ""}, {"Curso": "PLAN6075", "Seccion": "2U1", "Profesor": "IRIZARRY, R. ", "Creditos": "3", "Nombre": "PROYECTO DE INVESTIG II", "Dias": ["L"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7034"], "Info_Extra": ""}, {"Curso": "PLAN6076", "Seccion": "2U1", "Profesor": "LAMBA DEEPAK ", "Creditos": "3", "Nombre": "HIST & TEORIA PLAN", "Dias": ["L"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7033"], "Info_Extra": ""}, {"Curso": "PLAN6089", "Seccion": "2U1", "Profesor": "ENCARNACION, A.", "Creditos": "3", "Nombre": "PLANIF URB Y TERRITORIAL", "Dias": ["W"], "Horario": ["07:00PM-09:50PM"], "Salones": ["PLAZU-7041"], "Info_Extra": ""}, {"Curso": "PLAN6116", "Seccion": "2U1", "Profesor": "GONZALEZ VERON ", "Creditos": "3", "Nombre": "ORDEN JURIDICO PLAN", "Dias": ["J"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7033"], "Info_Extra": ""}, {"Curso": "PLAN6117", "Seccion": "2U1", "Profesor": "CASTRO, A . ", "Creditos": "4", "Nombre": "APLIC COMPUTADOR EN PLAN", "Dias": ["W"], "Horario": ["05:30PM-09:20PM"], "Salones": ["PLAZU-6015"], "Info_Extra": ""}, {"Curso": "PLAN6135", "Seccion": "2U1", "Profesor": "ENCARNACION, A,", "Creditos": "3", "Nombre": "SOCIEDAD AMBIENTE Y PLAN", "Dias": ["L"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7035"], "Info_Extra": ""}, {"Curso": "PLAN6513", "Seccion": "2U1", "Profesor": "IRIZARRY, R. ", "Creditos": "3", "Nombre": "SEM PROP PROYECTO PLANIFI", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6602", "Seccion": "2U1", "Profesor": "CASTRO, A. ", "Creditos": "4", "Nombre": "SIG PARA PLANIFICACION", "Dias": ["MJ"], "Horario": ["05:30PM-07:20PM"], "Salones": ["PLAZU-6015"], "Info_Extra": ""}, {"Curso": "PLAN6603", "Seccion": "2U1", "Profesor": "NAVARRO, C. ", "Creditos": "3", "Nombre": "ELABORACION DE PLANES", "Dias": ["L"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7041"], "Info_Extra": ""}, {"Curso": "PLAN6604", "Seccion": "2U1", "Profesor": "SANTIAGO, R. ", "Creditos": "3", "Nombre": "TEOR COMUNIDAD Y DES ECON", "Dias": ["J"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7035"], "Info_Extra": ""}, {"Curso": "PLAN6614", "Seccion": "201", "Profesor": "BARRETO, M. ", "Creditos": "3", "Nombre": "PROYECTO DE PLANIFICACION", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6614", "Seccion": "202", "Profesor": "NAVARRO, C. ", "Creditos": "3", "Nombre": "PROYECTO DE PLANIFICACION", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6896", "Seccion": "201", "Profesor": "BARRETO, M. ", "Creditos": "0", "Nombre": "CONTINUACION PROY PLAN", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6896", "Seccion": "202", "Profesor": "PENA, P. ", "Creditos": "0", "Nombre": "CONTINUACION PROY PLAN", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6896", "Seccion": "203", "Profesor": "NAVARRO, C. ", "Creditos": "0", "Nombre": "CONTINUACION PROY PLAN", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}, {"Curso": "PLAN6995", "Seccion": "011", "Profesor": "MIRANDA, C. ", "Creditos": "1", "Nombre": "SEM: DESARROLLO PROPUESTA", "Dias": ["LMW", "S"], "Horario": ["05:30PM-08:20PM", "09:00AM-11:00AM"], "Salones": ["PLAZU-7036", "PLAZU-7036"], "Info_Extra": ""}, {"Curso": "PLAN6995", "Seccion": "013", "Profesor": "BARRETO MARITZA", "Creditos": "3", "Nombre": "RIESGOS Y PLANIFICACIONN", "Dias": ["W"], "Horario": ["05:30PM-08:20PM"], "Salones": ["PLAZU-7035"], "Info_Extra": ""}, {"Curso": "PLAN6996", "Seccion": "2U1", "Profesor": "NAVARRO, C. ", "Creditos": "5", "Nombre": "PRACTICA DE PLANIFICACION", "Dias": ["D"], "Horario": ["TBA"], "Salones": [], "Info_Extra": ""}]

+ 1
- 0
server/Matricula Parse/Sociales.json
文件差异内容过多而无法显示
查看文件


+ 1
- 0
server/Matricula Parse/Sociales_Grad.json
文件差异内容过多而无法显示
查看文件


+ 96
- 0
server/Matricula Parse/parse.py 查看文件

@@ -0,0 +1,96 @@
1
+import pandas as pd
2
+import json
3
+from os import remove
4
+
5
+
6
+def initial_parse(name, url):
7
+
8
+    table_MN = pd.read_html(url)
9
+    df = table_MN[0]
10
+    df.columns = ['Curso', 'Nombre', 'c', 'Dias', 'Hora', 'Salon']
11
+
12
+    upi = df[['Curso', 'Nombre', 'Dias', 'Hora', 'Salon']]
13
+    # print(upi.head())
14
+    # print(upi.to_json(orient='records'))
15
+
16
+    # puedes usar esta alternativa o la de la linea 17
17
+    # upi.to_json(r'C:\Users\diego\Documents\miupi_parse\soup\file.json')
18
+    upi.to_json(f'{name}_temp.json', orient='records')
19
+
20
+
21
+def final_parse(name):
22
+
23
+    with open(f"{name}_temp.json") as f_in:
24
+        data = json.load(f_in)
25
+
26
+    newdata = []
27
+
28
+    for item in data:
29
+        if(item["Curso"] == None):
30
+            pass
31
+        else:
32
+            course = {}
33
+
34
+            course["Curso"] = item["Curso"][0:8]
35
+            course["Seccion"] = item["Curso"][9:12]
36
+
37
+            info = item["Nombre"].split("Profesor: ")
38
+            if((profesor := info[1][0:-11]) != ""):
39
+                course["Profesor"] = profesor
40
+            else:
41
+                course["Profesor"] = "TBA"
42
+            
43
+            course["Creditos"] = info[1][-1]
44
+            course["Nombre"] = info[0][0:-1]
45
+            course["Dias"] = item["Dias"].split(" ")
46
+
47
+            horario = []
48
+            if(item["Hora"] != None):
49
+                for i in range(len(course["Dias"])):
50
+                    horario.append(item["Hora"][15*i:15*(i+1)])
51
+            else:
52
+                horario.append("TBA")
53
+            course["Horario"] = horario
54
+
55
+            salones_raw = item["Salon"].split("Edificio: ")
56
+            salones = []
57
+            for i in salones_raw:
58
+                if(i != "-" and i != "- " and i != ""):
59
+                    salones.append(i[:-1])
60
+            course["Salones"] = salones
61
+
62
+            course["Info_Extra"] = item["Curso"][13:-1]
63
+
64
+            newdata.append(course)
65
+
66
+    with open(f'{name}.json', 'w') as f_out:
67
+        json.dump(newdata, f_out)
68
+
69
+
70
+if __name__ == "__main__":
71
+    faculty_urls = {"Asuntos_Aca": "https://miupi.uprrp.edu/horarios/RBA120_AA.HTML",
72
+                    "Admi": "https://miupi.uprrp.edu/horarios/RBA120_AE.HTML",
73
+                    "Admi_Grad": "https://miupi.uprrp.edu/horarios/RBA120_AE2.HTML",
74
+                    "Arqui": "https://miupi.uprrp.edu/horarios/RBA120_AQ.HTML",
75
+                    "Arqui_Grad": "https://miupi.uprrp.edu/horarios/RBA120_AQ2.HTML",
76
+                    "Ciencia_Tech_Info_Grad": "https://miupi.uprrp.edu/horarios/RBA120_CB.HTML",
77
+                    "Ciencias_Militares": "https://miupi.uprrp.edu/horarios/RBA120_CM.HTML",
78
+                    "Naturales": "https://miupi.uprrp.edu/horarios/RBA120_CN.HTML",
79
+                    "Naturales_Grad": "https://miupi.uprrp.edu/horarios/RBA120_CN2.HTML",
80
+                    "Comunicaciones": "https://miupi.uprrp.edu/horarios/RBA120_CP.HTML",
81
+                    "Comunicaciones_Grad": "https://miupi.uprrp.edu/horarios/RBA120_CP2.HTML",
82
+                    "Sociales": "https://miupi.uprrp.edu/horarios/RBA120_CS.HTML",
83
+                    "Sociales_Grad": "https://miupi.uprrp.edu/horarios/RBA120_CS2.HTML	",
84
+                    "Derecho": "https://miupi.uprrp.edu/horarios/RBA120_DE.HTML",
85
+                    "Educacion_Continua": "https://miupi.uprrp.edu/horarios/RBA120_EC.HTML",
86
+                    "Educacion": "https://miupi.uprrp.edu/horarios/RBA120_ED.HTML",
87
+                    "Educacion_Grad": "https://miupi.uprrp.edu/horarios/RBA120_ED2.HTML",
88
+                    "Generales": "https://miupi.uprrp.edu/horarios/RBA120_EG.HTML",
89
+                    "Humanidades": "https://miupi.uprrp.edu/horarios/RBA120_HU.HTML",
90
+                    "Humanidades_Grad": "https://miupi.uprrp.edu/horarios/RBA120_HU2.HTML",
91
+                    "Planificacion": "https://miupi.uprrp.edu/horarios/RBA120_PL.HTML"}
92
+    #initial_parse("Naturales", faculty_urls["Naturales"])
93
+    for key in faculty_urls:
94
+        initial_parse(key, faculty_urls[key])
95
+        final_parse(key)
96
+        remove(f"{key}_temp.json")

+ 118
- 1
server/primer_sem/Admi_Grad.json 查看文件

@@ -1 +1,118 @@
1
-{"ADMI5500": ["FUNDAMENTOS GRAD ADM EMPR ", "1"], "ADMI5600": ["HERRAMIENTAS GRAD ADM EMPR", "1"], "ADMI6510": ["TOMA DE DECISIONES ", "3"], "ADMI6531": ["GERENCIA Y LIDERAZGO ", "3"], "ADMI6595": ["GEREN ESTRATEGICA GLOBAL ", "3"], "ADMI6637": ["ETICA EMPRESARIAL ", "3"], "ADMI6990": ["SEMINARIO ADMINIST EMPRESA", "1"], "ADMI8005": ["SEMINARIO DOCTORAL ", "1"], "ADMI8105": ["DISERTACION DOCTORAL ", "4"], "ADMI8106": ["CONTINUA DISERTAC DOCTORAL", "1"], "COIN6703": ["INV MERC NEGOC INTERNAC ", "3"], "COIN6707": ["GERE LOGIS OPERA INTERNA ", "3"], "COIN8016": ["SISTEMAS NEGOCIOS COMPAR ", "3"], "COIN8028": ["ESTRATEGIAS MERC INTERNAC ", "3"], "CONT6501": ["CONT PARA ANALIS,CONTROL ", "3"], "CONT6701": ["TEORIA,PROB CONT FINA I ", "3"], "ECOG6567": ["ECONOMIA GERENCIAL ", "3"], "ESEM5005": ["EVALUACION IDEAS NEGOCIOS ", "3"], "ESTA5503": ["ANALISIS MULTIVARIANT APLC", "3"], "FINA5995": ["SEM:TEMAS CONTEM FINANZAS ", "3"], "FING6501": ["FINANZA CORPORATIVA ", "3"], "FING6703": ["FINANZA EMPRESARIAL AVAN ", "3"], "FING6721": ["SEMINARIO DE FINANZAS ", "3"], "FING8006": ["TEORIA FINANCIERA II ", "3"], "FING8029": ["TEMAS CONTEM MERCAD FINA ", "3"], "GEOP6539": ["GERENCIA DE OPERACIONES ", "3"], "MECU6551": ["FUND DE ESTADISTICA ", "3"], "MERC5995": ["TEMAS CONTEMP EN MERCADEO ", "3"], "MERC6541": ["GERENCIA DE MERCADEO ", "3"]}
1
+{
2
+    "ADMI5500": [
3
+        "FUNDAMENTOS GRAD ADM EMPR ",
4
+        "1"
5
+    ],
6
+    "ADMI5600": [
7
+        "HERRAMIENTAS GRAD ADM EMPR",
8
+        "1"
9
+    ],
10
+    "ADMI6510": [
11
+        "TOMA DE DECISIONES ",
12
+        "3"
13
+    ],
14
+    "ADMI6531": [
15
+        "GERENCIA Y LIDERAZGO ",
16
+        "3"
17
+    ],
18
+    "ADMI6595": [
19
+        "GEREN ESTRATEGICA GLOBAL ",
20
+        "3"
21
+    ],
22
+    "ADMI6637": [
23
+        "ETICA EMPRESARIAL ",
24
+        "3"
25
+    ],
26
+    "ADMI6990": [
27
+        "SEMINARIO ADMINIST EMPRESA",
28
+        "1"
29
+    ],
30
+    "ADMI8005": [
31
+        "SEMINARIO DOCTORAL ",
32
+        "1"
33
+    ],
34
+    "ADMI8105": [
35
+        "DISERTACION DOCTORAL ",
36
+        "4"
37
+    ],
38
+    "ADMI8106": [
39
+        "CONTINUA DISERTAC DOCTORAL",
40
+        "1"
41
+    ],
42
+    "COIN6703": [
43
+        "INV MERC NEGOC INTERNAC ",
44
+        "3"
45
+    ],
46
+    "COIN6707": [
47
+        "GERE LOGIS OPERA INTERNA ",
48
+        "3"
49
+    ],
50
+    "COIN8016": [
51
+        "SISTEMAS NEGOCIOS COMPAR ",
52
+        "3"
53
+    ],
54
+    "COIN8028": [
55
+        "ESTRATEGIAS MERC INTERNAC ",
56
+        "3"
57
+    ],
58
+    "CONT6501": [
59
+        "CONT PARA ANALIS,CONTROL ",
60
+        "3"
61
+    ],
62
+    "CONT6701": [
63
+        "TEORIA,PROB CONT FINA I ",
64
+        "3"
65
+    ],
66
+    "ECOG6567": [
67
+        "ECONOMIA GERENCIAL ",
68
+        "3"
69
+    ],
70
+    "ESEM5005": [
71
+        "EVALUACION IDEAS NEGOCIOS ",
72
+        "3"
73
+    ],
74
+    "ESTA5503": [
75
+        "ANALISIS MULTIVARIANT APLC",
76
+        "3"
77
+    ],
78
+    "FINA5995": [
79
+        "SEM:TEMAS CONTEM FINANZAS ",
80
+        "3"
81
+    ],
82
+    "FING6501": [
83
+        "FINANZA CORPORATIVA ",
84
+        "3"
85
+    ],
86
+    "FING6703": [
87
+        "FINANZA EMPRESARIAL AVAN ",
88
+        "3"
89
+    ],
90
+    "FING6721": [
91
+        "SEMINARIO DE FINANZAS ",
92
+        "3"
93
+    ],
94
+    "FING8006": [
95
+        "TEORIA FINANCIERA II ",
96
+        "3"
97
+    ],
98
+    "FING8029": [
99
+        "TEMAS CONTEM MERCAD FINA ",
100
+        "3"
101
+    ],
102
+    "GEOP6539": [
103
+        "GERENCIA DE OPERACIONES ",
104
+        "3"
105
+    ],
106
+    "MECU6551": [
107
+        "FUND DE ESTADISTICA ",
108
+        "3"
109
+    ],
110
+    "MERC5995": [
111
+        "TEMAS CONTEMP EN MERCADEO ",
112
+        "3"
113
+    ],
114
+    "MERC6541": [
115
+        "GERENCIA DE MERCADEO ",
116
+        "3"
117
+    ]
118
+}