-
Notifications
You must be signed in to change notification settings - Fork 0
/
filer.py
112 lines (101 loc) Β· 5.14 KB
/
filer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import os
import time
import directory_tree
from rich import print
from rich.prompt import Prompt
from encdec import encrypt
from encdec import decrypt
from panel import displayMenu
from config import *
from efd import listEncryptedFiles
from sounds import *
def clear_screen():
"""Function used for removing all text in the terminal"""
if os.name == "nt":
os.system("cls")
elif os.name == "posix":
os.system("clear")
else:
print("\nUnknown operating system. Please run this script on a Windows or Linux machine.")
error()
def main():
"""File encryption and decryption application.
Usage:
1. Run the script and enter a valid file path or leave it blank to use the current directory.
2. Choose an option from the menu:
- 1: Encrypt a file.
- 2: Decrypt a previously encrypted file.
- 3: View the directory tree of the specified path.
- 4: List all encrypted files in the system.
- 5: Exit the application.
"""
create_config_directory()
create_config_file()
display_text = """
βββββ ββββ βββββ
βββββ ββββ βββββ
ββββ βββ ββββββββ βββββ ββββ ββββββββ βββββββ ββββββ βββββ
ββββββββ βββββββββββββββ ββββ βββββββββββββββββ ββββββββ βββββ
βββββββββ ββββ βββ ββββ ββββ ββββ ββββ ββββ ββββ βββββββββββ
ββββ βββββ ββββ ββββ ββββ ββββ ββββ ββββ βββββββ ββββ βββββββ
βββββ ββββββ βββββ βββββββββ ββββββββ βββββββ ββββββββ ββββββ
βββββ ββββ βββββ ββββββββ βββββββ βββββ ββββββ ββββββ
βββ ββββ ββββ
ββββββββ βββββ
ββββββ βββββ
βββββββββββ βββ ββββ
ββββββββββββ βββ βββββ
ββββ β β ββββ ββββ ββββββ ββββββββ
ββββββββ βββββ ββββ ββββββββββββββββββ
ββββββββ ββββ ββββ ββββββββ ββββ βββ
ββββ β ββββ ββββ βββββββ ββββ
βββββ βββββ βββββββββββββ βββββ
βββββ βββββ βββββ ββββββ βββββ
"""
print(f"[green]{display_text}[/green]")
print("\n")
path = Prompt.ask("[cyan] Enter Path")
try:
if path != "":
if os.path.exists(path):
os.chdir(path)
else:
print("[bright_red] Invalid Path!\n")
error()
time.sleep(2)
return
else:
path = os.getcwd()
except:
print( print("[bright_red] Invalid Path!\n"))
error()
time.sleep(2)
return
print("\n")
displayMenu(path)
while True:
choice = Prompt.ask("[cyan] Enter your choice [/]")
if choice == "1":
print("\n")
encrypt()
elif choice == "2":
print("\n")
decrypt()
elif choice == "3":
print("\n")
directory_tree.display_tree(path)
print("\n")
displayMenu(path)
elif choice == "4":
listEncryptedFiles()
print("\n")
displayMenu(path)
elif choice == "5":
print("\n[bright_red bold] Exiting... [/]")
break
else:
print("\n[bright_red bold] Invalid Choice! [/]")
error()
clear_screen()
displayMenu(path)
main()