randydev commited on
Commit
8620837
Β·
verified Β·
1 Parent(s): aac09d9

Update Akeno/plugins/file.py

Browse files
Files changed (1) hide show
  1. 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
- files = "*"
49
  elif len(message.text.split()) == 2:
50
- files = message.text.split(None, 1)[1]
51
- if not files:
52
- files = "*"
53
- elif files.endswith("/"):
54
- files += "*"
55
- elif "*" not in files:
56
- files += "/*"
57
- files = glob.glob(files)
 
 
 
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
- for ext in FilesEMOJI.keys():
67
- if file.endswith(ext):
68
- allfiles.append(f"{FilesEMOJI[ext]} {file}")
69
- break
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
- if hb(size):
91
- text += f"{emoji} `{nam}` `{hb(size)}" + "`\n"
92
- fos += size
93
- else:
94
- text += f"{emoji} `{nam}`" + "\n"
95
  foc += 1
96
  else:
97
- if hb(int(os.path.getsize(name))):
98
- text += (
99
- emoji
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 not hb(fos):
113
- tfos = "0 B"
114
- if not hb(fls):
115
- tfls = "0 B"
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()