@@ -251,6 +251,10 @@ def archive(self, wikidb, dumpdate, dumpdir=None, resume=False):
251251 project = converter .getNameFromDB (wikidb , format = 'project' )
252252 datename = converter .getDateFromWiki (dumpdate )
253253 arcdate = converter .getDateFromWiki (dumpdate , archivedate = True )
254+ checksums = [
255+ 'md5sums.txt' ,
256+ 'sha1sums.txt'
257+ ]
254258
255259 if dumpdir is None :
256260 dumps = "%s/%s/%s" % (self .config .get ('dumpdir' ), wikidb , dumpdate )
@@ -264,6 +268,8 @@ def archive(self, wikidb, dumpdate, dumpdir=None, resume=False):
264268 count = 0
265269 iaitem = balchivist .BALArchiver ('%s-%s' % (wikidb , dumpdate ))
266270 allfiles = self .getDumpFiles (wikidb , dumpdate )
271+
272+ # If --resume is given, check which files are missing
267273 if resume :
268274 items = []
269275 iafiles = iaitem .getFileList ()
@@ -278,6 +284,16 @@ def archive(self, wikidb, dumpdate, dumpdir=None, resume=False):
278284 return True
279285 else :
280286 items = allfiles
287+
288+ # Check if checksums are available and add them if they do
289+ for checksum in checksums :
290+ filename = "%s-%s-%s" % (wikidb , dumpdate , checksum )
291+ filepath = "%s/%s" % (dumps , filename )
292+ if os .path .exists (filepath ):
293+ items .append (filename )
294+ else :
295+ continue
296+
281297 os .chdir (dumps )
282298 for dumpfile in items :
283299 self .printv ("Uploading file: %s" % (dumpfile ))
0 commit comments