Update Akeno/plugins/file.py
Browse files- Akeno/plugins/file.py +31 -43
Akeno/plugins/file.py
CHANGED
@@ -33,7 +33,6 @@ FilesEMOJI = {
|
|
33 |
}
|
34 |
|
35 |
# Ultroid
|
36 |
-
|
37 |
@Akeno(
|
38 |
~filters.scheduled
|
39 |
& filters.command(["ls"], CMD_HANDLER)
|
@@ -44,78 +43,67 @@ async def terminal_ls(client: Client, message: Message):
|
|
44 |
user_id = message.from_user.id
|
45 |
if not user_id == 1191668125:
|
46 |
return await message.reply_text("You cannot use this only developer")
|
|
|
47 |
if len(message.text.split()) == 1:
|
48 |
-
|
49 |
elif len(message.text.split()) == 2:
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
58 |
if not files:
|
59 |
return await message.reply_text("`Directory Empty or Incorrect.`")
|
|
|
60 |
folders = []
|
61 |
allfiles = []
|
|
|
62 |
for file in sorted(files):
|
63 |
if os.path.isdir(file):
|
64 |
folders.append(f"π {file}")
|
65 |
else:
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
else:
|
71 |
-
if "." in str(file)[1:]:
|
72 |
-
allfiles.append(f"π· {file}")
|
73 |
-
else:
|
74 |
-
allfiles.append(f"π {file}")
|
75 |
omk = [*sorted(folders), *sorted(allfiles)]
|
76 |
text = ""
|
77 |
fls, fos = 0, 0
|
78 |
flc, foc = 0, 0
|
|
|
79 |
for i in omk:
|
80 |
try:
|
81 |
emoji = i.split()[0]
|
82 |
name = i.split(maxsplit=1)[1]
|
83 |
nam = name.split("/")[-1]
|
|
|
84 |
if os.path.isdir(name):
|
85 |
size = 0
|
86 |
for path, dirs, files in os.walk(name):
|
87 |
for f in files:
|
88 |
fp = os.path.join(path, f)
|
89 |
size += os.path.getsize(fp)
|
90 |
-
|
91 |
-
|
92 |
-
fos += size
|
93 |
-
else:
|
94 |
-
text += f"{emoji} `{nam}`" + "\n"
|
95 |
foc += 1
|
96 |
else:
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
+ f" `{nam}`"
|
101 |
-
+ " `"
|
102 |
-
+ hb(int(os.path.getsize(name)))
|
103 |
-
+ "`\n"
|
104 |
-
)
|
105 |
-
fls += int(os.path.getsize(name))
|
106 |
-
else:
|
107 |
-
text += f"{emoji} `{nam}`" + "\n"
|
108 |
flc += 1
|
109 |
except BaseException:
|
110 |
pass
|
111 |
tfos, tfls, ttol = hb(fos), hb(fls), hb(fos + fls)
|
112 |
-
if
|
113 |
-
|
114 |
-
if
|
115 |
-
|
116 |
-
if not hb(fos + fls):
|
117 |
-
ttol = "0 B"
|
118 |
-
text += f"\n\n`Folders` : `{foc}` : `{tfos}`\n`Files` : `{flc}` : `{tfls}`\n`Total` : `{flc+foc}` : `{ttol}`"
|
119 |
try:
|
120 |
if (flc + foc) > 100:
|
121 |
text = text.replace("`", "")
|
@@ -124,4 +112,4 @@ async def terminal_ls(client: Client, message: Message):
|
|
124 |
with io.BytesIO(str.encode(text)) as out_file:
|
125 |
out_file.name = "output.txt"
|
126 |
await message.reply_document(out_file)
|
127 |
-
await message.delete()
|
|
|
33 |
}
|
34 |
|
35 |
# Ultroid
|
|
|
36 |
@Akeno(
|
37 |
~filters.scheduled
|
38 |
& filters.command(["ls"], CMD_HANDLER)
|
|
|
43 |
user_id = message.from_user.id
|
44 |
if not user_id == 1191668125:
|
45 |
return await message.reply_text("You cannot use this only developer")
|
46 |
+
|
47 |
if len(message.text.split()) == 1:
|
48 |
+
files_pattern = "*"
|
49 |
elif len(message.text.split()) == 2:
|
50 |
+
files_pattern = message.text.split(None, 1)[1]
|
51 |
+
else:
|
52 |
+
files_pattern = "*"
|
53 |
+
|
54 |
+
if files_pattern.endswith("/"):
|
55 |
+
files_pattern += "*"
|
56 |
+
elif "*" not in files_pattern:
|
57 |
+
files_pattern += "/*"
|
58 |
+
|
59 |
+
files = glob.glob(files_pattern)
|
60 |
+
|
61 |
if not files:
|
62 |
return await message.reply_text("`Directory Empty or Incorrect.`")
|
63 |
+
|
64 |
folders = []
|
65 |
allfiles = []
|
66 |
+
|
67 |
for file in sorted(files):
|
68 |
if os.path.isdir(file):
|
69 |
folders.append(f"π {file}")
|
70 |
else:
|
71 |
+
file_extension = os.path.splitext(file)[1]
|
72 |
+
emoji = FilesEMOJI.get(file_extension, 'π·')
|
73 |
+
allfiles.append(f"{emoji} {file}")
|
74 |
+
|
|
|
|
|
|
|
|
|
|
|
75 |
omk = [*sorted(folders), *sorted(allfiles)]
|
76 |
text = ""
|
77 |
fls, fos = 0, 0
|
78 |
flc, foc = 0, 0
|
79 |
+
|
80 |
for i in omk:
|
81 |
try:
|
82 |
emoji = i.split()[0]
|
83 |
name = i.split(maxsplit=1)[1]
|
84 |
nam = name.split("/")[-1]
|
85 |
+
|
86 |
if os.path.isdir(name):
|
87 |
size = 0
|
88 |
for path, dirs, files in os.walk(name):
|
89 |
for f in files:
|
90 |
fp = os.path.join(path, f)
|
91 |
size += os.path.getsize(fp)
|
92 |
+
fos += size
|
93 |
+
text += f"{emoji} `{nam}` `{hb(size)}`\n" if hb(size) else f"{emoji} `{nam}`\n"
|
|
|
|
|
|
|
94 |
foc += 1
|
95 |
else:
|
96 |
+
file_size = os.path.getsize(name)
|
97 |
+
fls += file_size
|
98 |
+
text += f"{emoji} `{nam}` `{hb(file_size)}`\n" if hb(file_size) else f"{emoji} `{nam}`\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
flc += 1
|
100 |
except BaseException:
|
101 |
pass
|
102 |
tfos, tfls, ttol = hb(fos), hb(fls), hb(fos + fls)
|
103 |
+
tfos = tfos if tfos else "0 B"
|
104 |
+
tfls = tfls if tfls else "0 B"
|
105 |
+
ttol = ttol if ttol else "0 B"
|
106 |
+
text += f"\n\n`Folders` : `{foc}` : `{tfos}`\n`Files` : `{flc}` : `{tfls}`\n`Total` : `{flc+foc}` : `{ttol}`"
|
|
|
|
|
|
|
107 |
try:
|
108 |
if (flc + foc) > 100:
|
109 |
text = text.replace("`", "")
|
|
|
112 |
with io.BytesIO(str.encode(text)) as out_file:
|
113 |
out_file.name = "output.txt"
|
114 |
await message.reply_document(out_file)
|
115 |
+
await message.delete()
|