rcsclient.py 1.48 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 24

import client


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