| 1 | <?xml version="1.0" encoding="UTF-8"?>
|
|---|
| 2 | <list>
|
|---|
| 3 | <item type="dictionary"><dictionary>
|
|---|
| 4 | <item key="type"><![CDATA[filter]]></item>
|
|---|
| 5 | <item key="value" type="dictionary"><dictionary>
|
|---|
| 6 | <item key="acquired" type="int">0</item>
|
|---|
| 7 | <item key="content_type"><![CDATA[application/zip]]></item>
|
|---|
| 8 | <item key="description"/>
|
|---|
| 9 | <item key="format"><![CDATA[myXML]]></item>
|
|---|
| 10 | <item key="id"><![CDATA[myXML]]></item>
|
|---|
| 11 | <item key="meta_types" type="list"><list>
|
|---|
| 12 | <item><![CDATA[ZMSFolder]]></item>
|
|---|
| 13 | </list>
|
|---|
| 14 | </item>
|
|---|
| 15 | <item key="name"><![CDATA[myXML]]></item>
|
|---|
| 16 | <item key="processes" type="list"><list>
|
|---|
| 17 | <item type="dictionary"><dictionary>
|
|---|
| 18 | <item key="file" type="file">
|
|---|
| 19 | <data content_type="text/x-python" filename="zip.py" type="file"><![CDATA[import fnmatch
|
|---|
| 20 | import os
|
|---|
| 21 | import stat
|
|---|
| 22 | import sys
|
|---|
| 23 | import tempfile
|
|---|
| 24 | import zipfile
|
|---|
| 25 |
|
|---|
| 26 | def writeZipFile( zf, basepath, path, filter):
|
|---|
| 27 | print "Process directory "+path
|
|---|
| 28 | for file in os.listdir( path):
|
|---|
| 29 | filepath = path+os.sep+file
|
|---|
| 30 | mode = os.stat( filepath)[stat.ST_MODE]
|
|---|
| 31 | if stat.S_ISDIR( mode):
|
|---|
| 32 | writeZipFile( zf, basepath, filepath, filter)
|
|---|
| 33 | elif filepath != sys.argv[1]:
|
|---|
| 34 | match = False
|
|---|
| 35 | for pattern in filter.split(';'):
|
|---|
| 36 | match = match or fnmatch.fnmatch( filepath, pattern)
|
|---|
| 37 | if match:
|
|---|
| 38 | arcname = filepath[len( basepath)+1:]
|
|---|
| 39 | print "Add "+filepath+" as "+arcname
|
|---|
| 40 | zf.write( filepath, arcname)
|
|---|
| 41 |
|
|---|
| 42 | filename = sys.argv[1]
|
|---|
| 43 | filter = sys.argv[2]
|
|---|
| 44 | print "Create '"+filename+"' with filter '"+filter+"'"
|
|---|
| 45 | zf = zipfile.ZipFile( filename, 'w')
|
|---|
| 46 | for path in sys.argv[3:]:
|
|---|
| 47 | writeZipFile( zf, path, path, filter)
|
|---|
| 48 | zf.close()
|
|---|
| 49 | print "Closed!"
|
|---|
| 50 | ]]></data></item>
|
|---|
| 51 | <item key="id"><![CDATA[pyzip]]></item>
|
|---|
| 52 | </dictionary>
|
|---|
| 53 | </item>
|
|---|
| 54 | </list>
|
|---|
| 55 | </item>
|
|---|
| 56 | <item key="roles" type="list"><list>
|
|---|
| 57 | <item><![CDATA[ZMSAdministrator]]></item>
|
|---|
| 58 | <item><![CDATA[ZMSAuthor]]></item>
|
|---|
| 59 | <item><![CDATA[ZMSEditor]]></item>
|
|---|
| 60 | </list>
|
|---|
| 61 | </item>
|
|---|
| 62 | </dictionary>
|
|---|
| 63 | </item>
|
|---|
| 64 | </dictionary>
|
|---|
| 65 | </item>
|
|---|
| 66 | <item type="dictionary"><dictionary>
|
|---|
| 67 | <item key="type"><![CDATA[process]]></item>
|
|---|
| 68 | <item key="value" type="dictionary"><dictionary>
|
|---|
| 69 | <item key="acquired" type="int">0</item>
|
|---|
| 70 | <item key="command"><![CDATA[{software_home}/../Python/python {trans} {out.zip} *.xml;*.jpg;*.gif {cur_dir}]]></item>
|
|---|
| 71 | <item key="id"><![CDATA[pyzip]]></item>
|
|---|
| 72 | <item key="name"><![CDATA[Zip (Python)]]></item>
|
|---|
| 73 | <item key="type"><![CDATA[process]]></item>
|
|---|
| 74 | </dictionary>
|
|---|
| 75 | </item>
|
|---|
| 76 | </dictionary>
|
|---|
| 77 | </item>
|
|---|
| 78 | </list> |
|---|