-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
serv.py
103 lines (86 loc) · 3.5 KB
/
serv.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
import os
import tkinter as tk
import shutil
import User.UserProfile
def list_subdirectories(fp):
subdirectories = []
for item in os.listdir(fp):
item_path = os.path.join(fp, item)
if os.path.isdir(item_path) and item != 'node_modules':
subdirectories.append(item_path)
return subdirectories
def move_directory(source_directory, destination_directory):
try:
shutil.move(source_directory, destination_directory)
return destination_directory
except shutil.Error as e:
error_message = str(e)
if "already exists" in error_message:
print("Destination directory already exists")
# Add your notification logic here to display the error message
else:
print("Error moving directory:", error_message)
# Add your notification logic here to display the error message
except Exception as e:
print("Error moving directory:", str(e))
# Add your notification logic here to display the error message
return None
def create_buttons(subdir):
root = tk.Tk()
root.title('Local Installer')
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
window_width = 440
window_height = 400
x_coordinate = (screen_width // 2) - (window_width // 2)
y_coordinate = (screen_height // 2) - (window_height // 2)
root.geometry(f"{window_width}x{window_height}+{x_coordinate}+{y_coordinate}")
source_directory = subdir
destination_directory = f"{User.UserProfile.SourceDirectory}System/.Cache/System/GitHub/Downloads/{source_directory.split('/')[-1]}"
# Check if the source directory is 'node_modules' and skip it
if os.path.basename(source_directory) == 'node_modules':
root.destroy()
return
moved_directory = move_directory(source_directory, destination_directory)
if moved_directory is None:
# Skip if moving failed
root.destroy()
return
print("Moved directory path:", moved_directory)
ImportDirectory = moved_directory
Files0 = []
for path in os.listdir(ImportDirectory):
# check if current path is a file
if os.path.isfile(os.path.join(ImportDirectory, path)):
Files0.append(path)
def button_click(item):
fi = item
# Remove all characters before the character '-' from string
fe = fi.split('.', 1)
if len(fe) > 0:
ffi = fe[1]
if 'py' in ffi:
p1 = f'+{ImportDirectory} ≈python3 {os.path.join(ImportDirectory, fi)}*'
elif ffi == '.c':
p1 = f'+{ImportDirectory} ≈gcc {os.path.join(ImportDirectory, fi)}*'
elif 'cpp' in ffi:
p1 = f'+{ImportDirectory} ≈gpp {os.path.join(ImportDirectory, fi)}*'
elif 'sh' in ffi:
p1 = f'+{ImportDirectory} ≈bash {os.path.join(ImportDirectory, fi)}*'
print('[!] CheckPoint 4|4 [!]')
Form = f'{fi[:-3]} = "{p1}"'
with open(f'{User.UserProfile.SourceDirectory}/System/.Cache/System/Local/Int.txt', 'a') as f:
f.write(f'\n{Form}')
print(Form)
print('Installation Complete!')
root.destroy()
item_list = Files0
for item in item_list:
tk.Button(
root, text=item, command=lambda i=item: button_click(i)
).pack()
root.mainloop()
directory_path = f"{User.UserProfile.SourceDirectory}System/.Cache/System/local/download/"
subdirs = list_subdirectories(directory_path)
for subdir in subdirs:
create_buttons(subdir)