From f9bbda058208a036e1ea19709bf63d8052786aed Mon Sep 17 00:00:00 2001 From: agahhulusi Date: Wed, 29 May 2024 16:10:32 +0300 Subject: [PATCH] file management is updated --- .../file-management/get_file_content.py | 7 +++++ .../plugins/file-management/write_to_file.py | 26 +++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/usr/share/ahenk/plugins/file-management/get_file_content.py b/usr/share/ahenk/plugins/file-management/get_file_content.py index ee19cf5..da48b5d 100644 --- a/usr/share/ahenk/plugins/file-management/get_file_content.py +++ b/usr/share/ahenk/plugins/file-management/get_file_content.py @@ -4,6 +4,7 @@ from base.plugin.abstract_plugin import AbstractPlugin import json +import os class GetFileContent(AbstractPlugin): @@ -20,6 +21,12 @@ class GetFileContent(AbstractPlugin): file_content = "" is_file_exists = False + if os.path.isdir(file_path): + self.context.create_response(code=self.message_code.TASK_ERROR.value, + message='Dosya yolu bir dizin olamaz.', + content_type=self.get_content_type().APPLICATION_JSON.value) + return + if self.is_exist(file_path): self.logger.info("File exists: " + file_path) is_file_exists = True diff --git a/usr/share/ahenk/plugins/file-management/write_to_file.py b/usr/share/ahenk/plugins/file-management/write_to_file.py index 041f6a0..e4264d1 100644 --- a/usr/share/ahenk/plugins/file-management/write_to_file.py +++ b/usr/share/ahenk/plugins/file-management/write_to_file.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- # Author: Hasan Kara +import os from base.plugin.abstract_plugin import AbstractPlugin class WriteToFile(AbstractPlugin): @@ -17,29 +18,38 @@ class WriteToFile(AbstractPlugin): file_path = self.data['file-path'] file_content = self.data['file-content'] + if os.path.isdir(file_path): + self.context.create_response(code=self.message_code.TASK_ERROR.value, + message='Belirtilen yol bir dizin, dosya yolu olmalı.', + content_type=self.get_content_type().APPLICATION_JSON.value) + return + if self.is_exist(file_path): self.write_file(file_path, file_content) else: path_str = "" - for idx, folder in enumerate(file_path.split("/")): - if idx != len(file_path.split("/")) - 1: - path_str += folder + "/" + for idx, folder in enumerate(file_path.split("/")[:-1]): + path_str += folder + "/" (result_code, p_out, p_err) = self.execute("mkdir -p /" + path_str) if result_code == 0: - self.logger.error('Folders are created') + self.logger.info('Folders are created') else: - self.logger.error('Error occured while creating folders.') + self.logger.error('Error occurred while creating folders.') + self.context.create_response(code=self.message_code.TASK_ERROR.value, + message='Klasörler oluşturulurken hata oluştu.', + content_type=self.get_content_type().APPLICATION_JSON.value) + return self.write_file(file_path, file_content) self.context.create_response(code=self.message_code.TASK_PROCESSED.value, - message='İçerik dosyaya başarıyla yazıldı..', + message='İçerik dosyaya başarıyla yazıldı.', content_type=self.get_content_type().APPLICATION_JSON.value) except Exception as e: self.logger.error(str(e)) self.context.create_response(code=self.message_code.TASK_ERROR.value, - message='İçerik dosyaya yazılırken hata oluştu: {0}'.format(str(e))) - + message='İçerik dosyaya yazılırken hata oluştu: {0}'.format(str(e)), + content_type=self.get_content_type().APPLICATION_JSON.value) def handle_task(task, context): plugin = WriteToFile(task, context)