From eacd2831afe51e593b6ee5213eb4b13400ec9804 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 6 Jul 2010 16:33:29 -0700 Subject: Don't write duplicate lines to sources This can happen if somebody uses the "upload" target on the same file more than once. --- src/pyfedpkg/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pyfedpkg/__init__.py b/src/pyfedpkg/__init__.py index c44ed7f..920c85e 100644 --- a/src/pyfedpkg/__init__.py +++ b/src/pyfedpkg/__init__.py @@ -1111,8 +1111,10 @@ class PackageModule: # Decide to overwrite or append to sources: if replace: + sources = [] sources_file = open('sources', 'w') else: + sources = open('sources', 'r').readlines() sources_file = open('sources', 'a') # Will add new sources to .gitignore if they are not already there. @@ -1124,7 +1126,8 @@ class PackageModule: file_hash = _hash_file(f, self.lookasidehash) log.info("Uploading: %s %s" % (file_hash, f)) file_basename = os.path.basename(f) - sources_file.write("%s %s\n" % (file_hash, file_basename)) + if not "%s %s\n" % (file_hash, file_basename) in sources: + sources_file.write("%s %s\n" % (file_hash, file_basename)) # Add this file to .gitignore if it's not already there: gitignore.add(file_basename) -- cgit