Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/util.py @ 7646:e62a456b8dc5
error: move SignatureError
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 12 Jan 2009 13:51:43 -0600 |
parents | 182b7114d35a |
children | deec6628e62b |
comparison
equal
deleted
inserted
replaced
7645:020a896a5292 | 7646:e62a456b8dc5 |
---|---|
11 This contains helper routines that are independent of the SCM core and hide | 11 This contains helper routines that are independent of the SCM core and hide |
12 platform-specific details from the core. | 12 platform-specific details from the core. |
13 """ | 13 """ |
14 | 14 |
15 from i18n import _ | 15 from i18n import _ |
16 import cStringIO, errno, getpass, re, shutil, sys, tempfile, traceback | 16 import cStringIO, errno, getpass, re, shutil, sys, tempfile, traceback, error |
17 import os, stat, threading, time, calendar, ConfigParser, locale, glob, osutil | 17 import os, stat, threading, time, calendar, ConfigParser, locale, glob, osutil |
18 import imp | 18 import imp |
19 | 19 |
20 # Python compatibility | 20 # Python compatibility |
21 | 21 |
705 else: | 705 else: |
706 os.environ[k] = v | 706 os.environ[k] = v |
707 if cwd is not None and oldcwd != cwd: | 707 if cwd is not None and oldcwd != cwd: |
708 os.chdir(oldcwd) | 708 os.chdir(oldcwd) |
709 | 709 |
710 class SignatureError(Exception): | |
711 pass | |
712 | |
713 def checksignature(func): | 710 def checksignature(func): |
714 '''wrap a function with code to check for calling errors''' | 711 '''wrap a function with code to check for calling errors''' |
715 def check(*args, **kwargs): | 712 def check(*args, **kwargs): |
716 try: | 713 try: |
717 return func(*args, **kwargs) | 714 return func(*args, **kwargs) |
718 except TypeError: | 715 except TypeError: |
719 if len(traceback.extract_tb(sys.exc_info()[2])) == 1: | 716 if len(traceback.extract_tb(sys.exc_info()[2])) == 1: |
720 raise SignatureError | 717 raise error.SignatureError |
721 raise | 718 raise |
722 | 719 |
723 return check | 720 return check |
724 | 721 |
725 # os.path.lexists is not available on python2.3 | 722 # os.path.lexists is not available on python2.3 |