summaryrefslogtreecommitdiff
path: root/buildscripts/s3md5.py
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2010-02-08 16:49:26 -0500
committerEliot Horowitz <eliot@10gen.com>2010-02-08 16:49:26 -0500
commita38baaa991dd88c368b3f539544f9649b488eaf7 (patch)
treef67309d937e5242fe98b2c91561cd4067d15aa70 /buildscripts/s3md5.py
parent2c1274202f16673b452903bee15fc9736442f2df (diff)
downloadmongo-a38baaa991dd88c368b3f539544f9649b488eaf7.tar.gz
push md5 hashes
Diffstat (limited to 'buildscripts/s3md5.py')
-rw-r--r--buildscripts/s3md5.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/buildscripts/s3md5.py b/buildscripts/s3md5.py
new file mode 100644
index 00000000000..89800cd6898
--- /dev/null
+++ b/buildscripts/s3md5.py
@@ -0,0 +1,48 @@
+
+import os
+import sys
+
+sys.path.append( "." )
+sys.path.append( ".." )
+sys.path.append( "../../" )
+sys.path.append( "../../../" )
+
+import simples3
+import settings
+import subprocess
+
+# check s3 for md5 hashes
+
+def check_dir( bucket , prefix ):
+
+ zips = {}
+ md5s = {}
+ for ( key , modify , etag , size ) in bucket.listdir( prefix=prefix ):
+ if key.endswith( ".tgz" ) or key.endswith( ".zip" ):
+ zips[key] = etag.replace( '"' , '' )
+ elif key.endswith( ".md5" ):
+ md5s[key] = True
+ elif key.find( "$folder$" ) > 0:
+ pass
+ else:
+ print( "unknown file type: " + key )
+
+ for x in zips:
+ m = x + ".md5"
+ if m in md5s:
+ continue
+
+ print( "need to do: " + x + " " + zips[x] + " to " + m )
+ bucket.put( m , zips[x] , acl="public-read" )
+
+
+def run():
+
+ bucket = simples3.S3Bucket( settings.bucket , settings.id , settings.key )
+
+ for x in [ "osx" , "linux" , "win32" , "sunos5" ]:
+ check_dir( bucket , x )
+
+
+if __name__ == "__main__":
+ run()