From 7ec162244ff1b7d72451c0808a990c8ab678149f Mon Sep 17 00:00:00 2001 From: Aidaho Date: Wed, 2 Oct 2024 12:33:20 +0300 Subject: [PATCH] v8.2: Fix whitespace inconsistencies across various modules Refactor multiple files to correct spacing issues, including extra blank lines, misaligned parameters, and inconsistent indentation. These changes improve code readability and maintain coding standards without altering functionality. --- app/api/routes/routes.py | 1 + app/create_db.py | 1 + app/modules/common/common.py | 2 +- app/modules/config/section.py | 6 ++-- app/modules/db/backup.py | 1 + app/modules/db/channel.py | 2 +- app/modules/db/roxy.py | 1 - app/modules/roxywi/auth.py | 2 +- app/modules/roxywi/common.py | 2 +- app/modules/server/ssh.py | 3 +- app/modules/service/backup.py | 2 -- app/modules/service/common.py | 35 -------------------- app/modules/service/exporter_installation.py | 2 +- app/modules/service/ha_cluster.py | 4 +-- app/modules/service/udp.py | 1 - app/routes/add/routes.py | 2 ++ app/routes/channel/routes.py | 1 + app/routes/install/routes.py | 1 + app/routes/main/routes.py | 1 + app/routes/service/routes.py | 1 + app/routes/udp/routes.py | 1 + app/routes/user/routes.py | 2 ++ app/views/service/haproxy_section_views.py | 4 +-- app/views/service/views.py | 6 ++-- app/views/udp/views.py | 4 +-- 25 files changed, 30 insertions(+), 58 deletions(-) diff --git a/app/api/routes/routes.py b/app/api/routes/routes.py index 4c5aa69f..7f76760b 100644 --- a/app/api/routes/routes.py +++ b/app/api/routes/routes.py @@ -108,6 +108,7 @@ register_api(UserView, 'user', '/user', 'user_id') register_api_with_group(UserGroupView, 'user_group', 'user', 'groups') bp.add_url_rule('/user/roles', view_func=UserRoles.as_view('roles')) + def register_api_channel(view, endpoint, url_beg, pk='receiver', pk_type='int', pk_end='channel_id', pk_type_end='int'): view_func = view.as_view(endpoint, True) bp.add_url_rule(f'/{url_beg}/', view_func=view_func, methods=['POST']) diff --git a/app/create_db.py b/app/create_db.py index e0426f1e..51e9faf4 100644 --- a/app/create_db.py +++ b/app/create_db.py @@ -562,6 +562,7 @@ def update_db_v_7_4(): else: print("An error occurred:", e) + def update_db_v_8(): try: migrate( diff --git a/app/modules/common/common.py b/app/modules/common/common.py index ad588255..b0aa26ea 100644 --- a/app/modules/common/common.py +++ b/app/modules/common/common.py @@ -174,7 +174,7 @@ def is_tool(name): return True if is_tool_installed is not None else False -def wrap_line(content: str, css_class: str="line") -> str: +def wrap_line(content: str, css_class: str = "line") -> str: """ Wraps the provided content into a div HTML element with the given CSS class. """ diff --git a/app/modules/config/section.py b/app/modules/config/section.py index bdb75441..e586c19f 100644 --- a/app/modules/config/section.py +++ b/app/modules/config/section.py @@ -6,8 +6,8 @@ from app.modules.common.common import return_nice_path SECTION_NAMES = ( - 'global', 'listen', 'frontend', 'backend', 'cache', 'defaults', '#HideBlockStart', - '#HideBlockEnd', 'peers', 'resolvers', 'userlist', 'http-errors' + 'global', 'listen', 'frontend', 'backend', 'cache', 'defaults', '#HideBlockStart', + '#HideBlockEnd', 'peers', 'resolvers', 'userlist', 'http-errors' ) @@ -17,7 +17,7 @@ def _extract_section_name(line: str): :param line: The line to extract the section name from. :return: The extracted section name as a string if it starts with one of the SECTION_NAMES, - None otherwise. + None otherwise. """ line = line.strip() if line.startswith(SECTION_NAMES): diff --git a/app/modules/db/backup.py b/app/modules/db/backup.py index 2dda97c9..039be832 100644 --- a/app/modules/db/backup.py +++ b/app/modules/db/backup.py @@ -79,6 +79,7 @@ def select_gits(**kwargs): else: return query_res + def select_backups(**kwargs): if kwargs.get("server") is not None and kwargs.get("rserver") is not None: query = Backup.select().where((Backup.server == kwargs.get("server")) & (Backup.rhost == kwargs.get("rserver"))) diff --git a/app/modules/db/channel.py b/app/modules/db/channel.py index 10c5be42..2827bd16 100644 --- a/app/modules/db/channel.py +++ b/app/modules/db/channel.py @@ -18,7 +18,7 @@ def get_user_receiver_by_group(receiver: str, group: int): out_error(e) -def get_receiver_by_ip(receiver:str, ip: str): +def get_receiver_by_ip(receiver: str, ip: str): model = models[receiver] try: return model.select().join(Server, on=(Server.group_id == model.group_id)).where(Server.ip == ip).execute() diff --git a/app/modules/db/roxy.py b/app/modules/db/roxy.py index 4017896b..99a96679 100644 --- a/app/modules/db/roxy.py +++ b/app/modules/db/roxy.py @@ -18,7 +18,6 @@ def select_user_name(): return query_res - def update_user_name(user_name): user_update = UserName.update(UserName=user_name) try: diff --git a/app/modules/roxywi/auth.py b/app/modules/roxywi/auth.py index 8990f869..c176d1b0 100644 --- a/app/modules/roxywi/auth.py +++ b/app/modules/roxywi/auth.py @@ -95,7 +95,7 @@ def check_in_ldap(user, password): except ldap.SERVER_DOWN: raise Exception('error: LDAP server is down') except ldap.LDAPError as e: - if type(e.message) == dict and 'desc' in e.message: + if isinstance(e.message, dict) and 'desc' in e.message: raise Exception(f'error: {e.message["desc"]}') else: raise Exception(f'error: {e}') diff --git a/app/modules/roxywi/common.py b/app/modules/roxywi/common.py index ecc61637..18fcf469 100644 --- a/app/modules/roxywi/common.py +++ b/app/modules/roxywi/common.py @@ -68,7 +68,6 @@ def check_user_group_for_socket(user_id: int, group_id: int) -> bool: return False - def check_is_server_in_group(server_ip: str) -> bool: group_id = get_user_group(id=1) servers = server_sql.select_servers(server=server_ip) @@ -319,6 +318,7 @@ def is_user_has_access_to_group(user_id: int, group_id: int) -> None: if not user_sql.check_user_group(user_id, group_id) and g.user_params['role'] != 1: raise RoxywiGroupMismatch + def handle_json_exceptions(ex: Exception, message: str, server_ip='Roxy-WI server') -> dict: logging(server_ip, f'{message}: {ex}', login=1, roxywi=1) return ErrorResponse(error=f'{message}: {ex}').model_dump(mode='json') diff --git a/app/modules/server/ssh.py b/app/modules/server/ssh.py index 670c9cee..90c3c558 100644 --- a/app/modules/server/ssh.py +++ b/app/modules/server/ssh.py @@ -85,8 +85,7 @@ def create_ssh_cred(name: str, password: str, group: int, username: str, enable: return IdResponse(id=last_id).model_dump(mode='json') else: data = render_template('ajax/new_ssh.html', - groups=group_sql.select_groups(), sshs=cred_sql.select_ssh(name=name), lang=lang, adding=1 - ) + groups=group_sql.select_groups(), sshs=cred_sql.select_ssh(name=name), lang=lang, adding=1) return IdDataResponse(id=last_id, data=data).model_dump(mode='json') diff --git a/app/modules/service/backup.py b/app/modules/service/backup.py index e1307dc4..33897c89 100644 --- a/app/modules/service/backup.py +++ b/app/modules/service/backup.py @@ -55,7 +55,6 @@ def create_s3_backup_inv(data: S3BackupRequest, tag: str) -> None: def create_git_backup_inv(data: GitBackupRequest, server_ip: str, service: str, del_job: int = 0) -> None: service_config_dir = sql.get_setting(service + '_dir') ssh_settings = ssh_mod.return_ssh_keys_path(server_ip, id=data.cred_id) - print('del_job',del_job) inv = {"server": {"hosts": {}}} inv["server"]["hosts"][server_ip] = { "REPO": data.repo, @@ -74,7 +73,6 @@ def create_git_backup_inv(data: GitBackupRequest, server_ip: str, service: str, raise Exception(f'error: {e}') - def create_backup(json_data: BackupRequest, is_api: bool) -> tuple: if backup_sql.check_exists_backup(json_data.server): raise Exception(f'warning: Backup job for {json_data.server} already exists') diff --git a/app/modules/service/common.py b/app/modules/service/common.py index 7bd580be..67c449b0 100644 --- a/app/modules/service/common.py +++ b/app/modules/service/common.py @@ -37,17 +37,6 @@ def get_correct_service_name(service: str, server_id: int) -> str: return service -# def check_haproxy_version(server_ip): -# hap_sock_p = sql.get_setting('haproxy_sock_port') -# ver = "" -# cmd = f"echo 'show info' |nc {server_ip} {hap_sock_p} |grep Version |awk '{{print $2}}'" -# output, stderr = server_mod.subprocess_execute(cmd) -# for line in output: -# ver = line -# -# return ver - - def is_protected(server_ip: str, action: str) -> None: """ Check if the server is protected and the user has the required role. @@ -192,7 +181,6 @@ def check_service_config(server_ip: str, server_id: int, service: str) -> None: raise Exception(e) - def overview_backends(server_ip: str, service: str) -> Union[str, dict]: import app.modules.config.config as config_mod @@ -273,26 +261,3 @@ def get_stat_page(server_ip: str, service: str, group_id: int) -> str: return render_template('ajax/nginx_stats.html', out=servers_with_status, lang=lang) else: return data.decode('utf-8') - - -# def show_service_version(server_ip: str, service: str) -> str: -# if service == 'haproxy': -# return check_haproxy_version(server_ip) -# -# server_id = server_sql.select_server_id_by_ip(server_ip) -# service_name = get_correct_service_name(service, server_id) -# is_dockerized = service_sql.select_service_setting(server_id, service, 'dockerized') -# -# if is_dockerized == '1': -# container_name = sql.get_setting(f'{service}_container_name') -# if service == 'apache': -# cmd = f'docker exec -it {container_name} /usr/local/apache2/bin/httpd -v 2>&1|head -1|awk -F":" \'{{print $2}}\'' -# else: -# cmd = f'docker exec -it {container_name} /usr/sbin/{service_name} -v 2>&1|head -1|awk -F":" \'{{print $2}}\'' -# else: -# cmd = [f'sudo /usr/sbin/{service_name} -v|head -1|awk -F":" \'{{print $2}}\''] -# -# try: -# return server_mod.ssh_command(server_ip, cmd, timeout=5) -# except Exception as e: -# return f'{e}' diff --git a/app/modules/service/exporter_installation.py b/app/modules/service/exporter_installation.py index 7d44396f..9ebc7958 100644 --- a/app/modules/service/exporter_installation.py +++ b/app/modules/service/exporter_installation.py @@ -4,7 +4,7 @@ import app.modules.db.sql as sql from app.modules.service.installation import run_ansible -def generate_exporter_inc(server_ip: str,ver: str, exporter: str) -> object: +def generate_exporter_inc(server_ip: str, ver: str, exporter: str) -> object: inv = {"server": {"hosts": {}}} server_ips = [server_ip] inv['server']['hosts'][server_ip] = { diff --git a/app/modules/service/ha_cluster.py b/app/modules/service/ha_cluster.py index 53cd0fe2..81ef46ee 100644 --- a/app/modules/service/ha_cluster.py +++ b/app/modules/service/ha_cluster.py @@ -45,7 +45,7 @@ def create_cluster(cluster: HAClusterRequest, group_id: int) -> int: except Exception as e: raise Exception(f'error: Cannot add service {service}: {e}') - if not servers is None: + if servers is not None: try: router_id = ha_sql.create_ha_router(cluster_id, default=1) except Exception as e: @@ -62,7 +62,7 @@ def create_cluster(cluster: HAClusterRequest, group_id: int) -> int: except Exception as e: raise Exception(f'error: Cannon add VIP: {e}') - if cluster.virt_server and not servers is None: + if cluster.virt_server and servers is not None: add_or_update_virt(cluster, servers, cluster_id, vip_id, group_id) return int(cluster_id) diff --git a/app/modules/service/udp.py b/app/modules/service/udp.py index c2ba7555..c9b7b044 100644 --- a/app/modules/service/udp.py +++ b/app/modules/service/udp.py @@ -45,7 +45,6 @@ def _return_listener_servers(listener_id: int, group_id=None): return servers, listener - def listener_actions(listener_id: int, action: str, group_id: int) -> None: cmd = f'sudo systemctl {action} keepalived-udp-{listener_id}.service' try: diff --git a/app/routes/add/routes.py b/app/routes/add/routes.py index 70c15aef..7d5088bb 100644 --- a/app/routes/add/routes.py +++ b/app/routes/add/routes.py @@ -19,12 +19,14 @@ from app.views.service.haproxy_section_views import (GlobalSectionView, Defaults get_config = roxy_wi_tools.GetConfigVar() + def register_api_id_ip(view, endpoint, url: str = '', methods: list = ['GET', 'POST']): for point in ('_id', '_ip'): view_func = view.as_view(f'{endpoint}_{point}') pk = 'int:' if point == '_id' else '' bp.add_url_rule(f'//<{pk}server_id>{url}', view_func=view_func, methods=methods) + register_api_id_ip(ListenSectionView, 'haproxy_section_post_a', '/section/', methods=['POST']) register_api_id_ip(ListenSectionView, 'haproxy_section_a', '/section//', methods=['GET', 'PUT', 'DELETE']) register_api_id_ip(UserListSectionView, 'haproxy_userlist_post_a', '/section/userlist', methods=['POST']) diff --git a/app/routes/channel/routes.py b/app/routes/channel/routes.py index 47b74e0b..fe4fb1d0 100644 --- a/app/routes/channel/routes.py +++ b/app/routes/channel/routes.py @@ -7,6 +7,7 @@ import app.modules.tools.alerting as alerting import app.modules.roxywi.common as roxywi_common from app.views.channel.views import ChannelView + def register_api_channel(view, endpoint, url_beg, pk='receiver', pk_type='int', pk_end='channel_id', pk_type_end='int'): view_func = view.as_view(endpoint, False) bp.add_url_rule(f'/{url_beg}/', view_func=view_func, methods=['POST']) diff --git a/app/routes/install/routes.py b/app/routes/install/routes.py index 42405dca..d42c84fa 100644 --- a/app/routes/install/routes.py +++ b/app/routes/install/routes.py @@ -26,6 +26,7 @@ bp.add_url_rule( methods=['POST'], ) + @bp.before_request @jwt_required() def before_request(): diff --git a/app/routes/main/routes.py b/app/routes/main/routes.py index ee93758b..30435506 100644 --- a/app/routes/main/routes.py +++ b/app/routes/main/routes.py @@ -225,6 +225,7 @@ def service_history(service, server_ip): return render_template('history.html', **kwargs) + @bp.route('/internal/show_version') @cache.cached() def show_roxywi_version(): diff --git a/app/routes/service/routes.py b/app/routes/service/routes.py index 50f2a1b6..b0f5b318 100644 --- a/app/routes/service/routes.py +++ b/app/routes/service/routes.py @@ -26,6 +26,7 @@ bp.add_url_rule('///backend', view_func=ServiceBackendVi bp.add_url_rule('///status', view_func=ServiceView.as_view('service_ip'), methods=['GET']) bp.add_url_rule('///status', view_func=ServiceView.as_view('service'), methods=['GET']) + @bp.before_request @jwt_required() def before_request(): diff --git a/app/routes/udp/routes.py b/app/routes/udp/routes.py index 01e38710..804c1725 100644 --- a/app/routes/udp/routes.py +++ b/app/routes/udp/routes.py @@ -10,5 +10,6 @@ def before_request(): """ Protect all the admin endpoints. """ pass + bp.add_url_rule('//listener', view_func=UDPListener.as_view('udp_listener', False), methods=['GET'], defaults={'listener_id': None}) bp.add_url_rule('//listener/', view_func=UDPListener.as_view('udp_listener_id', False), methods=['GET']) diff --git a/app/routes/user/routes.py b/app/routes/user/routes.py index 42dba509..ced4892e 100644 --- a/app/routes/user/routes.py +++ b/app/routes/user/routes.py @@ -12,6 +12,7 @@ from app.middleware import get_user_params from app.modules.roxywi.class_models import BaseResponse, ErrorResponse from app.views.user.views import UserView, UserGroupView + def register_api_with_group(view, endpoint, url_beg, url_end, pk='user_id', pk_type='int', pk_end='group_id', pk_type_end='int'): view_func = view.as_view(endpoint) bp.add_url_rule(f'/<{pk_type}:{pk}>/{url_end}', view_func=view_func, methods=['GET']) @@ -27,6 +28,7 @@ def register_api(view, endpoint, url, pk='listener_id', pk_type='int'): register_api(UserView, 'user', '', 'user_id') register_api_with_group(UserGroupView, 'user_group', '', 'groups') + @bp.before_request @jwt_required() def before_request(): diff --git a/app/views/service/haproxy_section_views.py b/app/views/service/haproxy_section_views.py index fb06d296..23765247 100644 --- a/app/views/service/haproxy_section_views.py +++ b/app/views/service/haproxy_section_views.py @@ -1448,9 +1448,9 @@ class DefaultsSectionView(HaproxySectionView): def put(self, service: Literal['haproxy'], server_id: Union[int, str], body: HaproxyDefaultsRequest): """ DefaultsSectionView API - + This is the DefaultsSectionView API where you can update the defaults configuration of HAProxy. - + --- tags: - HAProxy defaults section diff --git a/app/views/service/views.py b/app/views/service/views.py index e072b520..1197eef7 100644 --- a/app/views/service/views.py +++ b/app/views/service/views.py @@ -171,7 +171,7 @@ class ServiceView(MethodView): data = ErrorResponse(error=str(e)).model_dump(mode='json') elif service == 'keepalived': cmd = ("sudo /usr/sbin/keepalived -v 2>&1|head -1|awk '{print $2}' && sudo systemctl status keepalived |grep -e 'Active'" - f"|awk '{{print $2, $9$10$11$12$13}}' && ps ax |grep 'keepalived '|grep -v udp|grep -v grep |wc -l") + "|awk '{print $2, $9$10$11$12$13}' && ps ax |grep 'keepalived '|grep -v udp|grep -v grep |wc -l") try: out = server_mod.ssh_command(server.ip, cmd) out1 = out.split() @@ -562,7 +562,7 @@ class ServiceConfigVersionsView(MethodView): try: server_ip = SupportClass(False).return_server_ip_or_id(server_id) except Exception as e: - return roxywi_common.handler_exceptions_for_json_data(e ,'') + return roxywi_common.handler_exceptions_for_json_data(e, '') config_dir = config_common.get_config_dir(service) file_format = config_common.get_file_format(service) @@ -613,7 +613,7 @@ class ServiceConfigVersionsView(MethodView): try: server_ip = SupportClass(False).return_server_ip_or_id(server_id) except Exception as e: - return roxywi_common.handler_exceptions_for_json_data(e ,'') + return roxywi_common.handler_exceptions_for_json_data(e, '') for get in body.versions: if file_format in get and server_ip in get: diff --git a/app/views/udp/views.py b/app/views/udp/views.py index b373efe5..f484da5c 100644 --- a/app/views/udp/views.py +++ b/app/views/udp/views.py @@ -353,12 +353,12 @@ class UDPListener(MethodView): self._reconfigure(listener_id, 'uninstall') roxywi_common.logging(listener_id, f'UDP listener has been deleted {listener_id}', roxywi=1, keep_history=1, login=1, service='UDP listener') except Exception as e: - return roxywi_common.handle_json_exceptions(e,f'Cannot create inventory for UDP listener deleting {listener_id}') + return roxywi_common.handle_json_exceptions(e, f'Cannot create inventory for UDP listener deleting {listener_id}') try: udp_sql.delete_listener(listener_id) return BaseResponse().model_dump(mode='json'), 204 except Exception as e: - return roxywi_common.handle_json_exceptions(e,f'Cannot delete UDP listener {listener_id}') + return roxywi_common.handle_json_exceptions(e, f'Cannot delete UDP listener {listener_id}') @staticmethod def _reconfigure(listener_id, action):