pwdlv3.1 / beta /shellLogic /handleLogics /HandleShellDL.py
AkshitShubham's picture
Initial upload of PWDLV3 content
df3ad52 verified
Raw
History Blame Contribute Delete
1.98 kB
from beta.shellLogic.Plugin import Plugin
from mainLogic.big4.Ravenclaw_decrypt.key import LicenseKeyFetcher
from mainLogic.big4.obsolete.Obsolete_Gryffindor_downloadv2 import Download
from mainLogic.startup.checkup import CheckState
from mainLogic.utils import glv_var
from mainLogic import downloader
class HandleShellDL(Plugin):
def __init__(self):
super().__init__()
self.commandList = {
"edl": {
"desc": "Enhanced download with name and ID",
"regex": r"edl",
"func": self.edownload
},
"dl": {
"desc": "Download with name and ID",
"regex": r"dl",
"func": self.download
}
}
self.register_commands()
def edownload(self, args=[]):
"""
Performs an enhanced download using the provided name and ID.
"""
if not args or len(args) < 2:
print("Please provide a name and id")
return
name = args[0]
id = args[1]
ch = CheckState()
state = ch.checkup(glv_var.EXECUTABLES, verbose=False)
prefs = state['prefs']
token = prefs['token']
random_id = prefs['random_id']
fetcher = LicenseKeyFetcher(token, random_id)
fetcher.get_key(id)
url = fetcher.url
cookies = fetcher.cookies
Download(
vsd_path=prefs['vsd'],
url=url,
name=name,
cookie=cookies,
tmp_path=prefs['tmpDir'],
output_path=prefs['dir'],
).download()
def download(self, args=[]):
"""
Performs a basic download using the provided name and ID.
"""
if not args or len(args) < 2:
print("Please provide a name and id")
return
name = args[0]
id = args[1]
downloader.main(
id=id,
name=name,
)