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.
pull/399/head
Aidaho 2024-10-02 12:33:20 +03:00
parent 292ca51cc7
commit 7ec162244f
25 changed files with 30 additions and 58 deletions

View File

@ -108,6 +108,7 @@ register_api(UserView, 'user', '/user', 'user_id')
register_api_with_group(UserGroupView, 'user_group', 'user', 'groups') register_api_with_group(UserGroupView, 'user_group', 'user', 'groups')
bp.add_url_rule('/user/roles', view_func=UserRoles.as_view('roles')) 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'): 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) view_func = view.as_view(endpoint, True)
bp.add_url_rule(f'/{url_beg}/<any(telegram, slack, pd, mm):{pk}>', view_func=view_func, methods=['POST']) bp.add_url_rule(f'/{url_beg}/<any(telegram, slack, pd, mm):{pk}>', view_func=view_func, methods=['POST'])

View File

@ -562,6 +562,7 @@ def update_db_v_7_4():
else: else:
print("An error occurred:", e) print("An error occurred:", e)
def update_db_v_8(): def update_db_v_8():
try: try:
migrate( migrate(

View File

@ -174,7 +174,7 @@ def is_tool(name):
return True if is_tool_installed is not None else False 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. Wraps the provided content into a div HTML element with the given CSS class.
""" """

View File

@ -6,8 +6,8 @@ from app.modules.common.common import return_nice_path
SECTION_NAMES = ( SECTION_NAMES = (
'global', 'listen', 'frontend', 'backend', 'cache', 'defaults', '#HideBlockStart', 'global', 'listen', 'frontend', 'backend', 'cache', 'defaults', '#HideBlockStart',
'#HideBlockEnd', 'peers', 'resolvers', 'userlist', 'http-errors' '#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. :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, :return: The extracted section name as a string if it starts with one of the SECTION_NAMES,
None otherwise. None otherwise.
""" """
line = line.strip() line = line.strip()
if line.startswith(SECTION_NAMES): if line.startswith(SECTION_NAMES):

View File

@ -79,6 +79,7 @@ def select_gits(**kwargs):
else: else:
return query_res return query_res
def select_backups(**kwargs): def select_backups(**kwargs):
if kwargs.get("server") is not None and kwargs.get("rserver") is not None: 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"))) query = Backup.select().where((Backup.server == kwargs.get("server")) & (Backup.rhost == kwargs.get("rserver")))

View File

@ -18,7 +18,7 @@ def get_user_receiver_by_group(receiver: str, group: int):
out_error(e) out_error(e)
def get_receiver_by_ip(receiver:str, ip: str): def get_receiver_by_ip(receiver: str, ip: str):
model = models[receiver] model = models[receiver]
try: try:
return model.select().join(Server, on=(Server.group_id == model.group_id)).where(Server.ip == ip).execute() return model.select().join(Server, on=(Server.group_id == model.group_id)).where(Server.ip == ip).execute()

View File

@ -18,7 +18,6 @@ def select_user_name():
return query_res return query_res
def update_user_name(user_name): def update_user_name(user_name):
user_update = UserName.update(UserName=user_name) user_update = UserName.update(UserName=user_name)
try: try:

View File

@ -95,7 +95,7 @@ def check_in_ldap(user, password):
except ldap.SERVER_DOWN: except ldap.SERVER_DOWN:
raise Exception('error: LDAP server is down') raise Exception('error: LDAP server is down')
except ldap.LDAPError as e: 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"]}') raise Exception(f'error: {e.message["desc"]}')
else: else:
raise Exception(f'error: {e}') raise Exception(f'error: {e}')

View File

@ -68,7 +68,6 @@ def check_user_group_for_socket(user_id: int, group_id: int) -> bool:
return False return False
def check_is_server_in_group(server_ip: str) -> bool: def check_is_server_in_group(server_ip: str) -> bool:
group_id = get_user_group(id=1) group_id = get_user_group(id=1)
servers = server_sql.select_servers(server=server_ip) 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: if not user_sql.check_user_group(user_id, group_id) and g.user_params['role'] != 1:
raise RoxywiGroupMismatch raise RoxywiGroupMismatch
def handle_json_exceptions(ex: Exception, message: str, server_ip='Roxy-WI server') -> dict: def handle_json_exceptions(ex: Exception, message: str, server_ip='Roxy-WI server') -> dict:
logging(server_ip, f'{message}: {ex}', login=1, roxywi=1) logging(server_ip, f'{message}: {ex}', login=1, roxywi=1)
return ErrorResponse(error=f'{message}: {ex}').model_dump(mode='json') return ErrorResponse(error=f'{message}: {ex}').model_dump(mode='json')

View File

@ -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') return IdResponse(id=last_id).model_dump(mode='json')
else: else:
data = render_template('ajax/new_ssh.html', 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') return IdDataResponse(id=last_id, data=data).model_dump(mode='json')

View File

@ -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: 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') service_config_dir = sql.get_setting(service + '_dir')
ssh_settings = ssh_mod.return_ssh_keys_path(server_ip, id=data.cred_id) 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": {}}}
inv["server"]["hosts"][server_ip] = { inv["server"]["hosts"][server_ip] = {
"REPO": data.repo, "REPO": data.repo,
@ -74,7 +73,6 @@ def create_git_backup_inv(data: GitBackupRequest, server_ip: str, service: str,
raise Exception(f'error: {e}') raise Exception(f'error: {e}')
def create_backup(json_data: BackupRequest, is_api: bool) -> tuple: def create_backup(json_data: BackupRequest, is_api: bool) -> tuple:
if backup_sql.check_exists_backup(json_data.server): if backup_sql.check_exists_backup(json_data.server):
raise Exception(f'warning: Backup job for {json_data.server} already exists') raise Exception(f'warning: Backup job for {json_data.server} already exists')

View File

@ -37,17 +37,6 @@ def get_correct_service_name(service: str, server_id: int) -> str:
return service 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: def is_protected(server_ip: str, action: str) -> None:
""" """
Check if the server is protected and the user has the required role. 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) raise Exception(e)
def overview_backends(server_ip: str, service: str) -> Union[str, dict]: def overview_backends(server_ip: str, service: str) -> Union[str, dict]:
import app.modules.config.config as config_mod 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) return render_template('ajax/nginx_stats.html', out=servers_with_status, lang=lang)
else: else:
return data.decode('utf-8') 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}'

View File

@ -4,7 +4,7 @@ import app.modules.db.sql as sql
from app.modules.service.installation import run_ansible 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": {}}} inv = {"server": {"hosts": {}}}
server_ips = [server_ip] server_ips = [server_ip]
inv['server']['hosts'][server_ip] = { inv['server']['hosts'][server_ip] = {

View File

@ -45,7 +45,7 @@ def create_cluster(cluster: HAClusterRequest, group_id: int) -> int:
except Exception as e: except Exception as e:
raise Exception(f'error: Cannot add service {service}: {e}') raise Exception(f'error: Cannot add service {service}: {e}')
if not servers is None: if servers is not None:
try: try:
router_id = ha_sql.create_ha_router(cluster_id, default=1) router_id = ha_sql.create_ha_router(cluster_id, default=1)
except Exception as e: except Exception as e:
@ -62,7 +62,7 @@ def create_cluster(cluster: HAClusterRequest, group_id: int) -> int:
except Exception as e: except Exception as e:
raise Exception(f'error: Cannon add VIP: {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) add_or_update_virt(cluster, servers, cluster_id, vip_id, group_id)
return int(cluster_id) return int(cluster_id)

View File

@ -45,7 +45,6 @@ def _return_listener_servers(listener_id: int, group_id=None):
return servers, listener return servers, listener
def listener_actions(listener_id: int, action: str, group_id: int) -> None: def listener_actions(listener_id: int, action: str, group_id: int) -> None:
cmd = f'sudo systemctl {action} keepalived-udp-{listener_id}.service' cmd = f'sudo systemctl {action} keepalived-udp-{listener_id}.service'
try: try:

View File

@ -19,12 +19,14 @@ from app.views.service.haproxy_section_views import (GlobalSectionView, Defaults
get_config = roxy_wi_tools.GetConfigVar() get_config = roxy_wi_tools.GetConfigVar()
def register_api_id_ip(view, endpoint, url: str = '', methods: list = ['GET', 'POST']): def register_api_id_ip(view, endpoint, url: str = '', methods: list = ['GET', 'POST']):
for point in ('_id', '_ip'): for point in ('_id', '_ip'):
view_func = view.as_view(f'{endpoint}_{point}') view_func = view.as_view(f'{endpoint}_{point}')
pk = 'int:' if point == '_id' else '' pk = 'int:' if point == '_id' else ''
bp.add_url_rule(f'/<any(haproxy, nginx, apache, keepalived):service>/<{pk}server_id>{url}', view_func=view_func, methods=methods) bp.add_url_rule(f'/<any(haproxy, nginx, apache, keepalived):service>/<{pk}server_id>{url}', view_func=view_func, methods=methods)
register_api_id_ip(ListenSectionView, 'haproxy_section_post_a', '/section/<any(listen, frontend, backend):section_type>', methods=['POST']) register_api_id_ip(ListenSectionView, 'haproxy_section_post_a', '/section/<any(listen, frontend, backend):section_type>', methods=['POST'])
register_api_id_ip(ListenSectionView, 'haproxy_section_a', '/section/<any(listen, frontend, backend):section_type>/<section_name>', methods=['GET', 'PUT', 'DELETE']) register_api_id_ip(ListenSectionView, 'haproxy_section_a', '/section/<any(listen, frontend, backend):section_type>/<section_name>', methods=['GET', 'PUT', 'DELETE'])
register_api_id_ip(UserListSectionView, 'haproxy_userlist_post_a', '/section/userlist', methods=['POST']) register_api_id_ip(UserListSectionView, 'haproxy_userlist_post_a', '/section/userlist', methods=['POST'])

View File

@ -7,6 +7,7 @@ import app.modules.tools.alerting as alerting
import app.modules.roxywi.common as roxywi_common import app.modules.roxywi.common as roxywi_common
from app.views.channel.views import ChannelView 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'): 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) view_func = view.as_view(endpoint, False)
bp.add_url_rule(f'/{url_beg}/<any(telegram, slack, pd, mm):{pk}>', view_func=view_func, methods=['POST']) bp.add_url_rule(f'/{url_beg}/<any(telegram, slack, pd, mm):{pk}>', view_func=view_func, methods=['POST'])

View File

@ -26,6 +26,7 @@ bp.add_url_rule(
methods=['POST'], methods=['POST'],
) )
@bp.before_request @bp.before_request
@jwt_required() @jwt_required()
def before_request(): def before_request():

View File

@ -225,6 +225,7 @@ def service_history(service, server_ip):
return render_template('history.html', **kwargs) return render_template('history.html', **kwargs)
@bp.route('/internal/show_version') @bp.route('/internal/show_version')
@cache.cached() @cache.cached()
def show_roxywi_version(): def show_roxywi_version():

View File

@ -26,6 +26,7 @@ bp.add_url_rule('/<service>/<int:server_id>/backend', view_func=ServiceBackendVi
bp.add_url_rule('/<service>/<server_id>/status', view_func=ServiceView.as_view('service_ip'), methods=['GET']) bp.add_url_rule('/<service>/<server_id>/status', view_func=ServiceView.as_view('service_ip'), methods=['GET'])
bp.add_url_rule('/<service>/<int:server_id>/status', view_func=ServiceView.as_view('service'), methods=['GET']) bp.add_url_rule('/<service>/<int:server_id>/status', view_func=ServiceView.as_view('service'), methods=['GET'])
@bp.before_request @bp.before_request
@jwt_required() @jwt_required()
def before_request(): def before_request():

View File

@ -10,5 +10,6 @@ def before_request():
""" Protect all the admin endpoints. """ """ Protect all the admin endpoints. """
pass pass
bp.add_url_rule('/<service>/listener', view_func=UDPListener.as_view('udp_listener', False), methods=['GET'], defaults={'listener_id': None}) bp.add_url_rule('/<service>/listener', view_func=UDPListener.as_view('udp_listener', False), methods=['GET'], defaults={'listener_id': None})
bp.add_url_rule('/<service>/listener/<int:listener_id>', view_func=UDPListener.as_view('udp_listener_id', False), methods=['GET']) bp.add_url_rule('/<service>/listener/<int:listener_id>', view_func=UDPListener.as_view('udp_listener_id', False), methods=['GET'])

View File

@ -12,6 +12,7 @@ from app.middleware import get_user_params
from app.modules.roxywi.class_models import BaseResponse, ErrorResponse from app.modules.roxywi.class_models import BaseResponse, ErrorResponse
from app.views.user.views import UserView, UserGroupView 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'): 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) view_func = view.as_view(endpoint)
bp.add_url_rule(f'/<{pk_type}:{pk}>/{url_end}', view_func=view_func, methods=['GET']) 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(UserView, 'user', '', 'user_id')
register_api_with_group(UserGroupView, 'user_group', '', 'groups') register_api_with_group(UserGroupView, 'user_group', '', 'groups')
@bp.before_request @bp.before_request
@jwt_required() @jwt_required()
def before_request(): def before_request():

View File

@ -1448,9 +1448,9 @@ class DefaultsSectionView(HaproxySectionView):
def put(self, service: Literal['haproxy'], server_id: Union[int, str], body: HaproxyDefaultsRequest): def put(self, service: Literal['haproxy'], server_id: Union[int, str], body: HaproxyDefaultsRequest):
""" """
DefaultsSectionView API DefaultsSectionView API
This is the DefaultsSectionView API where you can update the defaults configuration of HAProxy. This is the DefaultsSectionView API where you can update the defaults configuration of HAProxy.
--- ---
tags: tags:
- HAProxy defaults section - HAProxy defaults section

View File

@ -171,7 +171,7 @@ class ServiceView(MethodView):
data = ErrorResponse(error=str(e)).model_dump(mode='json') data = ErrorResponse(error=str(e)).model_dump(mode='json')
elif service == 'keepalived': elif service == 'keepalived':
cmd = ("sudo /usr/sbin/keepalived -v 2>&1|head -1|awk '{print $2}' && sudo systemctl status keepalived |grep -e 'Active'" 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: try:
out = server_mod.ssh_command(server.ip, cmd) out = server_mod.ssh_command(server.ip, cmd)
out1 = out.split() out1 = out.split()
@ -562,7 +562,7 @@ class ServiceConfigVersionsView(MethodView):
try: try:
server_ip = SupportClass(False).return_server_ip_or_id(server_id) server_ip = SupportClass(False).return_server_ip_or_id(server_id)
except Exception as e: 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) config_dir = config_common.get_config_dir(service)
file_format = config_common.get_file_format(service) file_format = config_common.get_file_format(service)
@ -613,7 +613,7 @@ class ServiceConfigVersionsView(MethodView):
try: try:
server_ip = SupportClass(False).return_server_ip_or_id(server_id) server_ip = SupportClass(False).return_server_ip_or_id(server_id)
except Exception as e: 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: for get in body.versions:
if file_format in get and server_ip in get: if file_format in get and server_ip in get:

View File

@ -353,12 +353,12 @@ class UDPListener(MethodView):
self._reconfigure(listener_id, 'uninstall') 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') 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: 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: try:
udp_sql.delete_listener(listener_id) udp_sql.delete_listener(listener_id)
return BaseResponse().model_dump(mode='json'), 204 return BaseResponse().model_dump(mode='json'), 204
except Exception as e: 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 @staticmethod
def _reconfigure(listener_id, action): def _reconfigure(listener_id, action):