-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTechSupportPackage.py
More file actions
90 lines (72 loc) · 2.23 KB
/
TechSupportPackage.py
File metadata and controls
90 lines (72 loc) · 2.23 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import os
from os.path import join
import tarfile
import sys, getopt
from optparse import OptionParser
source = 'c:\\backup'
"""FIXED Lists"""
FLists = [".log", ".conf"]
OLists = []
def EXType(file):
for i in range(len(FLists)):
if file.endswith(FLists[i]):
return True
def addMoreExt(file):
for i in range(len(OLists)):
if file.endswith(OLists[i]):
return True
def package(rootDir, _FILE_="TechSupportPkg.tar.gz"):
with tarfile.open(_FILE_, "w:gz") as tar:
for dirName, subdirList, fileList in os.walk(rootDir):
for file in fileList:
if EXType(file) or addMoreExt(file):
FILE=join(dirName, file)
print("A file {} archived".format(FILE))
tar.add(FILE)
def readPackage(_FILE_):
with tarfile.open(_FILE_, "r:gz") as tar:
for tarinfo in tar:
print(tarinfo.mtime, tarinfo.mode, tarinfo.size, tarinfo.name)
def main():
usage = "usage: %prog -c [options] arg1 arg2"
parser = OptionParser(usage=usage)
parser.add_option("-c", "--create", action="store_true", dest="TSPackage",
help="create a tech support package", metavar="FILE")
parser.add_option("-d", "--dir", action="store", dest="dir",
help="get data from additional directories")
parser.add_option("-v", "--view", action="store", dest="view",
help="view tech support package", metavar="FILE")
parser.add_option("-a", "--append", action="store_true", dest="append",
help="add more file types")
(options, args) = parser.parse_args()
"""Required"""
if len(sys.argv) == 1:
parser.print_help()
if (options.append and options.TSPackage) or \
(options.dir or options.append):
for arg in args:
OLists.append(arg)
if options.TSPackage:
package(source)
if options.dir:
package(options.dir, "CustomPkg.tar.gz")
if options.view:
readPackage(options.view)
# try:
# opts, args = getopt.getopt(argv, "hip:v:",["TSPackage=", "Path=", "ViewTSP="])
# except getopt.GetoptError as err:
# print(err)
# usage()
# sys.exit(2)
#
# for opt, arg in opts:
# if opt in ("-h"):
# usage()
# elif opt in ("-i", "--TSPackage"):
# package(source)
# elif opt in ("-p", "--Path"):
# package(arg, "CustomSupportPackage.tar.gz")
# elif opt in ("-v", "--ViewTSP"):
# readPackage(arg)
if __name__ == "__main__":
main()