annotate mirror.py @ 10:c0856c392096 default tip

Fixed link color on MSIE.
author Atul Varma <varmaa@toolness.com>
date Sun, 13 Jul 2008 14:12:39 +0000
parents fee2c6b5881d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 import os
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 import cPickle
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3 import urllib2
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 import distutils.dir_util
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 import generate_index
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 BASE_URL = "http://ifarchive.flavorplex.com"
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 if __name__ == "__main__":
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 dicts = cPickle.load(open(generate_index.PICKLE_FILENAME, "r"))
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 for info in dicts:
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13 path = info['path']
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 if not os.path.exists(path):
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15 url = "%s/%s" % (BASE_URL, path)
27b872aee1a7 Added mirror.py.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16 print "Fetching %s..." % url
7
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
17 try:
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
18 fileobj = urllib2.urlopen(url)
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
19 contents = fileobj.read()
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
20 distutils.dir_util.mkpath(os.path.dirname(path))
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
21 open(path, "wb").write(contents)
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
22 except urllib2.HTTPError, e:
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
23 if e.code == 403:
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
24 print " Forbidden, skipping."
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
25 else:
fee2c6b5881d Added some fault tolerance to mirror.py.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
26 raise