Skip to content

Conversation

@bylickilabs
Copy link
Owner

This commit introduces a new application called 'Data Shredder' that securely deletes files and folders using various overwrite methods. It includes a graphical user interface built with Tkinter, supporting multiple languages and file export options.

This commit introduces a new application called 'Data Shredder' that securely deletes files and folders using various overwrite methods. It includes a graphical user interface built with Tkinter, supporting multiple languages and file export options.
Copilot AI review requested due to automatic review settings August 26, 2025 20:41
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a comprehensive Data Shredder application with a Tkinter-based GUI for securely deleting files and folders using multiple overwrite methods. The application supports internationalization (German/English), various wiping algorithms, and export functionality for operation reports.

Key changes:

  • Implementation of secure file deletion with multiple algorithms (Zero Fill, Random, DoD 5220.22-M, NIST SP 800-88, Gutmann)
  • GUI application with file/folder selection, progress tracking, and logging
  • Bilingual support with dynamic language switching

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

if written != n:
raise IOError("Short write")
remaining -= n
f.flush(); os.fsync(f.fileno())
Copy link

Copilot AI Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Multiple statements on a single line reduces readability. Consider separating these into two lines: f.flush() followed by os.fsync(f.fileno()).

Suggested change
f.flush(); os.fsync(f.fileno())
f.flush()
os.fsync(f.fileno())

Copilot uses AI. Check for mistakes.
raise ValueError("Unknown method")

def _verify_pattern(self, f, size: int, chunk_size: int, byte_val: int) -> bool:
f.flush(); os.fsync(f.fileno())
Copy link

Copilot AI Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Multiple statements on a single line reduces readability. Consider separating these into two lines: f.flush() followed by os.fsync(f.fileno()).

Suggested change
f.flush(); os.fsync(f.fileno())
f.flush()
os.fsync(f.fileno())

Copilot uses AI. Check for mistakes.
Comment on lines +412 to +414
self.tree.heading("path", text=I18N[self.lang]["columns"]["path"]) ;
self.tree.heading("size", text=I18N[self.lang]["columns"]["size"]) ;
self.tree.heading("status", text=I18N[self.lang]["columns"]["status"]) ;
Copy link

Copilot AI Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Trailing semicolons are unnecessary in Python and reduce code readability. Remove the semicolons from these lines.

Suggested change
self.tree.heading("path", text=I18N[self.lang]["columns"]["path"]) ;
self.tree.heading("size", text=I18N[self.lang]["columns"]["size"]) ;
self.tree.heading("status", text=I18N[self.lang]["columns"]["status"]) ;
self.tree.heading("path", text=I18N[self.lang]["columns"]["path"])
self.tree.heading("size", text=I18N[self.lang]["columns"]["size"])
self.tree.heading("status", text=I18N[self.lang]["columns"]["status"])

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants