1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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" ) or key.endswith( ".tar.gz" ):
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" , "src" ]:
check_dir( bucket , x )
if __name__ == "__main__":
run()
|