source: trunk/bin/asap_update_data @ 1179

Last change on this file since 1179 was 1179, checked in by mar637, 18 years ago

script to update the asap data tables from the ftp site

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/usr/bin/env python
2import urllib2
3import os
4import tarfile
5
6import asap
7import shutil
8
9name = 'asap_data.tar.bz2'
10dataurl  = "http://www.atnf.csiro.au/pub/software/asap/data/"
11tmpdata = '/tmp/asap_data.tar.bz2'
12tmpmd5 = tmpdata+'.md5sum'
13
14
15md5req = urllib2.Request(dataurl+name+'.md5sum')
16response = urllib2.urlopen(md5req)
17md5file = file(tmpmd5,'w')
18md5file.write(response.read())
19md5file.close()
20md5file = file(tmpmd5)
21md5new = md5file.readlines()[0].split()[0]
22
23# get asap module path
24asapbase = asap.__path__[0]
25
26try:
27    fl = os.path.join(asapbase, name+".md5sum")
28    data_md5 = file(fl)
29    ls = data_md5.readlines()[0]
30    data_md5.close()
31    md5old = ls.split()[0]
32except IOError:
33    md5old =''
34
35if md5new != md5old:
36    dreq = urllib2.Request(dataurl+name)
37    src = urllib2.urlopen(dreq)
38    print "Downloading asap data archive...."
39    dst = open(tmpdata, 'w')
40    dst.write(src.read())
41    dst.close()
42    os.chdir(asapbase)
43    tf = tarfile.TarFile.bz2open(tmpdata)
44    print "Extracting data archive in %s.." % asapbase
45    for member in tf.getmembers():
46        tf.extract(member)
47    shutil.copy(tmpmd5, asapbase)
48else:
49    print """Data already at latest available version.
50If you still get errors running asap, please report this."""
Note: See TracBrowser for help on using the repository browser.