diff --git a/uv.lock b/uv.lock index c035451..ee48550 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.12" [[package]] @@ -11,18 +11,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" }, ] -[[package]] -name = "amqp" -version = "5.3.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "vine" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/79/fc/ec94a357dfc6683d8c86f8b4cfa5416a4c36b28052ec8260c77aca96a443/amqp-5.3.1.tar.gz", hash = "sha256:cddc00c725449522023bad949f70fff7b48f0b1ade74d170a6f10ab044739432", size = 129013, upload-time = "2024-11-12T19:55:44.051Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/99/fc813cd978842c26c82534010ea849eee9ab3a13ea2b74e95cb9c99e747b/amqp-5.3.1-py3-none-any.whl", hash = "sha256:43b3319e1b4e7d1251833a93d672b4af1e40f3d632d479b98661a95f117880a2", size = 50944, upload-time = "2024-11-12T19:55:41.782Z" }, -] - [[package]] name = "asgiref" version = "3.9.1" @@ -64,31 +52,15 @@ wheels = [ ] [[package]] -name = "billiard" -version = "4.2.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/58/1546c970afcd2a2428b1bfafecf2371d8951cc34b46701bea73f4280989e/billiard-4.2.1.tar.gz", hash = "sha256:12b641b0c539073fc8d3f5b8b7be998956665c4233c7c1fcd66a7e677c4fb36f", size = 155031, upload-time = "2024-09-21T13:40:22.491Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/30/da/43b15f28fe5f9e027b41c539abc5469052e9d48fd75f8ff094ba2a0ae767/billiard-4.2.1-py3-none-any.whl", hash = "sha256:40b59a4ac8806ba2c2369ea98d876bc6108b051c227baffd928c644d15d8f3cb", size = 86766, upload-time = "2024-09-21T13:40:20.188Z" }, -] - -[[package]] -name = "celery" -version = "5.5.3" +name = "bs4" +version = "0.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "billiard" }, - { name = "click" }, - { name = "click-didyoumean" }, - { name = "click-plugins" }, - { name = "click-repl" }, - { name = "kombu" }, - { name = "python-dateutil" }, - { name = "vine" }, + { name = "beautifulsoup4" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/7d/6c289f407d219ba36d8b384b42489ebdd0c84ce9c413875a8aae0c85f35b/celery-5.5.3.tar.gz", hash = "sha256:6c972ae7968c2b5281227f01c3a3f984037d21c5129d07bf3550cc2afc6b10a5", size = 1667144, upload-time = "2025-06-01T11:08:12.563Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/aa/4acaf814ff901145da37332e05bb510452ebed97bc9602695059dd46ef39/bs4-0.0.2.tar.gz", hash = "sha256:a48685c58f50fe127722417bae83fe6badf500d54b55f7e39ffe43b798653925", size = 698, upload-time = "2024-01-17T18:15:47.371Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/af/0dcccc7fdcdf170f9a1585e5e96b6fb0ba1749ef6be8c89a6202284759bd/celery-5.5.3-py3-none-any.whl", hash = "sha256:0b5761a07057acee94694464ca482416b959568904c9dfa41ce8413a7d65d525", size = 438775, upload-time = "2025-06-01T11:08:09.94Z" }, + { url = "https://files.pythonhosted.org/packages/51/bb/bf7aab772a159614954d84aa832c129624ba6c32faa559dfb200a534e50b/bs4-0.0.2-py2.py3-none-any.whl", hash = "sha256:abf8742c0805ef7f662dce4b51cca104cffe52b835238afc169142ab9b3fbccc", size = 1189, upload-time = "2024-01-17T18:15:48.613Z" }, ] [[package]] @@ -154,43 +126,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, ] -[[package]] -name = "click-didyoumean" -version = "0.3.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/30/ce/217289b77c590ea1e7c24242d9ddd6e249e52c795ff10fac2c50062c48cb/click_didyoumean-0.3.1.tar.gz", hash = "sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463", size = 3089, upload-time = "2024-03-24T08:22:07.499Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/5b/974430b5ffdb7a4f1941d13d83c64a0395114503cc357c6b9ae4ce5047ed/click_didyoumean-0.3.1-py3-none-any.whl", hash = "sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c", size = 3631, upload-time = "2024-03-24T08:22:06.356Z" }, -] - -[[package]] -name = "click-plugins" -version = "1.1.1.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c3/a4/34847b59150da33690a36da3681d6bbc2ec14ee9a846bc30a6746e5984e4/click_plugins-1.1.1.2.tar.gz", hash = "sha256:d7af3984a99d243c131aa1a828331e7630f4a88a9741fd05c927b204bcf92261", size = 8343, upload-time = "2025-06-25T00:47:37.555Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl", hash = "sha256:008d65743833ffc1f5417bf0e78e8d2c23aab04d9745ba817bd3e71b0feb6aa6", size = 11051, upload-time = "2025-06-25T00:47:36.731Z" }, -] - -[[package]] -name = "click-repl" -version = "0.3.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "prompt-toolkit" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cb/a2/57f4ac79838cfae6912f997b4d1a64a858fb0c86d7fcaae6f7b58d267fca/click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9", size = 10449, upload-time = "2023-06-15T12:43:51.141Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/52/40/9d857001228658f0d59e97ebd4c346fe73e138c6de1bce61dc568a57c7f8/click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812", size = 10289, upload-time = "2023-06-15T12:43:48.626Z" }, -] - [[package]] name = "colorama" version = "0.4.6" @@ -202,33 +137,16 @@ wheels = [ [[package]] name = "django" -version = "3.2.25" +version = "4.2.23" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "asgiref" }, - { name = "pytz" }, { name = "sqlparse" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/68/0e744f07b57bfdf99abbb6b3eb14fcba188867021c05f4a104e04f6d56b8/Django-3.2.25.tar.gz", hash = "sha256:7ca38a78654aee72378594d63e51636c04b8e28574f5505dff630895b5472777", size = 9836336, upload-time = "2024-03-04T08:57:02.257Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/30/8e/cc23c762c5dcd1d367d73cf006a326e0df2bd0e785cba18b658b39904c1e/Django-3.2.25-py3-none-any.whl", hash = "sha256:a52ea7fcf280b16f7b739cec38fa6d3f8953a5456986944c3ca97e79882b4e38", size = 7890550, upload-time = "2024-03-04T08:56:47.529Z" }, -] - -[[package]] -name = "django-google-analytics-app" -version = "5.0.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "beautifulsoup4" }, - { name = "celery" }, - { name = "django" }, - { name = "requests" }, - { name = "six" }, - { name = "structlog" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/05/98/624bf0f6c0381185bc276e3da45445844bed99c432f46a599ecf2e7cbfed/django-google-analytics-app-5.0.6.tar.gz", hash = "sha256:f122292cd4882694f8d0508b7b33c3ce9bd969ebb25dead74673602506df0c15", size = 12408, upload-time = "2022-08-22T13:29:53.38Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/20/02242739714eb4e53933d6c0fe2c57f41feb449955b0aa39fc2da82b8f3c/django-4.2.23.tar.gz", hash = "sha256:42fdeaba6e6449d88d4f66de47871015097dc6f1b87910db00a91946295cfae4", size = 10448384, upload-time = "2025-06-10T10:06:34.574Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/f6/a6282c98224621828a335831309bbcd091fdd3ca764ecc00040718d61c1b/django_google_analytics_app-5.0.6-py2.py3-none-any.whl", hash = "sha256:7eab63fd7a2430a46683b24d84bdda8ebe08181b9caa08764844ab982b3c0795", size = 13887, upload-time = "2022-08-22T13:29:51.959Z" }, + { url = "https://files.pythonhosted.org/packages/cb/44/314e8e4612bd122dd0424c88b44730af68eafbee88cc887a86586b7a1f2a/django-4.2.23-py3-none-any.whl", hash = "sha256:dafbfaf52c2f289bd65f4ab935791cb4fb9a198f2a5ba9faf35d7338a77e9803", size = 7993904, upload-time = "2025-06-10T10:06:28.092Z" }, ] [[package]] @@ -288,9 +206,9 @@ name = "esquite" version = "0.1.0" source = { virtual = "." } dependencies = [ + { name = "bs4" }, { name = "click" }, { name = "django" }, - { name = "django-google-analytics-app" }, { name = "djangorestframework" }, { name = "drf-yasg" }, { name = "elasticsearch" }, @@ -307,9 +225,9 @@ dev = [ [package.metadata] requires-dist = [ + { name = "bs4", specifier = ">=0.0.2" }, { name = "click", specifier = ">=8.0.3,<9" }, - { name = "django", specifier = ">=3.2.15,<4" }, - { name = "django-google-analytics-app", specifier = ">=5.0.3,<6" }, + { name = "django", specifier = ">=4.2,<5" }, { name = "djangorestframework", specifier = ">=3.13.1,<4" }, { name = "drf-yasg", specifier = ">=1.20.0,<2" }, { name = "elasticsearch", specifier = ">=7.16.3,<8" }, @@ -414,21 +332,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437, upload-time = "2025-04-23T12:34:05.422Z" }, ] -[[package]] -name = "kombu" -version = "5.5.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "amqp" }, - { name = "packaging" }, - { name = "tzdata" }, - { name = "vine" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0f/d3/5ff936d8319ac86b9c409f1501b07c426e6ad41966fedace9ef1b966e23f/kombu-5.5.4.tar.gz", hash = "sha256:886600168275ebeada93b888e831352fe578168342f0d1d5833d88ba0d847363", size = 461992, upload-time = "2025-06-01T10:19:22.281Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/70/a07dcf4f62598c8ad579df241af55ced65bed76e42e45d3c368a6d82dbc1/kombu-5.5.4-py3-none-any.whl", hash = "sha256:a12ed0557c238897d8e518f1d1fdf84bd1516c5e305af2dacd85c2015115feb8", size = 210034, upload-time = "2025-06-01T10:19:20.436Z" }, -] - [[package]] name = "markupsafe" version = "3.0.2" @@ -476,18 +379,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, ] -[[package]] -name = "prompt-toolkit" -version = "3.0.51" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "wcwidth" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload-time = "2025-04-15T09:18:47.731Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload-time = "2025-04-15T09:18:44.753Z" }, -] - [[package]] name = "pygments" version = "2.19.2" @@ -497,18 +388,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "six" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, -] - [[package]] name = "pytz" version = "2025.2" @@ -793,15 +672,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl", hash = "sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca", size = 44415, upload-time = "2024-12-10T12:05:27.824Z" }, ] -[[package]] -name = "structlog" -version = "25.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b9/6e672db4fec07349e7a8a8172c1a6ae235c58679ca29c3f86a61b5e59ff3/structlog-25.4.0.tar.gz", hash = "sha256:186cd1b0a8ae762e29417095664adf1d6a31702160a46dacb7796ea82f7409e4", size = 1369138, upload-time = "2025-06-02T08:21:12.971Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/4a/97ee6973e3a73c74c8120d59829c3861ea52210667ec3e7a16045c62b64d/structlog-25.4.0-py3-none-any.whl", hash = "sha256:fe809ff5c27e557d14e613f45ca441aabda051d119ee5a0102aaba6ce40eed2c", size = 68720, upload-time = "2025-06-02T08:21:11.43Z" }, -] - [[package]] name = "typing-extensions" version = "4.14.1" @@ -837,21 +707,3 @@ sdist = { url = "https://files.pythonhosted.org/packages/e4/e8/6ff5e6bc22095cfc5 wheels = [ { url = "https://files.pythonhosted.org/packages/33/cf/8435d5a7159e2a9c83a95896ed596f68cf798005fe107cc655b5c5c14704/urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e", size = 144225, upload-time = "2024-08-29T15:43:08.921Z" }, ] - -[[package]] -name = "vine" -version = "5.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bd/e4/d07b5f29d283596b9727dd5275ccbceb63c44a1a82aa9e4bfd20426762ac/vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0", size = 48980, upload-time = "2023-11-05T08:46:53.857Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/03/ff/7c0c86c43b3cbb927e0ccc0255cb4057ceba4799cd44ae95174ce8e8b5b2/vine-5.1.0-py3-none-any.whl", hash = "sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc", size = 9636, upload-time = "2023-11-05T08:46:51.205Z" }, -] - -[[package]] -name = "wcwidth" -version = "0.2.13" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, -] diff --git a/wizard.py b/wizard.py index 1d922db..6b8a0af 100644 --- a/wizard.py +++ b/wizard.py @@ -26,19 +26,19 @@ def set_project_info(config): """ # Redes por defecto social = ["site", "blog", "email", "facebook", "twitter", "github"] - config['ORG_NAME'] = input("\t * Nombre de la organización>> ").upper() - config['NAME'] = input("\t * Nombre del proyecto>> ").upper() - config['L1'] = input("\t * Primera lengua del corpus (l1)>> ").title() - config['L2'] = input("\t * Segunda lengua del corpus (l2)>> ").title() + config["ORG_NAME"] = input("\t * Nombre de la organización>> ").upper() + config["NAME"] = input("\t * Nombre del proyecto>> ").upper() + config["L1"] = input("\t * Primera lengua del corpus (l1)>> ").title() + config["L2"] = input("\t * Segunda lengua del corpus (l2)>> ").title() # Colaboradoras vacio por defecto - config['COLABS'] = [] - config['LINKS'] = {'social': {k: "" for k in social}, 'corpora': dict()} - config['META_DESC'] = input("\t * Descripción (etiqueta meta html): ") + config["COLABS"] = [] + config["LINKS"] = {"social": {k: "" for k in social}, "corpora": dict()} + config["META_DESC"] = input("\t * Descripción (etiqueta meta html): ") return config def set_url(protocol="http", ip="localhost", port="9200"): - """ Contruye una URL válida para el archivo de configuración + """Contruye una URL válida para el archivo de configuración Dado el protocolo, la ip y el puerto contruye una URL válida para el archivo de configuración. Si las variables no fueron dadas por @@ -74,8 +74,7 @@ def set_services(config): """Escribe información de los servivios Escribe en el diccionario de configuraciones el nombre del índice - y la url (ip y puerto) del servidor elasticsearch. Opcionalmente - el token de Google Analytics. + y la url (ip y puerto) del servidor elasticsearch. :param config: Diccionario con la configuración :type: dict @@ -83,13 +82,12 @@ def set_services(config): de los servicios :rtype: dict """ - config['INDEX'] = input('\t * Índice de Elasticsearch[default]>> ') or "default" + config["INDEX"] = input("\t * Índice de Elasticsearch[default]>> ") or "default" protocol = input("\t * Protocolo HTTP o HTTPS [http]>>") ip = input("\t * Nombre o IP del servidor de Elasticsearch [localhost]>>") port = input("\t * Puerto del servidor de Elasticsearch [9200]>>") - config['URL'] = set_url(protocol, ip, port) + config["URL"] = set_url(protocol, ip, port) index_flag = input("\t  Deseas crear el índice  [Y/n]>>") - config['GOOGLE_ANALYTICS'] = input('\t * Token Google Analytics []>> ') if index_flag == "y" or index_flag == "Y" or index_flag == "": create_index(config) else: @@ -100,15 +98,17 @@ def set_services(config): def create_index(config): """Crea un índice de Elasticsearch con la configuración por defecto""" es_client = Elasticsearch([config["URL"]]) - with open('elastic-config.json', 'r', encoding="utf-8") as json_file: + with open("elastic-config.json", "r", encoding="utf-8") as json_file: es_config = json.loads(json_file.read()) print("\t⚙ Creando el índice con configuraciones por defecto ⚙") try: - es_client.indices.create(index=config['INDEX'], body=es_config) + es_client.indices.create(index=config["INDEX"], body=es_config) except elasticsearch.exceptions.ConnectionError: print("[ERROR]: No se pudo conectar a la instancia de Elasticsearch :(") print("¿Instalaste elasticsearch?") - print("Guia de instalación: https://www.elastic.co/guide/en/elasticsearch/reference/7.9/install-elasticsearch.html") + print( + "Guia de instalación: https://www.elastic.co/guide/en/elasticsearch/reference/7.9/install-elasticsearch.html" + ) sys.exit(1) except elasticsearch.exceptions.RequestError as e: print(f"[ERROR]: No se pudo crear el índice {config['INDEX']}") @@ -130,13 +130,13 @@ def set_colors(config): proyecto :rtype: dict """ - primary = '#fbda65' - primary_hover = '#fdecb2' - secondary = '#06a594' - secondary_hover = '#69c9be' - secondary_active = '#048476' - text_color = '#000000' - text_color_alt = '#ffffff' + primary = "#fbda65" + primary_hover = "#fdecb2" + secondary = "#06a594" + secondary_hover = "#69c9be" + secondary_active = "#048476" + text_color = "#000000" + text_color_alt = "#ffffff" text_fields = { "button": text_color_alt, "btnhover": primary, @@ -149,7 +149,7 @@ def set_colors(config): "result": text_color, "footer": text_color, "links": secondary, - "hoverlinks": secondary_hover + "hoverlinks": secondary_hover, } background_fields = { "form": primary_hover, @@ -157,14 +157,14 @@ def set_colors(config): "btnhover": secondary_hover, "nav": primary, "footer": text_color_alt, - "highlight": primary_hover + "highlight": primary_hover, + } + border_fields = {"button": secondary, "input": secondary} + config["COLORS"] = { + "text": text_fields, + "background": background_fields, + "border": border_fields, } - border_fields = { - "button": secondary, - "input": secondary - } - config['COLORS'] = {"text": text_fields, "background": background_fields, - "border": border_fields} return config @@ -180,16 +180,20 @@ def api_limits(config): :return: Configuraciones con los límites de la API :rtype: dict """ - config['API'] = {} + config["API"] = {} # Limites de los request por dia y hora - throttles = {'sustain_anon': '50/day', 'burst_anon': '20/hour', - 'sustain_user': '200/day', 'burst_user': '50/hour'} + throttles = { + "sustain_anon": "50/day", + "burst_anon": "20/hour", + "sustain_user": "200/day", + "burst_user": "50/hour", + } # Limite de los resultados devuelve la API - limit_results = {'anon': 10, 'user': 100} + limit_results = {"anon": 10, "user": 100} # Número de proxies en el server - config['API']['num_proxies'] = 0 - config['API']['limit_results'] = limit_results - config['API']['throttles'] = throttles + config["API"]["num_proxies"] = 0 + config["API"]["limit_results"] = limit_results + config["API"]["throttles"] = throttles return config @@ -202,9 +206,9 @@ def create_user_scheme(base_dir): # Creating user statics dirs if not exists if not os.path.isdir(user_static_dir): os.mkdir(user_static_dir) - os.mkdir(os.path.join(user_static_dir, 'js')) - os.mkdir(os.path.join(user_static_dir, 'css')) - os.mkdir(os.path.join(user_static_dir, 'img')) + os.mkdir(os.path.join(user_static_dir, "js")) + os.mkdir(os.path.join(user_static_dir, "css")) + os.mkdir(os.path.join(user_static_dir, "img")) # User templates about_file = os.path.join(user_templates_dir, "about-user.html") links_file = os.path.join(user_templates_dir, "links-user.html") @@ -213,7 +217,7 @@ def create_user_scheme(base_dir): try: # Try to create templates print("\t# Creando templates HTML de usuariæ") - with open(about_file, 'w+') as about_f: + with open(about_file, "w+") as about_f: default_about_string = """

Este corpus paralelo permite búsquedas de palabras o frases dentro de una colección de documentos bilingües digitalizados @@ -227,9 +231,9 @@ def create_user_scheme(base_dir): palabra o frase dependiendo del contexto y de la fuente.

""" about_f.write(default_about_string) - open(links_file, 'a').close() - open(help_file, 'a').close() - open(colabs_file, 'a').close() + open(links_file, "a").close() + open(help_file, "a").close() + open(colabs_file, "a").close() except FileExistsError: print("\t[WARN] No se pueden crear archivos. Parece que ya existen") except PermissionError: @@ -237,9 +241,13 @@ def create_user_scheme(base_dir): @click.command() -@click.option('-q', '--quick', is_flag=True, - help="Lanza el configurador en modo rápido (configuraciones por \ - defecto)") +@click.option( + "-q", + "--quick", + is_flag=True, + help="Lanza el configurador en modo rápido (configuraciones por \ + defecto)", +) def main(quick): """Asistente de configuración de esquite wizard 🧙 @@ -248,7 +256,7 @@ def main(quick): El archivo mencionado es **necesario** para que el proyecto funcione correctamente. """ - click.secho("Asistente de configuración del backend 🧙\n", fg='green') + click.secho("Asistente de configuración del backend 🧙\n", fg="green") # Configuraciones comúnes # Creando directorios de usuariæ base_dir = os.path.dirname(os.path.abspath(__file__)) @@ -260,14 +268,14 @@ def main(quick): click.echo("# Configuraciones Generales (1/3)") config = dict() config = set_project_info(config) - config['SECRET_KEY'] = token + config["SECRET_KEY"] = token # Dejando por defecto el modo Debug Encendido - config['DEBUG'] = 'True' + config["DEBUG"] = "True" click.echo("# Configuración de ELASTICSEARCH (2/3)") config = set_services(config) # Teclas del teclado teclas = "test" - config['KEYBOARD'] = list(teclas) + config["KEYBOARD"] = list(teclas) click.echo("# Colores del proyecto (HEXADECIMALES) (3/3)") config = set_colors(config) # Configurando limites para la API @@ -276,10 +284,10 @@ def main(quick): # Configuración default config = set_minimal_env(token) click.echo("# Generando archivo para la configuración:") - click.secho("⚙"*50, fg='yellow') + click.secho("⚙" * 50, fg="yellow") pprint(config, indent=2, width=80) - click.secho("⚙"*50, fg='yellow') - with open("env.yaml", 'w') as conf_file: + click.secho("⚙" * 50, fg="yellow") + with open("env.yaml", "w") as conf_file: yaml.dump(config, conf_file) click.echo("# Terminado :)")