[mentors-ops] r256 - in importer/python: . testsuite


Fri Sep 15 14:09:02 CEST 2006


Author: 
Date: 2006-09-15 14:09:01 +0200 (Fri, 15 Sep 2006)
New Revision: 256

Modified:
   importer/python/importy.py
   importer/python/testsuite/tester.py
Log:
Fixed a problem where uploads were processed before being completely
uploaded through FTP. Now changes files must be unchanged for 30 seconds
before the importer will pick them up.


Modified: importer/python/importy.py
===================================================================
--- importer/python/importy.py	2006-09-07 11:46:04 UTC (rev 255)
+++ importer/python/importy.py	2006-09-15 12:09:01 UTC (rev 256)
@@ -13,7 +13,7 @@
 #   (caveat: the orig file may be listed in .dsc but not have been
 #   uploaded because it's already in the repository)
 
-import sys, re, string, os, shutil, time, datetime, logging
+import sys, re, string, os, shutil, time, datetime, logging, time
 from stat import *
 
 sys.path.append('/etc/mentors')
@@ -620,8 +620,11 @@
          log.info("main: (Simulation mode) Not removing changes files: %s" %
                changes_filename)
       else:
-         log.info("main: Removing changes files: %s" % changes_filename)
-         os.remove(changes_filename)
+         #log.info("main: Removing changes files: %s" % changes_filename)
+         log.info("main: Moving changes files %s to %s" % (changes_filename,
+            Config.ImporterChangesArchiveDirectory))
+         #os.remove(changes_filename)
+         shutil.move(changes_filename,Config.ImporterChangesArchiveDirectory)
    else:
       log.info("main: Changes file %s already removed." % changes_filename)
 
@@ -632,6 +635,16 @@
    changes_files = Importer.listControlFiles('changes')
 
    for changes_filename in changes_files:
+      log = logging.getLogger()
+
+      # Only process changes file that are older than 10 seconds
+      # so we don't process files that are still written to.
+      last_written_age = time.time() - os.stat(changes_filename)[8]
+      if last_written_age < Config.ImporterDelay:
+         log.debug("Changes file '%s' ignored. Only %s (<%s) seconds old."
+            % (changes_filename, last_written_age, Config.ImporterDelay))
+         continue
+
       # Open a log file to write to
       logfilename = datetime.datetime.now().isoformat()
       # Tell the Importer module which log file we are writing to
@@ -644,7 +657,6 @@
       Importer.package = '???'
       Importer.maintainer = None
       # Extend the standard "root" logger to write to a log file
-      log = logging.getLogger()
       log_FileHandler = logging.FileHandler(
          os.path.join(Config.ImporterLogDirectory, logfilename))
       log_Formatter = logging.Formatter(

Modified: importer/python/testsuite/tester.py
===================================================================
--- importer/python/testsuite/tester.py	2006-09-07 11:46:04 UTC (rev 255)
+++ importer/python/testsuite/tester.py	2006-09-15 12:09:01 UTC (rev 256)
@@ -15,7 +15,6 @@
     'invalid-signature':'SignatureError raised',
     'unsigned-package':'SignatureError raised',
     #'unknown-maintainer':'UnknownmaintainerError raised',
-    'native-package':'native tarball found',
     'source-only':'Package was imported successfully'
 	}
 




More information about the mentors-ops mailing list