]> TLD Linux GIT Repositories - tld-builder.git/blobdiff - TLD_Builder/file_sender.py
- use builtin python3 urllib instead of urllib2
[tld-builder.git] / TLD_Builder / file_sender.py
index d09affb0e5d2adaba4558bdb663af15eca945dc7..056045826204a5a0a3646a98bb4d184187343a57 100644 (file)
@@ -8,8 +8,7 @@ import time
 import shutil
 import sys
 import traceback
-import urllib2
-
+import urllib
 from config import config, init_conf
 import mailer
 import path
@@ -17,6 +16,7 @@ import log
 import loop
 import status
 import lock
+import util
 
 retries_times = [5 * 60, 5 * 60, 10 * 60, 10 * 60, 30 * 60, 60 * 60]
 
@@ -30,7 +30,7 @@ def read_name_val(file):
             return r
         m = rx.search(l)
         if m:
-            r[m.group(1)] = string.strip(m.group(2))
+            r[m.group(1)] = m.group(2).strip()
         else:
             break
     f.close()
@@ -61,7 +61,7 @@ def rsync_file(src, target, host):
     p = open(path.rsync_password_file, "r")
     password = ""
     for l in p:
-        l = string.split(l)
+        l = l.split()
         if len(l) >= 2 and l[0] == host:
             password = l[1]
     p.close()
@@ -93,11 +93,11 @@ def post_file(src, url):
     global problems
     try:
         f = open(src, 'r')
-        data = f.read()
+        data = f.read().encode('utf-8')
         f.close()
-        req = urllib2.Request(url, data)
-        req.add_header('X-Filename', os.path.basename(src))
-        f = urllib2.urlopen(req)
+        headers = { 'X-Filename' : os.path.basename(src) }
+        req = urllib.request.Request(url, data=data, headers=headers)
+        f = urllib.request.urlopen(req)
         f.close()
     except Exception as e:
         problems[src] = e
@@ -133,8 +133,8 @@ def maybe_flush_queue(dir):
     retry_delay = 0
     try:
         f = open(dir + "/retry-at")
-        last_retry = int(string.strip(f.readline()))
-        retry_delay = int(string.strip(f.readline()))
+        last_retry = int(f.readline().strip())
+        retry_delay = int(f.readline().strip())
         f.close()
         if last_retry + retry_delay > time.time():
             return
@@ -164,11 +164,11 @@ def flush_queue(dir):
         if d != None: q.append(d)
     def mycmp(x, y):
         rc = cmp(x['Time'], y['Time'])
-        if rc == 0 and x.has_key('Type') and y.has_key('Type'):
+        if rc == 0 and 'Type' in x and 'Type' in y:
             return cmp(x['Type'], y['Type'])
         else:
             return rc
-    q.sort(mycmp)
+    q.sort(key=util.cmp_to_key(mycmp))
 
     error = None
     # copy of q
@@ -193,11 +193,11 @@ def flush_queue(dir):
         for src, msg in problems.items():
             pr = pr + "[src: %s]\n\n%s\n" % (src, msg)
         for d in remaining:
-            if d.has_key('Requester'):
+            if 'Requester' in d:
                 emails[d['Requester']] = 1
         e = emails.keys()
         m = mailer.Message()
-        m.set_headers(to = string.join(e, ", "),
+        m.set_headers(to = ", ".join(e),
                       subject = "[%s] builder queue problem" % config.builder)
         m.write("there were problems sending files from queue %s:\n" % dir)
         m.write("problems:\n")