]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
remove tahoe_put-web2ish.py
authorZooko O'Whielacronx <zooko@zooko.com>
Mon, 19 Nov 2007 21:07:28 +0000 (14:07 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Mon, 19 Nov 2007 21:07:28 +0000 (14:07 -0700)
It isn't currently used, and I don't remember what part of its behavior was so much better than tahoe_put.py, and Brian has subsequently improved tahoe_put.py.

src/allmydata/scripts/tahoe_put-web2ish.py [deleted file]

diff --git a/src/allmydata/scripts/tahoe_put-web2ish.py b/src/allmydata/scripts/tahoe_put-web2ish.py
deleted file mode 100644 (file)
index 6dceaee..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/env python
-
-import re, sys, urllib
-
-from twisted.web2 import stream
-from twisted.web2.client.http import HTTPClientProtocol, ClientRequest
-from twisted.internet import defer, reactor, protocol
-
-SERVERURL_RE=re.compile("http://([^:]*)(:([1-9][0-9]*))?")
-
-def _put(serverurl, vdrive_fname, local_fname, verbosity):
-    """
-    @param verbosity: 0, 1, or 2, meaning quiet, verbose, or very verbose
-
-    @return: a Deferred which eventually fires with the exit code
-    """
-    mo = SERVERURL_RE.match(serverurl)
-    if not mo:
-        raise ValueError("serverurl is required to look like \"http://HOSTNAMEORADDR:PORT\"")
-    host = mo.group(1)
-    port = int(mo.group(3))
-
-    d = defer.Deferred()
-
-    url = "/vdrive/global/"
-    if vdrive_fname:
-        url += urllib.quote(vdrive_fname)
-
-    if local_fname is None or local_fname == "-":
-        infileobj = sys.stdin
-    else:
-        infileobj = open(local_fname, "rb")
-    instream = stream.FileStream(infileobj)
-
-    d2 = protocol.ClientCreator(reactor, HTTPClientProtocol).connectTCP(host, port)
-
-    def got_resp(resp):
-        # If this isn't a 200 or 201, then write out the response data and
-        # exit with resp.code as our exit value.
-        if resp.code not in (200, 201,):
-            def writeit(data):
-                sys.stdout.write(data)
-
-            def exit(dummy):
-                d.errback(resp.code)
-
-            return stream.readStream(resp.stream, writeit).addCallback(exit)
-
-        # If we are in quiet mode, then just exit with the resp.code.
-        if verbosity == 0:
-            d.callback(resp.code)
-            return
-
-        # Else, this is a successful request and we are not in quiet mode:
-        uribuffer = []
-        def gather_uri(data):
-            uribuffer.append(data)
-
-        def output_result(thingie):
-            uri = ''.join(uribuffer)
-            outbuf = []
-            if resp.code == 200:
-                outbuf.append("200 (OK); ")
-            elif resp.code == 201:
-                outbuf.append("201 (Created); ")
-
-            if verbosity == 2:
-                if resp.code == 200:
-                    outbuf.append("modified existing mapping of name %s to point to " % (vdrive_fname,))
-                elif resp.code == 201:
-                    outbuf.append("created new mapping of name %s to point to " % (vdrive_fname,))
-
-            outbuf.append("URI: %s" % (uri,))
-
-            sys.stdout.write(''.join(outbuf))
-            sys.stdout.write("\n")
-
-            d.callback(resp.code)
-
-        stream.readStream(resp.stream, gather_uri).addCallback(output_result)
-
-    def send_req(proto):
-        proto.submitRequest(ClientRequest('PUT', url, {}, instream)).addCallback(got_resp)
-
-    d2.addCallback(send_req)
-
-    return d
-
-def put(server, vdrive_fname, local_fname, verbosity):
-    """
-    This starts the reactor, does the PUT command, waits for the result, stops
-    the reactor, and returns the exit code.
-
-    @param verbosity: 0, 1, or 2, meaning quiet, verbose, or very verbose
-
-    @return: the exit code
-    """
-    d = _put(server, vdrive_fname, local_fname, verbosity)
-    exitcode = [ None ]
-    def exit(result):
-        exitcode[0] = result
-        reactor.stop()
-        return result
-
-    d.addCallbacks(exit, exit)
-    reactor.run()
-    return exitcode[0]
-