move around gzipOpen for use in another program
authorSeth Vidal <skvidal@linux.duke.edu>
Mon, 17 Jan 2005 07:52:06 +0000 (07:52 +0000)
committerSeth Vidal <skvidal@linux.duke.edu>
Mon, 17 Jan 2005 07:52:06 +0000 (07:52 +0000)
relabel 0.4.2

dumpMetadata.py
genpkgmetadata.py

index 5431455c4e55c8310a17b6aa83a7083993f0cf42..4647e112a41709088faf4ddb63c730273c34a731 100644 (file)
@@ -27,7 +27,34 @@ import types
 import struct
 import re
 import stat
-from genpkgmetadata import _gzipOpen
+
+# done to fix gzip randomly changing the checksum
+import gzip
+from zlib import error as zlibError
+from gzip import write32u, FNAME
+
+__all__ = ["GzipFile","open"]
+
+class GzipFile(gzip.GzipFile):
+    def _write_gzip_header(self):
+        self.fileobj.write('\037\213')             # magic header
+        self.fileobj.write('\010')                 # compression method
+        fname = self.filename[:-3]
+        flags = 0
+        if fname:
+            flags = FNAME
+        self.fileobj.write(chr(flags))
+        write32u(self.fileobj, long(0))
+        self.fileobj.write('\002')
+        self.fileobj.write('\377')
+        if fname:
+            self.fileobj.write(fname + '\000')
+
+
+def _gzipOpen(filename, mode="rb", compresslevel=9):
+    return GzipFile(filename, mode, compresslevel)
+    
+
 
 def returnFD(filename):
     try:
index 608ec36871f499025a8eed488b373e753e8700b5..ecc4f8ba43216e9914f8d4b76ca066f57f982c2e 100755 (executable)
@@ -27,13 +27,10 @@ import rpm
 import libxml2
 import string
 import fnmatch
-# done to fix gzip randomly changing the checksum
-import gzip
-from zlib import error as zlibError
-from gzip import write32u, FNAME
 
 import dumpMetadata
-__version__ = '0.4.1'
+from dumpMetadata import _gzipOpen
+__version__ = '0.4.2'
 
 def errorprint(stuff):
     print >> sys.stderr, stuff
@@ -123,28 +120,6 @@ def checkAndMakeDir(dir):
     return result
 
 
-# this is done to make the hdr writing _more_ sane for rsync users especially
-__all__ = ["GzipFile","open"]
-
-class GzipFile(gzip.GzipFile):
-    def _write_gzip_header(self):
-        self.fileobj.write('\037\213')             # magic header
-        self.fileobj.write('\010')                 # compression method
-        fname = self.filename[:-3]
-        flags = 0
-        if fname:
-            flags = FNAME
-        self.fileobj.write(chr(flags))
-        write32u(self.fileobj, long(0))
-        self.fileobj.write('\002')
-        self.fileobj.write('\377')
-        if fname:
-            self.fileobj.write(fname + '\000')
-
-
-def _gzipOpen(filename, mode="rb", compresslevel=9):
-    return GzipFile(filename, mode, compresslevel)
-    
 def parseArgs(args):
     """
        Parse the command line args return a commands dict and directory.
@@ -158,15 +133,15 @@ def parseArgs(args):
     cmds['groupfile'] = None
     cmds['sumtype'] = 'sha'
     cmds['pretty'] = 0
+#    cmds['updategroupsonly'] = 0
     cmds['file-pattern-match'] = ['.*bin\/.*', '^\/etc\/.*', '^\/usr\/lib\/sendmail$']
     cmds['dir-pattern-match'] = ['.*bin\/.*', '^\/etc\/.*']
 
     try:
         gopts, argsleft = getopt.getopt(args, 'phqVvg:s:x:u:', ['help', 'exclude=', 
-                                                              'quiet', 'verbose', 
-                                                              'baseurl=', 'groupfile=',
-                                                              'checksum=', 'version',
-                                                              'pretty'])
+                                            'quiet', 'verbose',
+                                            'baseurl=', 'groupfile=', 'checksum=',
+                                            'version', 'pretty'])
     except getopt.error, e:
         errorprint(_('Options Error: %s.') % e)
         usage()
@@ -219,6 +194,8 @@ def parseArgs(args):
                 cmds['excludes'].append(a)
             elif arg in ['-p', '--pretty']:
                 cmds['pretty'] = 1
+#            elif arg in ['--update-groups-only']:
+#                cmds['updategroupsonly'] = 1
             elif arg in ['-s', '--checksum']:
                 if a not in ['md5', 'sha']:
                     errorprint(_('Error: checksums are: md5 or sha.'))