summaryrefslogtreecommitdiff
path: root/morphlib/plugins/artifact_inspection_plugin.py
diff options
context:
space:
mode:
authorDaniel Firth <dan.firth@codethink.co.uk>2013-12-20 15:47:10 +0000
committerBen Brown <ben.brown@codethink.co.uk>2013-12-20 16:02:35 +0000
commitfbc2b8237a46d417f18be8938a1653945e189c54 (patch)
tree72afd17da55eadbf9d8ea54552a9177e55c19eb8 /morphlib/plugins/artifact_inspection_plugin.py
parent8f88b10048c858179a2c19c6eb479e59406d8b73 (diff)
downloadmorph-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.py31
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