Skip to content

Commit 41b87f7

Browse files
committed
Move review_and_test script to develop
1 parent 2699aea commit 41b87f7

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

scripts/review_and_test.py

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import os
2+
import glob
3+
import json
4+
import unittest
5+
6+
def review_python_files():
7+
results = []
8+
for pyfile in glob.glob('src/**/*.py', recursive=True):
9+
with open(pyfile, encoding='utf-8') as f:
10+
content = f.read()
11+
# Simple checks
12+
issues = []
13+
if 'TODO' in content:
14+
issues.append('Contiene TODO')
15+
if 'print(' in content:
16+
issues.append('Uso de print en producción')
17+
results.append({'file': pyfile, 'issues': issues})
18+
return results
19+
20+
def review_html_files():
21+
results = []
22+
for htmlfile in glob.glob('src/**/*.html', recursive=True):
23+
with open(htmlfile, encoding='utf-8') as f:
24+
content = f.read()
25+
issues = []
26+
if '<script>' in content:
27+
issues.append('Uso de <script> detectado')
28+
results.append({'file': htmlfile, 'issues': issues})
29+
return results
30+
31+
def review_json_files():
32+
results = []
33+
for jsonfile in glob.glob('src/**/*.json', recursive=True):
34+
try:
35+
with open(jsonfile, encoding='utf-8') as f:
36+
json.load(f)
37+
except Exception as e:
38+
results.append({'file': jsonfile, 'issues': [f'Error de formato: {str(e)}']})
39+
else:
40+
results.append({'file': jsonfile, 'issues': []})
41+
return results
42+
43+
def run_unittests():
44+
loader = unittest.TestLoader()
45+
suite = loader.discover('tests')
46+
runner = unittest.TextTestRunner(verbosity=2)
47+
result = runner.run(suite)
48+
return {
49+
'testsRun': result.testsRun,
50+
'failures': len(result.failures),
51+
'errors': len(result.errors),
52+
'successful': result.wasSuccessful()
53+
}
54+
55+
def report(results):
56+
print("==== RESULTADOS DE LA REVISIÓN ====")
57+
for section, items in results.items():
58+
print(f"\n*** {section.upper()} ***")
59+
for item in items:
60+
if item['issues']:
61+
print(f"{item['file']} 0 {item['issues']}")
62+
print("\n==== RESULTADO TESTS ====")
63+
print(json.dumps(results['tests'], indent=2))
64+
65+
if __name__ == '__main__':
66+
results = {}
67+
results['python'] = review_python_files()
68+
results['html'] = review_html_files()
69+
results['json'] = review_json_files()
70+
results['tests'] = run_unittests()
71+
report(results)

0 commit comments

Comments
 (0)