diff options
author | Jelmer Vernooij <jelmer@jelmer.uk> | 2017-07-16 21:31:45 +0000 |
---|---|---|
committer | Jelmer Vernooij <jelmer@jelmer.uk> | 2017-07-16 21:31:45 +0000 |
commit | c1b317d2a65ce63720cf3edd488e868532918add (patch) | |
tree | d81c4093d903068b6cd069cd909d12f6f2af056b /subvertpy/ra_svn.py | |
parent | d0930fe3cc3e3d349631650bb1da9c01134c5e95 (diff) |
Fix style issues.
Diffstat (limited to 'subvertpy/ra_svn.py')
-rw-r--r-- | subvertpy/ra_svn.py | 178 |
1 files changed, 109 insertions, 69 deletions
diff --git a/subvertpy/ra_svn.py b/subvertpy/ra_svn.py index 7b92bfeb..3e61e283 100644 --- a/subvertpy/ra_svn.py +++ b/subvertpy/ra_svn.py @@ -122,7 +122,7 @@ class SVNConnection(object): except NeedMoreData: newdata = self.recv_fn(1) if newdata != "": - #self.mutter("IN: %r" % newdata) + # self.mutter("IN: %r" % newdata) self.inbuffer += newdata def send_msg(self, data): @@ -158,7 +158,8 @@ def feed_editor(conn, editor): if len(args[3]) == 0: token = tokens[args[1]].add_directory(args[0]) else: - token = tokens[args[1]].add_directory(args[0], args[3][0], args[4][0]) + token = tokens[args[1]].add_directory( + args[0], args[3][0], args[4][0]) tokens[args[2]] = token elif command == "open-dir": tokens[args[2]] = tokens[args[1]].open_directory(args[0], args[3]) @@ -175,15 +176,18 @@ def feed_editor(conn, editor): if len(args[3]) == 0: token = tokens[args[1]].add_file(args[0]) else: - token = tokens[args[1]].add_file(args[0], args[3][0], args[4][0]) + token = tokens[args[1]].add_file( + args[0], args[3][0], args[4][0]) tokens[args[2]] = token elif command == "open-file": tokens[args[2]] = tokens[args[1]].open_file(args[0], args[3]) elif command == "apply-textdelta": if len(args[1]) == 0: - txdelta_handler[args[0]] = tokens[args[0]].apply_textdelta(None) + txdelta_handler[args[0]] = tokens[args[0]].apply_textdelta( + None) else: - txdelta_handler[args[0]] = tokens[args[0]].apply_textdelta(args[1][0]) + txdelta_handler[args[0]] = tokens[args[0]].apply_textdelta( + args[1][0]) diff[args[0]] = "" elif command == "textdelta-chunk": diff[args[0]] += args[1] @@ -220,7 +224,7 @@ class Reporter(object): self.conn = conn self.editor = editor - def set_path(self, path, rev, start_empty=False, lock_token=None, + def set_path(self, path, rev, start_empty=False, lock_token=None, depth=None): args = [path, rev, start_empty] if lock_token is not None: @@ -235,8 +239,8 @@ class Reporter(object): def delete_path(self, path): self.conn.send_msg([literal("delete-path"), [path]]) - def link_path(self, path, url, rev, start_empty=False, lock_token=None, - depth=None): + def link_path(self, path, url, rev, start_empty=False, lock_token=None, + depth=None): args = [path, url, rev, start_empty] if lock_token is not None: args.append([lock_token]) @@ -249,7 +253,7 @@ class Reporter(object): def finish(self): self.conn.send_msg([literal("finish-report"), []]) - auth = self.conn.recv_msg() + self.conn.recv_msg() feed_editor(self.conn, self.editor) self.conn.busy = False @@ -301,18 +305,21 @@ class DirectoryEditor(object): copyfrom_data = [copyfrom_path, copyfrom_rev] else: copyfrom_data = [] - self.conn.send_msg([literal("add-file"), [path, self.id, child, copyfrom_data]]) + self.conn.send_msg([literal("add-file"), + [path, self.id, child, copyfrom_data]]) return FileEditor(self.conn, child) def open_file(self, path, base_revnum): self._is_last_open() child = generate_random_id() - self.conn.send_msg([literal("open-file"), [path, self.id, child, base_revnum]]) + self.conn.send_msg([literal("open-file"), + [path, self.id, child, base_revnum]]) return FileEditor(self.conn, child) def delete_entry(self, path, base_revnum): self._is_last_open() - self.conn.send_msg([literal("delete-entry"), [path, base_revnum, self.id]]) + self.conn.send_msg([literal("delete-entry"), + [path, base_revnum, self.id]]) def add_directory(self, path, copyfrom_path=None, copyfrom_rev=-1): self._is_last_open() @@ -321,13 +328,15 @@ class DirectoryEditor(object): copyfrom_data = [copyfrom_path, copyfrom_rev] else: copyfrom_data = [] - self.conn.send_msg([literal("add-dir"), [path, self.id, child, copyfrom_data]]) + self.conn.send_msg([literal("add-dir"), + [path, self.id, child, copyfrom_data]]) return DirectoryEditor(self.conn, child) def open_directory(self, path, base_revnum): self._is_last_open() child = generate_random_id() - self.conn.send_msg([literal("open-dir"), [path, self.id, child, base_revnum]]) + self.conn.send_msg([literal("open-dir"), + [path, self.id, child, base_revnum]]) return DirectoryEditor(self.conn, child) def change_prop(self, name, value): @@ -336,7 +345,8 @@ class DirectoryEditor(object): value = [] else: value = [value] - self.conn.send_msg([literal("change-dir-prop"), [self.id, name, value]]) + self.conn.send_msg([literal("change-dir-prop"), + [self.id, name, value]]) def _is_last_open(self): assert self.conn._open_ids[-1] == self.id @@ -374,13 +384,17 @@ class FileEditor(object): base_check = [] else: base_check = [base_checksum] - self.conn.send_msg([literal("apply-textdelta"), [self.id, base_check]]) - self.conn.send_msg([literal("textdelta-chunk"), [self.id, SVNDIFF0_HEADER]]) + self.conn.send_msg([literal("apply-textdelta"), + [self.id, base_check]]) + self.conn.send_msg([literal("textdelta-chunk"), + [self.id, SVNDIFF0_HEADER]]) + def send_textdelta(delta): if delta is None: self.conn.send_msg([literal("textdelta-end"), [self.id]]) else: - self.conn.send_msg([literal("textdelta-chunk"), [self.id, pack_svndiff0_window(delta)]]) + self.conn.send_msg([literal("textdelta-chunk"), + [self.id, pack_svndiff0_window(delta)]]) return send_textdelta def change_prop(self, name, value): @@ -389,11 +403,12 @@ class FileEditor(object): value = [] else: value = [value] - self.conn.send_msg([literal("change-file-prop"), [self.id, name, value]]) + self.conn.send_msg([literal("change-file-prop"), + [self.id, name, value]]) def mark_busy(unbound): - + def convert(self, *args, **kwargs): self.busy = True try: @@ -406,6 +421,7 @@ def mark_busy(unbound): convert.__name__ = unbound.__name__ return convert + def unmarshall_dirent(d): ret = { "name": d[0], @@ -423,7 +439,7 @@ def unmarshall_dirent(d): class SVNClient(SVNConnection): - def __init__(self, url, progress_cb=None, auth=None, config=None, + def __init__(self, url, progress_cb=None, auth=None, config=None, client_string_func=None, open_tmp_file_func=None): self.url = url (type, opaque) = urlparse.splittype(url) @@ -439,12 +455,19 @@ class SVNClient(SVNConnection): else: (recv_func, send_func) = self._connect_ssh(host) super(SVNClient, self).__init__(recv_func, send_func) - (min_version, max_version, _, self._server_capabilities) = self._recv_greeting() - self.send_msg([max_version, [literal(x) for x in CAPABILITIES if x in self._server_capabilities], self.url]) + (min_version, max_version, _, self._server_capabilities) = ( + self._recv_greeting()) + self.send_msg( + [max_version, + [literal(x) for x in CAPABILITIES + if x in self._server_capabilities], + self.url]) (self._server_mechanisms, mech_arg) = self._unpack() if self._server_mechanisms != []: # FIXME: Support other mechanisms as well - self.send_msg([literal("ANONYMOUS"), [base64.b64encode("anonymous@%s" % socket.gethostname())]]) + self.send_msg([literal("ANONYMOUS"), + [base64.b64encode( + "anonymous@%s" % socket.gethostname())]]) self.recv_msg() msg = self._unpack() if len(msg) > 2: @@ -475,9 +498,11 @@ class SVNClient(SVNConnection): def _connect(self, host): (host, port) = urlparse.splitnport(host, SVN_PORT) - sockaddrs = socket.getaddrinfo(host, port, socket.AF_UNSPEC, + sockaddrs = socket.getaddrinfo( + host, port, socket.AF_UNSPEC, socket.SOCK_STREAM, 0, 0) self._socket = None + err = RuntimeError('no addresses for %s:%s' % (host, port)) for (family, socktype, proto, canonname, sockaddr) in sockaddrs: try: self._socket = socket.socket(family, socktype, proto) @@ -500,7 +525,8 @@ class SVNClient(SVNConnection): else: password = None (host, port) = urlparse.splitnport(host, 22) - self._tunnel = get_ssh_vendor().connect_ssh(user, password, host, port, ["svnserve", "-t"]) + self._tunnel = get_ssh_vendor().connect_ssh( + user, password, host, port, ["svnserve", "-t"]) return (self._tunnel.recv, self._tunnel.send) def get_file_revs(self, path, start, end, file_rev_handler): @@ -508,7 +534,8 @@ class SVNClient(SVNConnection): @mark_busy def get_locations(self, path, peg_revision, location_revisions): - self.send_msg([literal("get-locations"), [path, peg_revision, location_revisions]]) + self.send_msg([literal("get-locations"), [path, peg_revision, + location_revisions]]) self._recv_ack() ret = {} while True: @@ -530,10 +557,11 @@ class SVNClient(SVNConnection): def unlock(self, path_tokens, break_lock, lock_func): raise NotImplementedError(self.unlock) - def mergeinfo(self, paths, revision=-1, inherit=None, include_descendants=False): + def mergeinfo(self, paths, revision=-1, inherit=None, + include_descendants=False): raise NotImplementedError(self.mergeinfo) - def location_segments(self, path, start_revision, end_revision, + def location_segments(self, path, start_revision, end_revision, include_merged_revisions=False): args = [path] if start_revision is None or start_revision == -1: @@ -571,7 +599,8 @@ class SVNClient(SVNConnection): self.send_msg([literal("check-path"), args]) self._recv_ack() ret = self._unpack()[0] - return {"dir": NODE_DIR, "file": NODE_FILE, "unknown": NODE_UNKNOWN, "none": NODE_NONE}[ret] + return {"dir": NODE_DIR, "file": NODE_FILE, "unknown": NODE_UNKNOWN, + "none": NODE_NONE}[ret] def get_lock(self, path): self.send_msg([literal("get-lock"), [path]]) @@ -583,13 +612,14 @@ class SVNClient(SVNConnection): return ret[0] @mark_busy - def get_dir(self, path, revision=-1, dirent_fields=0, want_props=True, want_contents=True): + def get_dir(self, path, revision=-1, dirent_fields=0, want_props=True, + want_contents=True): args = [path] if revision is None or revision == -1: args.append([]) else: args.append([revision]) - + args += [want_props, want_contents] fields = [] @@ -646,7 +676,7 @@ class SVNClient(SVNConnection): self._recv_ack() self._unparse() - def get_commit_editor(self, revprops, callback=None, lock_tokens=None, + def get_commit_editor(self, revprops, callback=None, lock_tokens=None, keep_locks=False): args = [revprops[properties.PROP_REVISION_LOG]] if lock_tokens is not None: @@ -675,16 +705,19 @@ class SVNClient(SVNConnection): return ret[0] @mark_busy - def replay(self, revision, low_water_mark, update_editor, send_deltas=True): - self.send_msg([literal("replay"), [revision, low_water_mark, send_deltas]]) + def replay(self, revision, low_water_mark, update_editor, + send_deltas=True): + self.send_msg([literal("replay"), [revision, low_water_mark, + send_deltas]]) self._recv_ack() feed_editor(self, update_editor) self._unpack() @mark_busy - def replay_range(self, start_revision, end_revision, low_water_mark, cbs, + def replay_range(self, start_revision, end_revision, low_water_mark, cbs, send_deltas=True): - self.send_msg([literal("replay-range"), [start_revision, end_revision, low_water_mark, send_deltas]]) + self.send_msg([literal("replay-range"), [start_revision, end_revision, + low_water_mark, send_deltas]]) self._recv_ack() for i in range(start_revision, end_revision+1): msg = self.recv_msg() @@ -694,7 +727,7 @@ class SVNClient(SVNConnection): cbs[1](i, dict(msg[1]), edit) self._unpack() - def do_switch(self, revision_to_update_to, update_target, recurse, + def do_switch(self, revision_to_update_to, update_target, recurse, switch_url, update_editor, depth=None): args = [] if revision_to_update_to is None or revision_to_update_to == -1: @@ -716,7 +749,7 @@ class SVNClient(SVNConnection): self.busy = False raise - def do_update(self, revision_to_update_to, update_target, recurse, + def do_update(self, revision_to_update_to, update_target, recurse, update_editor, depth=None): args = [] if revision_to_update_to is None or revision_to_update_to == -1: @@ -738,13 +771,15 @@ class SVNClient(SVNConnection): raise def do_diff(self, revision_to_update, diff_target, versus_url, diff_editor, - recurse=True, ignore_ancestry=False, text_deltas=False, depth=None): + recurse=True, ignore_ancestry=False, text_deltas=False, + depth=None): args = [] if revision_to_update is None or revision_to_update == -1: args.append([]) else: args.append([revision_to_update]) - args += [diff_target, recurse, ignore_ancestry, versus_url, text_deltas] + args += [diff_target, recurse, ignore_ancestry, versus_url, + text_deltas] if depth is not None: args.append(literal(depth)) self.busy = True @@ -782,9 +817,9 @@ class SVNClient(SVNConnection): return self._uuid @mark_busy - def log(self, paths, start, end, limit=0, - discover_changed_paths=True, strict_node_history=True, - include_merged_revisions=True, revprops=None): + def log(self, paths, start, end, limit=0, discover_changed_paths=True, + strict_node_history=True, include_merged_revisions=True, + revprops=None): args = [paths] if start is None or start == -1: args.append([]) @@ -825,7 +860,8 @@ class SVNClient(SVNConnection): if len(msg) > 6 and msg[6]: revno = None else: - revno = msg[1] + revno = msg[1] # noqa: F841 + # TODO(jelmer): Do something with revno revprops = {} if len(msg[2]) != 0: revprops[properties.PROP_REVISION_AUTHOR] = msg[2][0] @@ -845,7 +881,7 @@ class SVNClient(SVNConnection): callback(paths, rev, props) else: callback(paths, rev, props, has_children) - + MIN_VERSION = 2 MAX_VERSION = 2 @@ -861,9 +897,8 @@ class SVNServer(SVNConnection): self._logf = logf super(SVNServer, self).__init__(recv_fn, send_fn) - def send_greeting(self): self.send_success( - MIN_VERSION, MAX_VERSION, [literal(x) for x in MECHANISMS], + MIN_VERSION, MAX_VERSION, [literal(x) for x in MECHANISMS], [literal(x) for x in CAPABILITIES]) def send_mechs(self): @@ -876,8 +911,9 @@ class SVNServer(SVNConnection): self.send_success([], "") def send_unknown(self, cmd): - self.send_failure([ERR_RA_SVN_UNKNOWN_CMD, - "Unknown command '%s'" % cmd, __file__, 52]) + self.send_failure( + [ERR_RA_SVN_UNKNOWN_CMD, + "Unknown command '%s'" % cmd, __file__, 52]) def get_latest_rev(self): self.send_ack() @@ -890,13 +926,14 @@ class SVNServer(SVNConnection): revnum = rev[0] kind = self.repo_backend.check_path(path, revnum) self.send_ack() - self.send_success(literal({NODE_NONE: "none", - NODE_DIR: "dir", - NODE_FILE: "file", - NODE_UNKNOWN: "unknown"}[kind])) - - def log(self, target_path, start_rev, end_rev, changed_paths, - strict_node, limit=None, include_merged_revisions=False, + self.send_success(literal({ + NODE_NONE: "none", + NODE_DIR: "dir", + NODE_FILE: "file", + NODE_UNKNOWN: "unknown"}[kind])) + + def log(self, target_path, start_rev, end_rev, changed_paths, + strict_node, limit=None, include_merged_revisions=False, all_revprops=None, revprops=None): def send_revision(revno, author, date, message, changed_paths=None): changes = [] @@ -916,14 +953,15 @@ class SVNServer(SVNConnection): end_revnum = None else: end_revnum = end_rev[0] - self.repo_backend.log(send_revision, target_path, start_revnum, + self.repo_backend.log(send_revision, target_path, start_revnum, end_revnum, changed_paths, strict_node, limit) self.send_msg(literal("done")) self.send_success() def open_backend(self, url): (rooturl, location) = urlparse.splithost(url) - self.repo_backend, self.relpath = self.backend.open_repository(location) + self.repo_backend, self.relpath = self.backend.open_repository( + location) def reparent(self, parent): self.open_backend(parent) @@ -941,7 +979,7 @@ class SVNServer(SVNConnection): self.send_success([]) else: args = [dirent["name"], dirent["kind"], dirent["size"], - dirent["has-props"], dirent["created-rev"]] + dirent["has-props"], dirent["created-rev"]] if "created-date" in dirent: args.append([dirent["created-date"]]) else: @@ -953,8 +991,8 @@ class SVNServer(SVNConnection): self.send_success([args]) def commit(self, logmsg, locks, keep_locks=False, rev_props=None): - self.send_failure([ERR_UNSUPPORTED_FEATURE, - "commit not yet supported", __file__, 42]) + self.send_failure([ERR_UNSUPPORTED_FEATURE, + "commit not yet supported", __file__, 42]) def rev_proplist(self, revnum): self.send_ack() @@ -977,7 +1015,8 @@ class SVNServer(SVNConnection): self.send_msg(literal("done")) self.send_success() - def update(self, rev, target, recurse, depth=None, send_copyfrom_param=True): + def update(self, rev, target, recurse, depth=None, + send_copyfrom_param=True): self.send_ack() while True: msg = self.recv_msg() @@ -997,7 +1036,8 @@ class SVNServer(SVNConnection): if client_result[0] == "success": return else: - self.mutter("Client reported error during update: %r" % client_result) + self.mutter("Client reported error during update: %r" % + client_result) # Needs to be sent back to the client to display self.send_failure(client_result[1][0]) @@ -1053,7 +1093,7 @@ class SVNServer(SVNConnection): # Expect: while not self._stop: - ( cmd, args ) = self.recv_msg() + (cmd, args) = self.recv_msg() if cmd not in self.commands: self.mutter("client used unknown command %r" % cmd) self.send_unknown(cmd) @@ -1073,11 +1113,12 @@ class TCPSVNRequestHandler(StreamRequestHandler): def __init__(self, request, client_address, server): self._server = server - StreamRequestHandler.__init__(self, request, - client_address, server) + StreamRequestHandler.__init__( + self, request, client_address, server) def handle(self): - server = SVNServer(self._server._backend, self.rfile.read, + server = SVNServer( + self._server._backend, self.rfile.read, self.wfile.write, self._server._logf) try: server.serve() @@ -1096,4 +1137,3 @@ class TCPSVNServer(TCPServer): self._logf = logf self._backend = backend TCPServer.__init__(self, addr, TCPSVNRequestHandler) - |