mirror of
https://github.com/paolo-projects/unlocker.git
synced 2025-09-26 19:48:44 +02:00
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
import os
|
|
import urllib
|
|
import urllib2
|
|
from HTMLParser import HTMLParser
|
|
import shutil
|
|
import tarfile
|
|
import zipfile
|
|
|
|
|
|
# Parse the Fusion directory page
|
|
class myHTMLParser(HTMLParser):
|
|
|
|
def __init__(self):
|
|
self.reset()
|
|
self.HTMLDATA = []
|
|
|
|
def handle_data(self, data):
|
|
if data.find("\n") == -1 :
|
|
if data[0].isdigit():
|
|
self.HTMLDATA.append(data)
|
|
|
|
def clean(self):
|
|
self.HTMLDATA = []
|
|
|
|
|
|
def main():
|
|
url = 'http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/'
|
|
dir = os.path.dirname(os.path.abspath(__file__))
|
|
response = urllib2.urlopen(url)
|
|
html = response.read()
|
|
parser = myHTMLParser()
|
|
parser.feed(html)
|
|
url = url + parser.HTMLDATA[-1] + '/'
|
|
response = urllib2.urlopen(url)
|
|
html = response.read()
|
|
parser.clean()
|
|
parser.feed(html)
|
|
url = url + parser.HTMLDATA[-1] + '/packages/com.vmware.fusion.tools.darwin.zip.tar'
|
|
urllib.urlretrieve(url, 'tools/com.vmware.fusion.tools.darwin.zip.tar')
|
|
parser.clean()
|
|
tar = tarfile.open('tools/com.vmware.fusion.tools.darwin.zip.tar', 'r')
|
|
tar.extract('com.vmware.fusion.tools.darwin.zip', path='tools/')
|
|
zip = zipfile.ZipFile('tools/com.vmware.fusion.tools.darwin.zip', 'r')
|
|
zip.extract('payload/darwin.iso', path='tools/')
|
|
zip.extract('payload/darwin.iso.sig', path='tools/')
|
|
shutil.move(dir + '/tools/payload/darwin.iso', dir + '/tools/darwin.iso')
|
|
shutil.move(dir + '/tools/payload/darwin.iso.sig', dir + '/tools/darwin.iso.sig')
|
|
shutil.rmtree(dir + '/tools/payload', True)
|
|
os.remove(dir + '/tools/com.vmware.fusion.tools.darwin.zip.tar')
|
|
os.remove(dir + '/tools/com.vmware.fusion.tools.darwin.zip')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|