rcsclient.py 1.76 KB
Newer Older
1 2 3 4 5 6 7
"""Customize this file to change the default client etc.

(In general, it is probably be better to make local operation the
default and to require something like an RCSSERVER environment
variable to enable remote operation.)

"""
Guido van Rossum's avatar
Guido van Rossum committed
8 9

import string
10
import os
Guido van Rossum's avatar
Guido van Rossum committed
11

12 13 14
# These defaults don't belong here -- they should be taken from the
# environment or from a hidden file in the current directory

Guido van Rossum's avatar
Guido van Rossum committed
15 16 17
HOST = 'voorn.cwi.nl'
PORT = 4127
VERBOSE = 1
18
LOCAL = 0
19 20 21 22 23

import client


class RCSProxyClient(client.SecureClient):
24 25 26

    def __init__(self, address, verbose = client.VERBOSE):
        client.SecureClient.__init__(self, address, verbose)
27 28


Guido van Rossum's avatar
Guido van Rossum committed
29
def openrcsclient(opts = []):
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
    "open an RCSProxy client based on a list of options returned by getopt"
    import RCSProxy
    host = HOST
    port = PORT
    verbose = VERBOSE
    local = LOCAL
    directory = None
    for o, a in opts:
        if o == '-h':
            host = a
            if ':' in host:
                i = string.find(host, ':')
                host, p = host[:i], host[i+1:]
                if p:
                    port = string.atoi(p)
        if o == '-p':
            port = string.atoi(a)
        if o == '-d':
            directory = a
        if o == '-v':
            verbose = verbose + 1
        if o == '-q':
            verbose = 0
        if o == '-L':
            local = 1
    if local:
        import RCSProxy
        x = RCSProxy.RCSProxyLocal()
    else:
        address = (host, port)
        x = RCSProxyClient(address, verbose)
    if not directory:
        try:
            directory = open(os.path.join("CVS", "Repository")).readline()
        except IOError:
            pass
        else:
            if directory[-1] == '\n':
                directory = directory[:-1]
    if directory:
        x.cd(directory)
    return x