diff options
Diffstat (limited to 'morphlib/plugins')
-rw-r--r-- | morphlib/plugins/artifact_inspection_plugin.py | 31 | ||||
-rw-r--r-- | morphlib/plugins/gc_plugin.py | 3 |
2 files changed, 19 insertions, 15 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 diff --git a/morphlib/plugins/gc_plugin.py b/morphlib/plugins/gc_plugin.py index 1adabe78..abfa1a30 100644 --- a/morphlib/plugins/gc_plugin.py +++ b/morphlib/plugins/gc_plugin.py @@ -19,6 +19,7 @@ import os import shutil import time +import fs.osfs import cliapp import morphlib @@ -114,7 +115,7 @@ class GCPlugin(cliapp.Plugin): chatty=True) return lac = morphlib.localartifactcache.LocalArtifactCache( - os.path.join(cache_path, 'artifacts')) + fs.osfs.OSFS(os.path.join(cache_path, 'artifacts'))) max_age, min_age = self.calculate_delete_range() logging.debug('Must remove artifacts older than timestamp %d' % max_age) |