diff options
author | Daniel Firth <dan.firth@codethink.co.uk> | 2013-12-20 15:47:10 +0000 |
---|---|---|
committer | Ben Brown <ben.brown@codethink.co.uk> | 2013-12-20 16:02:35 +0000 |
commit | fbc2b8237a46d417f18be8938a1653945e189c54 (patch) | |
tree | 72afd17da55eadbf9d8ea54552a9177e55c19eb8 /morphlib/plugins/artifact_inspection_plugin.py | |
parent | 8f88b10048c858179a2c19c6eb479e59406d8b73 (diff) | |
download | morph-fbc2b8237a46d417f18be8938a1653945e189c54.tar.gz |
Replaces Tempdir with fs.tempfs.TempFS
Diffstat (limited to 'morphlib/plugins/artifact_inspection_plugin.py')
-rw-r--r-- | morphlib/plugins/artifact_inspection_plugin.py | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/morphlib/plugins/artifact_inspection_plugin.py b/morphlib/plugins/artifact_inspection_plugin.py index 9181d488..6eeece77 100644 --- a/morphlib/plugins/artifact_inspection_plugin.py +++ b/morphlib/plugins/artifact_inspection_plugin.py @@ -19,6 +19,9 @@ import glob import json import os import re +import contextlib + +import fs.tempfs import morphlib @@ -109,25 +112,25 @@ class AutotoolsVersionGuesser(ProjectVersionGuesser): return None def _check_autoconf_package_version(self, repo, ref, filename, data): - tempdir = morphlib.tempdir.Tempdir(self.app.settings['tempdir']) - with open(tempdir.join(filename), 'w') as f: - f.write(data) - exit_code, output, errors = self.app.runcmd_unchecked( + with contextlib.closing(fs.tempfs.TempFS( + temp_dir=self.app.settings['tempdir'])) as tempdir: + with open(tempdir.getsyspath(filename), 'w') as f: + f.write(data) + exit_code, output, errors = self.app.runcmd_unchecked( ['autoconf', filename], ['grep', '^PACKAGE_VERSION='], ['cut', '-d=', '-f2'], ['sed', "s/'//g"], - cwd=tempdir.dirname) - tempdir.remove() - version = None - if output: - output = output.strip() - if output and output[0].isdigit(): - version = output - if exit_code != 0: - self.app.status( + cwd=tempdir.root_path) + version = None + if output: + output = output.strip() + if output and output[0].isdigit(): + version = output + if exit_code != 0: + self.app.status( msg='%(repo)s: Failed to detect version from ' - '%(ref)s:%(filename)s', + '%(ref)s:%(filename)s', repo=repo, ref=ref, filename=filename, chatty=True) return version |