Files
Typo3Scan/lib/update.py
2014-08-10 16:31:21 +02:00

44 lines
1.4 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys, gzip, urllib
from collections import OrderedDict
import xml.etree.ElementTree as ElementTree
# Progressbar
def dlProgress(count, blockSize, totalSize):
percent = int(count*blockSize*100/totalSize)
sys.stdout.write("\rDownloading extentions: " + "%d%%" % percent)
sys.stdout.flush()
# Download extensions from typo3 repository
def download_ext():
try:
urllib.urlretrieve('http://ter.sitedesign.dk/ter/extensions.xml.gz', 'extensions.gz', reporthook=dlProgress)
inf = gzip.open('extensions.gz', 'rb')
file_content = inf.read()
inf.close()
outF = file("extensions.xml", 'wb')
outF.write(file_content)
outF.close()
os.remove('extensions.gz')
except Exception, e:
print "Oops! Got:".ljust(32), e
# Parse extensions.xml and save extensions in file
def generate_list():
extension = 'extensions.xml'
print "\nParsing file..."
tree = ElementTree.parse(extension)
tag_dict = tree.getroot()
exten_Dict = {}
for extensions in tag_dict.getchildren():
ext = {extensions.get('extensionkey'):extensions[0].text}
exten_Dict.update(ext)
sorted_dict = sorted(exten_Dict.iteritems(), key=lambda x: int(x[1]), reverse=True)
f = open('extensions','w')
for i in xrange(0,len(exten_Dict)):
f.write(sorted_dict[i][0]+'\n')
f.close()
print 'Loaded', len(exten_Dict), 'extensions\n'
os.remove('extensions.xml')