Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib
- import json
- import time
- import hashlib
- appKey = ''
- appID = ''
- sessionKey = ''
- userEmail = ''
- userPassword = ''
- m = hashlib.sha1()
- parentFolderKeys = []
- folderKey = ''
- def login(email, password):
- m.update(email + password + appID + appKey)
- url = 'https://www.mediafire.com/api/user/get_session_token.php?email=' + email + '&password=' + password + '&application_id=' + appID + '&signature=' + m.hexdigest() + '&version=1&response_format=json'
- result = json.load(urllib.urlopen(url))
- folderKey = ''
- if result.get('response').get('result') == 'Success':
- return result.get('response').get('session_token')
- else:
- print 'Failed to connect to user account.'
- return None
- def getFolders(key):
- if folderKey == '':
- url = 'https://www.mediafire.com/api/folder/get_content.php?session_token=' + key + '&response_format=json'
- else:
- url = 'https://www.mediafire.com/api/folder/get_content.php?folder_key=' + folderKey + '&response_format=json'
- result = json.load(urllib.urlopen(url))
- to = len(result.get('response').get('folder_content').get('folders'))
- for i in range (0, to):
- print result.get('response').get('folder_content').get('folders')[i].get('name')
- def getFiles(key):
- if folderKey == '':
- url = 'https://www.mediafire.com/api/folder/get_content.php?session_token=' + key + '&content_type=files&response_format=json'
- else:
- url = 'https://www.mediafire.com/api/folder/get_content.php?folder_key=' + folderKey + '&content_type=files&response_format=json'
- result = json.load(urllib.urlopen(url))
- to = len(result.get('response').get('folder_content').get('files'))
- for i in range (0, to):
- print result.get('response').get('folder_content').get('files')[i].get('filename')
- def jumpInFolder(key, folderName):
- global folderKey
- if folderKey == '':
- url = 'https://www.mediafire.com/api/folder/get_content.php?session_token=' + key + '&response_format=json'
- else:
- url = 'https://www.mediafire.com/api/folder/get_content.php?folder_key=' + folderKey + '&response_format=json'
- result = json.load(urllib.urlopen(url))
- to = len(result.get('response').get('folder_content').get('folders'))
- for i in range (0, to):
- currentItem = result.get('response').get('folder_content').get('folders')[i]
- if currentItem.get('name') == folderName:
- parentFolderKeys.append(folderKey)
- folderKey = currentItem.get('folderkey')
- break
- if folderKey == '':
- print "Couldn't find a folder named: " + folderName
- def jumpBackInFolder():
- global folderKey
- if len(parentFolderKeys) > 0:
- folderKey = parentFolderKeys.pop()
- def downloadFolder(key):
- downloadList = ''
- if folderKey == '':
- url = 'https://www.mediafire.com/api/folder/get_content.php?session_token=' + key + '&content_type=files&response_format=json'
- else:
- url = 'https://www.mediafire.com/api/folder/get_content.php?folder_key=' + folderKey + '&content_type=files&response_format=json'
- result = json.load(urllib.urlopen(url))
- to = len(result.get('response').get('folder_content').get('files'))
- allFiles = result.get('response').get('folder_content').get('files')
- print "Amount of files: ", len(allFiles)
- for i in range (0, to):
- currentFileKey = allFiles[i].get('quickkey')
- url = 'https://www.mediafire.com/api/file/get_links.php?session_token=' + key + '&quick_key=' + currentFileKey + '&duration=60&response_format=json'
- result = json.load(urllib.urlopen(url))
- download = result.get('response').get('links')[0].get('direct_download')
- fileName = allFiles[i].get('filename')
- downloadList += (download + ', ' + fileName + '\n')
- with open("DownloadList.txt", "w") as textFile:
- textFile.write(downloadList)
- def downloadAll():
- with open("DownloadList.txt", "r") as textFile:
- links = textFile.readlines()
- for i in range (0, len(links)):
- url = links[i].split(', ')[0]
- fileName = links[i].split(', ')[1].split('\n')[0]
- print 'Downloading: ' + fileName
- #page = urllib.urlopen(url).read()
- #with open(fileName + ".html", "w") as textFile:
- # textFile.write(page)
- #ultimateURL = page.split('kNO = "', 1)[1].split('"', 1)[0]
- #print 'Real file name: ' + fileName
- #print 'Real download URL: ' + ultimateURL
- #urllib.urlretrieve(download, fileName)
- urllib.urlretrieve(url, fileName)
- def getInput():
- return raw_input()
- text = ""
- while text != "exit":
- text = getInput()
- if text == "login":
- print 'Enter your email: ',
- userEmail = getInput()
- print 'Enter your password: ',
- userPassword = getInput()
- sessionKey = login(userEmail, userPassword)
- if text == "ls":
- print
- getFolders(sessionKey)
- print
- getFiles(sessionKey)
- if text == "get":
- downloadFolder(sessionKey)
- downloadAll()
- if text.split(' ')[0] == "cd":
- if len(text.split(' ')) > 1:
- arg = text.split(' ', 1)[1]
- if arg == '..':
- print 'Jumping back'
- jumpBackInFolder()
- else:
- jumpInFolder(sessionKey, arg)
- else:
- print 'Syntax for cd was invalid.'
- if text == "help":
- print 'Possible commands:'
- print '\tlogin'
- print '\tls\tShows the folders first, then shows files.'
- print '\tcd [Folder Name]'
- print '\tcd ..'
- print '\tget\tDownloads all the files with a folder.'
- print '\texit'
- print '\thelp'
- print
- print 'Bye!'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement