mirror of https://github.com/CIRCL/PyCIRCLean
Change _write_log to _print_log
parent
9d2f5c7241
commit
61aa14c98d
|
@ -191,9 +191,9 @@ class KittenGroomerFileCheck(KittenGroomerBase):
|
||||||
dict_to_return[subtype] = method
|
dict_to_return[subtype] = method
|
||||||
return dict_to_return
|
return dict_to_return
|
||||||
|
|
||||||
def _print_log(self):
|
def _write_log(self):
|
||||||
"""Print the logs related to the current file being processed."""
|
"""Print the logs related to the current file being processed."""
|
||||||
# TODO: change name to _write_log, move to helpers
|
# TODO: move to helpers
|
||||||
tmp_log = self.logger.log.fields(**self.cur_file.log_details)
|
tmp_log = self.logger.log.fields(**self.cur_file.log_details)
|
||||||
if self.cur_file.is_dangerous():
|
if self.cur_file.is_dangerous():
|
||||||
tmp_log.warning(self.cur_file.log_string)
|
tmp_log.warning(self.cur_file.log_string)
|
||||||
|
@ -205,7 +205,6 @@ class KittenGroomerFileCheck(KittenGroomerBase):
|
||||||
def _run_process(self, command_string, timeout=None):
|
def _run_process(self, command_string, timeout=None):
|
||||||
"""Run command_string in a subprocess, wait until it finishes."""
|
"""Run command_string in a subprocess, wait until it finishes."""
|
||||||
args = shlex.split(command_string)
|
args = shlex.split(command_string)
|
||||||
# TODO: log_debug_err and log_debug are now broken, fix, move to helpers
|
|
||||||
with open(self.logger.log_debug_err, 'ab') as stderr, open(self.logger.log_debug_out, 'ab') as stdout:
|
with open(self.logger.log_debug_err, 'ab') as stderr, open(self.logger.log_debug_out, 'ab') as stdout:
|
||||||
try:
|
try:
|
||||||
subprocess.check_call(args, stdout=stdout, stderr=stderr, timeout=timeout)
|
subprocess.check_call(args, stdout=stdout, stderr=stderr, timeout=timeout)
|
||||||
|
@ -560,18 +559,18 @@ class KittenGroomerFileCheck(KittenGroomerBase):
|
||||||
else:
|
else:
|
||||||
self._safe_copy()
|
self._safe_copy()
|
||||||
if not self.cur_file.is_recursive:
|
if not self.cur_file.is_recursive:
|
||||||
self._print_log()
|
self._write_log()
|
||||||
|
|
||||||
def processdir(self, src_dir=None, dst_dir=None):
|
def processdir(self, src_dir=None, dst_dir=None):
|
||||||
"""Main function coordinating file processing."""
|
"""Main function coordinating file processing."""
|
||||||
# TODO: do we need defaults here?
|
# TODO: do we actually need defaults here?
|
||||||
if src_dir is None:
|
if src_dir is None:
|
||||||
src_dir = self.src_root_dir
|
src_dir = self.src_root_dir
|
||||||
if dst_dir is None:
|
if dst_dir is None:
|
||||||
dst_dir = self.dst_root_dir
|
dst_dir = self.dst_root_dir
|
||||||
|
|
||||||
if self.recursive_archive_depth > 0:
|
if self.recursive_archive_depth > 0:
|
||||||
self._print_log()
|
self._write_log()
|
||||||
|
|
||||||
if self.recursive_archive_depth >= self.max_recursive_depth:
|
if self.recursive_archive_depth >= self.max_recursive_depth:
|
||||||
self._handle_archivebomb(src_dir)
|
self._handle_archivebomb(src_dir)
|
||||||
|
@ -579,9 +578,11 @@ class KittenGroomerFileCheck(KittenGroomerBase):
|
||||||
for srcpath in self._list_all_files(src_dir):
|
for srcpath in self._list_all_files(src_dir):
|
||||||
dstpath = srcpath.replace(src_dir, dst_dir)
|
dstpath = srcpath.replace(src_dir, dst_dir)
|
||||||
relative_path = srcpath.replace(src_dir + '/', '')
|
relative_path = srcpath.replace(src_dir + '/', '')
|
||||||
# which path do we want in the log?
|
|
||||||
self.process_file(srcpath, dstpath, relative_path)
|
self.process_file(srcpath, dstpath, relative_path)
|
||||||
|
|
||||||
|
def process_archive(self, src_dir, dst_dir):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main(KittenGroomerFileCheck, 'File sanitizer used in CIRCLean. Renames potentially dangerous files.')
|
main(KittenGroomerFileCheck, 'File sanitizer used in CIRCLean. Renames potentially dangerous files.')
|
||||||
|
|
|
@ -286,7 +286,7 @@ class KittenGroomerBase(object):
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
# TODO: feels like this funciton doesn't need to exist if we move main()
|
# TODO: feels like this function doesn't need to exist if we move main()
|
||||||
def processdir(self, src_dir, dst_dir):
|
def processdir(self, src_dir, dst_dir):
|
||||||
"""
|
"""
|
||||||
Implement this function in your subclass to define file processing behavior.
|
Implement this function in your subclass to define file processing behavior.
|
||||||
|
|
|
@ -45,4 +45,6 @@ class TestIntegration:
|
||||||
|
|
||||||
|
|
||||||
class TestFileHandling:
|
class TestFileHandling:
|
||||||
pass
|
def test_autorun(self):
|
||||||
|
# Run on a single autorun file, confirm that it gets flagged as dangerous
|
||||||
|
pass
|
||||||
|
|
Loading…
Reference in New Issue