summaryrefslogtreecommitdiff
path: root/addons/base_module_publish/wizard/module_zip.py
diff options
context:
space:
mode:
authorced <>2007-07-30 13:34:59 +0000
committerced <>2007-07-30 13:34:59 +0000
commit5d2d3a07f217d829b687965a7d8d7b52389a9df5 (patch)
tree926963242ae88d7ff233e007115e6c7875b2b1c9 /addons/base_module_publish/wizard/module_zip.py
parentde25bb420ad5b8c9aaafb00dfc17db27abdb4a32 (diff)
base, base_module_publish, kernel: improve module publication
- allow including source - fix GPL-2 - module are active=False by default - add license in module object bzr revid: ced-841334c96cd7b358eb44970adbde75b2bc7b971e
Diffstat (limited to 'addons/base_module_publish/wizard/module_zip.py')
-rw-r--r--addons/base_module_publish/wizard/module_zip.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/addons/base_module_publish/wizard/module_zip.py b/addons/base_module_publish/wizard/module_zip.py
index d3698cafc8e..68d4ddfdfc4 100644
--- a/addons/base_module_publish/wizard/module_zip.py
+++ b/addons/base_module_publish/wizard/module_zip.py
@@ -8,20 +8,23 @@ from zipfile import PyZipFile, ZIP_DEFLATED
import StringIO
import base64
-def _zippy(archive, fromurl, path):
+def _zippy(archive, fromurl, path, src=True):
url = os.path.join(fromurl, path)
if os.path.isdir(url):
if path.split('/')[-1]=='.svn':
return False
for fname in os.listdir(url):
- _zippy(archive, fromurl, path and os.path.join(path, fname) or fname)
+ _zippy(archive, fromurl, path and os.path.join(path, fname) or fname, src=src)
else:
- if (path.split('.')[-1] not in ['py','pyo','pyc']) or (os.path.basename(path)=='__terp__.py'):
- print 'Adding', os.path.join(fromurl, path), 'as', path
+ if src:
+ exclude = ['pyo', 'pyc']
+ else:
+ exclude = ['py','pyo','pyc']
+ if (path.split('.')[-1] not in exclude) or (os.path.basename(path)=='__terp__.py'):
archive.write(os.path.join(fromurl, path), path)
return True
-def createzip(cr, uid, moduleid, context, b64enc=True):
+def createzip(cr, uid, moduleid, context, b64enc=True, src=True):
module_obj=pooler.get_pool(cr.dbname).get('ir.module.module')
module_name = module_obj.browse(cr, uid, moduleid).name
module_version = module_obj.browse(cr, uid, moduleid).latest_version
@@ -31,7 +34,7 @@ def createzip(cr, uid, moduleid, context, b64enc=True):
archname = StringIO.StringIO('wb')
archive = PyZipFile(archname, "w", ZIP_DEFLATED)
archive.writepy(os.path.join(ad,module_name))
- _zippy(archive, ad, module_name)
+ _zippy(archive, ad, module_name, src=src)
archive.close()
val =archname.getvalue()
archname.close()