import types
import struct
import re
-
+import stat
def returnHdr(ts, package):
def _stringToVersion(self, strng):
i = strng.find(':')
if i != -1:
- epoch = long(strng[:i])
+ epoch = strng[:i]
else:
epoch = '0'
j = strng.find('-')
"""produces lists of dirs and files for this header in two lists"""
files = self.listTagByName('filenames')
- fileclasses = self.listTagByName('fileclass')
fileflags = self.listTagByName('fileflags')
- filetuple = zip(files, fileclasses, fileflags)
- classdict = self.listTagByName('classdict')
- for (file, fileclass, flags) in filetuple:
- if fileclass is None or file is None: # this is a dumb test
- self.filenames.append(file)
- continue
- if (flags & 64): # check for ghost
- self.ghostnames.append(file)
- continue
- if classdict[fileclass] == 'directory':
- self.dirnames.append(file)
+ filemodes = self.listTagByName('filemodes')
+ filetuple = zip(files, filemodes, fileflags)
+ for (file, mode, flag) in filetuple:
+ if stat.S_ISDIR(mode):
+ self.dirnames.append(file)
else:
- self.filenames.append(file)
+ if (flag & 64):
+ self.ghostnames.append(file)
+ else:
+ self.filenames.append(file)
def usefulFiles(self):
else:
output = node.serialize(None, 1)
basefile.write(output)
+ basefile.write('\n')
node.unlinkNode()
node.freeNode()
del node
else:
output = node.serialize(None, 1)
flfile.write(output)
+ flfile.write('\n')
node.unlinkNode()
node.freeNode()
del node
else:
output = node.serialize(None, 1)
otherfile.write(output)
+ otherfile.write('\n')
node.unlinkNode()
node.freeNode()
del node