Files
addon/addons_zip_generator.py
2017-07-28 19:37:39 -04:00

54 lines
1.8 KiB
Python

""" zip generator """
import os
import zipfile
class Generator:
"""
Original code from addons_xml_generator.py
"""
def __init__( self ):
# generate files
self._generate_addons_file()
# notify user
print "Finished creating zip file"
def _generate_addons_file( self ):
# addon list
addons = os.listdir( "." )
# final addons text
# loop thru and add each addons addon.xml file
for addon in addons:
try:
# skip any file or .svn folder
if ( not os.path.isdir( addon ) or addon == ".svn" ): continue
# create path
_path = os.path.join( addon, "addon.xml" )
# split lines for stripping
xml_lines = open( _path, "r" ).read().splitlines()
# loop thru cleaning each line
for line in xml_lines:
# skip encoding format line
if line.find("<addon") >= 0:
version = line[line.find('version="') + 9:]
version = version[:version.find('"')]
break
# add line
filenamezip = '.\\' + addon + '.\\' + addon + '-' + version
print addon
zf = zipfile.ZipFile(filenamezip + ".zip", "w")
for dirname, subdirs, files in os.walk(addon):
zf.write(dirname)
for filename in files:
if '.zip' not in filename:
zf.write(os.path.join(dirname, filename))
zf.close()
except Exception, e:
# missing or poorly formatted addon.xml
print "Excluding %s for %s" % ( _path, e, )
if ( __name__ == "__main__" ):
# start
Generator()