diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2010-11-11 15:03:40 +0100 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2010-11-11 15:03:40 +0100 |
commit | 15d9235b46890d1a13641b873bb5fec24228826e (patch) | |
tree | 83092027e7cf5e32199ef1347fb35918104da2aa | |
parent | 1216d84e4a92350bfbadfe8b67b88527060c2570 (diff) |
fixed hooks broken symlink issuev1.0.2
fixed python2.5 crash.
fixed #58 missing graph.js bug
Fixed tests to remove the forked repository when building enviroment
version bump
-rw-r--r-- | MANIFEST.in | 1 | ||||
-rw-r--r-- | docs/changelog.rst | 8 | ||||
-rw-r--r-- | rhodecode/__init__.py | 2 | ||||
-rw-r--r-- | rhodecode/lib/celerylib/__init__.py | 35 | ||||
-rw-r--r-- | rhodecode/lib/hooks.py | 12 | ||||
-rw-r--r-- | rhodecode/lib/utils.py | 5 | ||||
-rw-r--r-- | rhodecode/tests/__init__.py | 1 | ||||
-rw-r--r-- | setup.py | 4 |
8 files changed, 47 insertions, 21 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index a562aa01..2b755842 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -10,5 +10,6 @@ recursive-include rhodecode/public/images * include rhodecode/public/js/yui2.js include rhodecode/public/js/excanvas.min.js include rhodecode/public/js/yui.flot.js +include rhodecode/public/js/graph.js #templates recursive-include rhodecode/templates * diff --git a/docs/changelog.rst b/docs/changelog.rst index 7a1f8a90..3b9b668b 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -3,6 +3,14 @@ Changelog ========= +1.0.2 (**2010-11-XX**) +---------------------- + +- fixed #59 missing graph.js +- fixed repo_size crash when repository had broken symlinks +- fixed python2.5 crashes. +- tested under python2.7 +- bumped sqlalcehmy and celery versions 1.0.1 (**2010-11-10**) ---------------------- diff --git a/rhodecode/__init__.py b/rhodecode/__init__.py index af2fcf9f..533f797b 100644 --- a/rhodecode/__init__.py +++ b/rhodecode/__init__.py @@ -24,7 +24,7 @@ versioning implementation: http://semver.org/ @author: marcink """ -VERSION = (1, 0, 1,) +VERSION = (1, 0, 2,) __version__ = '.'.join((str(each) for each in VERSION[:4])) diff --git a/rhodecode/lib/celerylib/__init__.py b/rhodecode/lib/celerylib/__init__.py index 000d21ab..d8c46737 100644 --- a/rhodecode/lib/celerylib/__init__.py +++ b/rhodecode/lib/celerylib/__init__.py @@ -12,7 +12,7 @@ log = logging.getLogger(__name__) class ResultWrapper(object): def __init__(self, task): self.task = task - + @LazyProperty def result(self): return self.task @@ -23,15 +23,22 @@ def run_task(task, *args, **kwargs): log.info('running task %s', t.task_id) return t except socket.error, e: - if e.errno == 111: + + try: + conn_failed = e.errno == 111 + except AttributeError: + conn_failed = False + + if conn_failed: log.debug('Unable to connect to celeryd. Sync execution') else: - log.error(traceback.format_exc()) + log.debug('Unable to connect to celeryd. Sync execution') + except KeyError, e: log.debug('Unable to connect to celeryd. Sync execution') except Exception, e: log.error(traceback.format_exc()) - + return ResultWrapper(task(*args, **kwargs)) @@ -39,7 +46,7 @@ def locked_task(func): def __wrapper(func, *fargs, **fkwargs): params = list(fargs) params.extend(['%s-%s' % ar for ar in fkwargs.items()]) - + lockkey = 'task_%s' % \ md5(str(func.__name__) + '-' + \ '-'.join(map(str, params))).hexdigest() @@ -51,14 +58,14 @@ def locked_task(func): return ret except LockHeld: log.info('LockHeld') - return 'Task with key %s already running' % lockkey + return 'Task with key %s already running' % lockkey + + return decorator(__wrapper, func) + + + + + + - return decorator(__wrapper, func) - - - - - - - diff --git a/rhodecode/lib/hooks.py b/rhodecode/lib/hooks.py index 2058040d..f49016a2 100644 --- a/rhodecode/lib/hooks.py +++ b/rhodecode/lib/hooks.py @@ -37,11 +37,17 @@ def repo_size(ui, repo, hooktype=None, **kwargs): for path, dirs, files in os.walk(repo.root): if path.find('.hg') != -1: for f in files: - size_hg += os.path.getsize(os.path.join(path, f)) + try: + size_hg += os.path.getsize(os.path.join(path, f)) + except OSError: + pass else: for f in files: - size_root += os.path.getsize(os.path.join(path, f)) - + try: + size_root += os.path.getsize(os.path.join(path, f)) + except OSError: + pass + size_hg_f = h.format_byte_size(size_hg) size_root_f = h.format_byte_size(size_root) size_total_f = h.format_byte_size(size_root + size_hg) diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py index 37f0d8fb..fd416624 100644 --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -465,7 +465,7 @@ def create_test_env(repos_test_path, config): import tarfile import shutil from os.path import dirname as dn, join as jn, abspath - from rhodecode.tests import REPO_PATH, NEW_REPO_PATH + from rhodecode.tests import REPO_PATH, NEW_REPO_PATH, FORK_REPO_PATH log = logging.getLogger('TestEnvCreator') # create logger @@ -505,6 +505,9 @@ def create_test_env(repos_test_path, config): if os.path.isdir(NEW_REPO_PATH): log.debug('REMOVING %s', NEW_REPO_PATH) shutil.rmtree(NEW_REPO_PATH) + if os.path.isdir(FORK_REPO_PATH): + log.debug('REMOVING %s', FORK_REPO_PATH) + shutil.rmtree(FORK_REPO_PATH) cur_dir = dn(dn(abspath(__file__))) tar = tarfile.open(jn(cur_dir, 'tests', "vcs_test.tar.gz")) diff --git a/rhodecode/tests/__init__.py b/rhodecode/tests/__init__.py index d53a1bc6..53956f21 100644 --- a/rhodecode/tests/__init__.py +++ b/rhodecode/tests/__init__.py @@ -34,6 +34,7 @@ environ = {} TEST_DIR = '/tmp' REPO_PATH = os.path.join(TEST_DIR, 'vcs_test') NEW_REPO_PATH = os.path.join(TEST_DIR, 'vcs_test_new') +FORK_REPO_PATH = os.path.join(TEST_DIR, 'vcs_test_fork') class TestController(TestCase): @@ -4,13 +4,13 @@ py_version = sys.version_info requirements = [ "Pylons>=1.0.0", - "SQLAlchemy==0.6.4", + "SQLAlchemy==0.6.5", "Mako>=0.3.2", "vcs==0.1.8", "pygments>=1.3.0", "mercurial==1.6.4", "whoosh==1.2.5", - "celery==2.1.2", + "celery==2.1.3", "py-bcrypt", "babel", ] |