forked from sh-edraft.de/sh_discord_bot
Fixed log command
This commit is contained in:
parent
9b5033b80e
commit
6e6157ccf2
@ -1,10 +1,12 @@
|
|||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from string import Template
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
import discord
|
import discord
|
||||||
from cpl_core.dependency_injection import ServiceProviderABC
|
from cpl_core.dependency_injection import ServiceProviderABC
|
||||||
|
from cpl_core.environment import ApplicationEnvironmentABC
|
||||||
from cpl_core.logging import LoggingSettings
|
from cpl_core.logging import LoggingSettings
|
||||||
|
from cpl_core.time import TimeFormatSettings
|
||||||
from cpl_discord.command import DiscordCommandABC
|
from cpl_discord.command import DiscordCommandABC
|
||||||
from cpl_query.extension import List
|
from cpl_query.extension import List
|
||||||
from cpl_translation import TranslatePipe
|
from cpl_translation import TranslatePipe
|
||||||
@ -30,6 +32,8 @@ class LogCommand(DiscordCommandABC):
|
|||||||
client_utils: ClientUtilsServiceABC,
|
client_utils: ClientUtilsServiceABC,
|
||||||
translate: TranslatePipe,
|
translate: TranslatePipe,
|
||||||
permissions: PermissionServiceABC,
|
permissions: PermissionServiceABC,
|
||||||
|
time_format: TimeFormatSettings,
|
||||||
|
env: ApplicationEnvironmentABC
|
||||||
):
|
):
|
||||||
DiscordCommandABC.__init__(self)
|
DiscordCommandABC.__init__(self)
|
||||||
|
|
||||||
@ -41,10 +45,14 @@ class LogCommand(DiscordCommandABC):
|
|||||||
self._t = translate
|
self._t = translate
|
||||||
self._permissions = permissions
|
self._permissions = permissions
|
||||||
|
|
||||||
|
self._env = env
|
||||||
|
self._log_settings: LoggingSettings = logging_settings
|
||||||
|
self._time_format_settings: TimeFormatSettings = time_format
|
||||||
|
|
||||||
self._logger.trace(__name__, f'Loaded command service: {type(self).__name__}')
|
self._logger.trace(__name__, f'Loaded command service: {type(self).__name__}')
|
||||||
|
|
||||||
def _reduce_path(self, p: str) -> str:
|
def _reduce_path(self, p: str) -> str:
|
||||||
if p.count('/') == 1 or p == '':
|
if len(p.split('/')) == 1 or p == '':
|
||||||
return p
|
return p
|
||||||
|
|
||||||
return self._reduce_path(os.path.dirname(p))
|
return self._reduce_path(os.path.dirname(p))
|
||||||
@ -80,6 +88,9 @@ class LogCommand(DiscordCommandABC):
|
|||||||
continue
|
continue
|
||||||
possible_log_paths.append(path)
|
possible_log_paths.append(path)
|
||||||
|
|
||||||
|
files_str = "\n\t".join(possible_log_paths.to_list())
|
||||||
|
self._logger.debug(__name__, f'Possible log files: \n\t{files_str}')
|
||||||
|
|
||||||
files = List(str)
|
files = List(str)
|
||||||
for possible_path in possible_log_paths:
|
for possible_path in possible_log_paths:
|
||||||
for r, d, f in os.walk(possible_path):
|
for r, d, f in os.walk(possible_path):
|
||||||
@ -93,6 +104,9 @@ class LogCommand(DiscordCommandABC):
|
|||||||
|
|
||||||
files.append(os.path.join(r, file))
|
files.append(os.path.join(r, file))
|
||||||
|
|
||||||
|
files_str = "\n\t".join(files.to_list())
|
||||||
|
self._logger.debug(__name__, f'Log files: \n\t{files_str}')
|
||||||
|
|
||||||
zip_file = ZipFile('logs.zip', 'w')
|
zip_file = ZipFile('logs.zip', 'w')
|
||||||
files.for_each(lambda x: zip_file.write(x))
|
files.for_each(lambda x: zip_file.write(x))
|
||||||
zip_file.close()
|
zip_file.close()
|
||||||
|
Loading…
Reference in New Issue
Block a user