summaryrefslogtreecommitdiff
path: root/MAT/mat.py
diff options
context:
space:
mode:
Diffstat (limited to 'MAT/mat.py')
-rw-r--r--MAT/mat.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/MAT/mat.py b/MAT/mat.py
index 4d64c2d..32f55d8 100644
--- a/MAT/mat.py
+++ b/MAT/mat.py
@@ -112,6 +112,13 @@ class XMLParser(xml.sax.handler.ContentHandler):
112def secure_remove(filename): 112def secure_remove(filename):
113 ''' Securely remove the file 113 ''' Securely remove the file
114 ''' 114 '''
115 # I want the file removed, even if it's ro
116 try:
117 os.chmod(filename, 0o777)
118 except OSError:
119 logging.error('Unable to add write rights to %s' % filename)
120 raise MAT.exceptions.UnableToWriteFile
121
115 try: 122 try:
116 if not subprocess.call(['shred', '--remove', filename]): 123 if not subprocess.call(['shred', '--remove', filename]):
117 return True 124 return True
@@ -122,11 +129,12 @@ def secure_remove(filename):
122 129
123 try: 130 try:
124 os.remove(filename) 131 os.remove(filename)
125 return True
126 except OSError: 132 except OSError:
127 logging.error('Unable to remove %s' % filename) 133 logging.error('Unable to remove %s' % filename)
128 raise MAT.exceptions.UnableToRemoveFile 134 raise MAT.exceptions.UnableToRemoveFile
129 135
136 return True
137
130 138
131def create_class_file(name, backup, **kwargs): 139def create_class_file(name, backup, **kwargs):
132 ''' Return a $FILETYPEStripper() class, 140 ''' Return a $FILETYPEStripper() class,