changeset 3397:d307a5c2d431

Make download_url [partly] go through oslog.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Wed, 02 May 2007 21:04:58 +0200
parents 144d9e4c5e2f
children 5930327a0541
files gub/gubb.py gub/misc.py gub/oslog.py gub/repository.py
diffstat 4 files changed, 18 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/gub/gubb.py	Wed May 02 20:55:52 2007 +0200
+++ b/gub/gubb.py	Wed May 02 21:04:58 2007 +0200
@@ -622,6 +622,7 @@
         self.vc_repository = repo
         self.vc_repository.system = self.os_interface.system
         self.vc_repository.read_pipe = self.os_interface.read_pipe
+        self.vc_repository.download_url = self.os_interface.download_url
         return self
 
     def with_tarball (self, mirror='', version='', format='gz', strip_components=1, name=''):
--- a/gub/misc.py	Wed May 02 20:55:52 2007 +0200
+++ b/gub/misc.py	Wed May 02 21:04:58 2007 +0200
@@ -145,14 +145,17 @@
     return results
 
 def download_url (url, dest_dir):
+    print 'Downloading', url
+    _download_url (url, dest_dir)
+    
+def _download_url (url, dest_dir, stderr)
+    if not os.path.isdir (dest_dir):
+        raise Exception ("not a dir", dest_dir)
+
     bufsize = 1024 * 50
     filename = os.path.split (urllib.splithost (url)[1])[1]
 
-    if not os.path.isdir (dest_dir):
-        raise Exception ("not a dir", dest_dir)
-
     out_filename = dest_dir + '/' + filename
-    print 'downloading', url
     try:
         output = open (out_filename, 'w')
         opener = urllib.URLopener ()
@@ -160,12 +163,11 @@
         while True:
             contents = url_stream.read (bufsize)
             output.write (contents)
-            sys.stderr.write ('.')
-            sys.stderr.flush ()
-
+            stderr.write ('.')
+            stderr.flush ()
             if not contents:
                 break
-        sys.stderr.write ('\n')
+        stderr.write ('\n')
     except:
         os.unlink (out_filename)
         raise
--- a/gub/oslog.py	Wed May 02 20:55:52 2007 +0200
+++ b/gub/oslog.py	Wed May 02 21:04:58 2007 +0200
@@ -181,3 +181,8 @@
             os.symlink (os.path.join (root, f), os.path.join (target, f))
         for d in dirs:
             self.shadow_tree (os.path.join (root, d), os.path.join (target, d))
+
+    def download_url (self, url, dest_dir):
+        import misc
+        self.action ('downloading %(s)s -> %(dest_dir)s', locals ())
+        misc._download_url (url, dest_dir, sys.stderr)
--- a/gub/repository.py	Wed May 02 20:55:52 2007 +0200
+++ b/gub/repository.py	Wed May 02 21:04:58 2007 +0200
@@ -36,6 +36,7 @@
         # Fallback, this will go through oslog
         self.system = misc.system
         self.read_pipe = misc.read_pipe
+        self.download_url = misc.download_url
         
     def download (self):
         pass
@@ -171,7 +172,7 @@
     def download (self):
         if self._is_downloaded ():
             return
-        misc.download_url (self.url, self.dir)
+        self.download_url (self.url, self.dir)
 
     def get_checksum (self):
         from gub import misc