X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=TLD_Builder%2Ffile_sender.py;h=b28980ee764fa3567e96faff6920c6af7321ce30;hb=90e89153ad56b37c24ba84ec1ade4dd4984a4059;hp=0f652db518a511ece93a2c317df2e4fc8e3a2cf0;hpb=b999f53d4bf5d44586ecf028876e8bc20b5fd2ce;p=tld-builder.git diff --git a/TLD_Builder/file_sender.py b/TLD_Builder/file_sender.py index 0f652db..b28980e 100644 --- a/TLD_Builder/file_sender.py +++ b/TLD_Builder/file_sender.py @@ -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] @@ -24,13 +24,13 @@ def read_name_val(file): f = open(file) r = {'_file': file[:-5], '_desc': file} rx = re.compile(r"^([^:]+)\s*:(.*)$") - for l in f.xreadlines(): + for l in f: if l == "END\n": f.close() 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() @@ -60,8 +60,8 @@ def rsync_file(src, target, host): p = open(path.rsync_password_file, "r") password = "" - for l in p.xreadlines(): - l = string.split(l) + for l in p: + l = l.split() if len(l) >= 2 and l[0] == host: password = l[1] p.close() @@ -93,13 +93,13 @@ 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, e: + except Exception as e: problems[src] = e return e return 0 @@ -123,7 +123,7 @@ def send_file(src, target): if m: return not post_file(src, target) log.alert("unsupported protocol: %s" % target) - except OSError, e: + except OSError as e: problems[src] = e log.error("send_file(%s, %s): %s" % (src, target, e)) return False @@ -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 @@ -163,12 +163,12 @@ def flush_queue(dir): d = read_name_val(f) 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'): - return cmp(x['Type'], y['Type']) + rc = util.cmp(x['Time'], y['Time']) + if rc == 0 and 'Type' in x and 'Type' in y: + return util.cmp(x['Type'], y['Type']) else: return rc - q.sort(mycmp) + q.sort(key=util.cmp_to_key(mycmp)) error = None # copy of q @@ -190,14 +190,14 @@ def flush_queue(dir): emails = {} emails[config.admin_email] = 1 pr = "" - for src, msg in problems.iteritems(): + 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")