# HG changeset patch # User James Bergstra # Date 1213117324 14400 # Node ID e2e5157ff04452b43bf41ad7e09ad9d5c6a22dc7 # Parent 410a6ef674eddf1d57715907d2738d4944aa6398 added src_version cache diff -r 410a6ef674ed -r e2e5157ff044 __init__.py --- a/__init__.py Tue Jun 10 11:07:20 2008 -0400 +++ b/__init__.py Tue Jun 10 13:02:04 2008 -0400 @@ -29,38 +29,42 @@ # NOTE # # If you find bugs in this function, please update the __src_version__ - # function in pylearn, and email either theano-dev or pylearn-dev so that - # people can update their experiment dirs (the output of this function is - # meant to be hard-coded in external files). + # function in theano, pylearn, and email either theano-dev or pylearn-dev so + # that people can update their experiment dirs (the output of this function + # is meant to be hard-coded in external files). # - #print 'name:', __name__ - location = _imp.find_module(__name__)[1] - #print 'location:', location + if not hasattr(__src_version__, 'rval'): + #print 'name:', __name__ + location = _imp.find_module(__name__)[1] + #print 'location:', location - status = _subprocess.Popen(('hg','st'),cwd=location,stdout=_subprocess.PIPE).communicate()[0] - #status_codes = [line[0] for line in if line and line[0] != '?'] - for line in status.split('\n'): - if not line: continue - if line[0] != '?': - raise Exception('Uncommitted modification to "%s" in %s (%s)' - %(line[2:], __name__,location)) - if line[0] == '?' and line[-3:] == '.py': - raise Exception('Untracked file "%s" in %s (%s)' - %(line[2:], __name__, location)) + status = _subprocess.Popen(('hg','st'),cwd=location,stdout=_subprocess.PIPE).communicate()[0] + #status_codes = [line[0] for line in if line and line[0] != '?'] + for line in status.split('\n'): + if not line: continue + if line[0] != '?': + raise Exception('Uncommitted modification to "%s" in %s (%s)' + %(line[2:], __name__,location)) + if line[0] == '?' and line[-3:] == '.py': + raise Exception('Untracked file "%s" in %s (%s)' + %(line[2:], __name__, location)) - hg_id = _subprocess.Popen(('hg','id'),cwd=location,stdout=_subprocess.PIPE).communicate()[0] + hg_id = _subprocess.Popen(('hg','id'),cwd=location,stdout=_subprocess.PIPE).communicate()[0] - #This asserts my understanding of hg id return values - # There is mention in the doc that it might return two parent hash codes - # but I've never seen it, and I dont' know what it means or how it is - # formatted. - tokens = hg_id.split(' ') - assert len(tokens) <= 2 - assert len(tokens) >= 1 - assert tokens[0][-1] != '+' # the trailing + indicates uncommitted changes - if len(tokens) == 2: - assert tokens[1] == 'tip\n' + #This asserts my understanding of hg id return values + # There is mention in the doc that it might return two parent hash codes + # but I've never seen it, and I dont' know what it means or how it is + # formatted. + tokens = hg_id.split(' ') + assert len(tokens) <= 2 + assert len(tokens) >= 1 + assert tokens[0][-1] != '+' # the trailing + indicates uncommitted changes + if len(tokens) == 2: + assert tokens[1] == 'tip\n' - return tokens[0] + __src_version__.rval = tokens[0] + return __src_version__.rval + +