diff options
author | Nishanth Amuluru | 2011-01-11 22:41:51 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2011-01-11 22:41:51 +0530 |
commit | b03203c8cb991c16ac8a3d74c8c4078182d0bb48 (patch) | |
tree | 7cf13b2deacbfaaec99edb431b83ddd5ea734a52 /eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py | |
parent | 0c50203cd9eb94b819883c3110922e873f003138 (diff) | |
download | pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.tar.gz pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.tar.bz2 pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.zip |
removed all the buildout files
Diffstat (limited to 'eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py')
-rw-r--r-- | eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py deleted file mode 100644 index ac9a8be..0000000 --- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 2009, Alexander Solovyov <piranha@piranha.org.ua> -# -# This software may be used and distributed according to the terms of the -# GNU General Public License version 2 or any later version. - -"""extend schemes with shortcuts to repository swarms - -This extension allows you to specify shortcuts for parent URLs with a -lot of repositories to act like a scheme, for example:: - - [schemes] - py = http://code.python.org/hg/ - -After that you can use it like:: - - hg clone py://trunk/ - -Additionally there is support for some more complex schemas, for -example used by Google Code:: - - [schemes] - gcode = http://{1}.googlecode.com/hg/ - -The syntax is taken from Mercurial templates, and you have unlimited -number of variables, starting with ``{1}`` and continuing with -``{2}``, ``{3}`` and so on. This variables will receive parts of URL -supplied, split by ``/``. Anything not specified as ``{part}`` will be -just appended to an URL. - -For convenience, the extension adds these schemes by default:: - - [schemes] - py = http://hg.python.org/ - bb = https://bitbucket.org/ - bb+ssh = ssh://hg@bitbucket.org/ - gcode = https://{1}.googlecode.com/hg/ - kiln = https://{1}.kilnhg.com/Repo/ - -You can override a predefined scheme by defining a new scheme with the -same name. -""" - -import re -from mercurial import hg, templater - - -class ShortRepository(object): - def __init__(self, url, scheme, templater): - self.scheme = scheme - self.templater = templater - self.url = url - try: - self.parts = max(map(int, re.findall(r'\{(\d+)\}', self.url))) - except ValueError: - self.parts = 0 - - def __repr__(self): - return '<ShortRepository: %s>' % self.scheme - - def instance(self, ui, url, create): - url = url.split('://', 1)[1] - parts = url.split('/', self.parts) - if len(parts) > self.parts: - tail = parts[-1] - parts = parts[:-1] - else: - tail = '' - context = dict((str(i + 1), v) for i, v in enumerate(parts)) - url = ''.join(self.templater.process(self.url, context)) + tail - return hg._lookup(url).instance(ui, url, create) - -schemes = { - 'py': 'http://hg.python.org/', - 'bb': 'https://bitbucket.org/', - 'bb+ssh': 'ssh://hg@bitbucket.org/', - 'gcode': 'https://{1}.googlecode.com/hg/', - 'kiln': 'https://{1}.kilnhg.com/Repo/' - } - -def extsetup(ui): - schemes.update(dict(ui.configitems('schemes'))) - t = templater.engine(lambda x: x) - for scheme, url in schemes.items(): - hg.schemes[scheme] = ShortRepository(url, scheme, t) |