| Index: ensure_dependencies.py |
| =================================================================== |
| --- a/ensure_dependencies.py |
| +++ b/ensure_dependencies.py |
| @@ -70,24 +70,22 @@ |
| subprocess.check_call(['hg', 'update', '--repository', repo, '--quiet', '--check', '--rev', rev]) |
| def ignore(self, target, repo): |
| + config_path = os.path.join(repo, '.hg', 'hgrc') |
| + ignore_file = os.path.join('.hg', 'dependencies') |
| + ignore_path = os.path.join(repo, ignore_file) |
| - if not self.istype(target): |
| + config = RawConfigParser() |
| + config.read(config_path) |
| - config_path = os.path.join(repo, '.hg', 'hgrc') |
| - ignore_path = os.path.abspath(os.path.join(repo, '.hg', 'dependencies')) |
| + if not config.has_section('ui'): |
| + config.add_section('ui') |
| - config = RawConfigParser() |
| - config.read(config_path) |
| + config.set('ui', 'ignore.dependencies', ignore_file) |
| + with open(config_path, 'w') as stream: |
| + config.write(stream) |
| - if not config.has_section('ui'): |
| - config.add_section('ui') |
| - |
| - config.set('ui', 'ignore.dependencies', ignore_path) |
| - with open(config_path, 'w') as stream: |
| - config.write(stream) |
| - |
| - module = os.path.relpath(target, repo) |
| - _ensure_line_exists(ignore_path, module) |
| + module = os.path.relpath(target, repo) |
| + _ensure_line_exists(ignore_path, module) |
| def postprocess_url(self, url): |
| return url |
| @@ -220,7 +218,7 @@ |
| if spec: |
| result[key] = spec |
| return result |
| - except IOError, e: |
| + except IOError as e: |
| if e.errno != errno.ENOENT: |
| raise |
| return None |
| @@ -332,7 +330,7 @@ |
| try: |
| with io.open(source, 'rb') as handle: |
| sourcedata = handle.read() |
| - except IOError, e: |
| + except IOError as e: |
| if e.errno != errno.ENOENT: |
| raise |
| logging.warning("File %s doesn't exist, skipping self-update" % source) |
| @@ -355,6 +353,7 @@ |
| def _ensure_line_exists(path, pattern): |
| with open(path, 'a+') as f: |
| + f.seek(0, os.SEEK_SET) |
| file_content = [l.strip() for l in f.readlines()] |
| if not pattern in file_content: |
| file_content.append(pattern) |