-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake_zip.py
41 lines (35 loc) · 1.31 KB
/
make_zip.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python
# -*- coding: utf-8 -*-
__license__ = 'GPL v3'
__copyright__ = '2019, Thiago Oliveira'
__docformat__ = 'restructuredtext en'
import os, zipfile, sys
from glob import glob
def addFolderToZip(myZipFile, folder, exclude=[]):
# folder = folder.encode('ascii') # convert path to ascii for ZipFile Method
excludelist = []
for ex in exclude:
excludelist.extend(glob(folder+"/"+ex))
for file in glob(folder+"/*"):
if file in excludelist:
continue
if os.path.isfile(file):
myZipFile.write(file, file)
elif os.path.isdir(file):
addFolderToZip(myZipFile, file, exclude=exclude)
def createZipFile(filename, mode, files, exclude=[]):
myZipFile = zipfile.ZipFile(filename, mode, zipfile.ZIP_STORED) # Open the zip file for writing
excludelist = []
for ex in exclude:
excludelist.extend(glob(ex))
for file in files:
if file in excludelist:
continue
# file = file.encode('ascii') # convert path to ascii for ZipFile Method
if os.path.isfile(file):
(filepath, filename) = os.path.split(file)
myZipFile.write(file, filename)
if os.path.isdir(file):
addFolderToZip(myZipFile, file, exclude=exclude)
myZipFile.close()
return 1, filename