Skip to content
Snippets Groups Projects
Commit 9b2b47ae authored by Nikos Skalkotos's avatar Nikos Skalkotos
Browse files

Make winexe an optional dependency

Check the presence of the winexe executable at runtime only if the
input media is a Windows system
parent 0f0137fc
No related branches found
Tags 0.7.4
No related merge requests found
......@@ -139,6 +139,11 @@ class Windows(OSBase):
raise FatalError(
'For windows support libguestfs 1.16.11 or above is required')
# Check if winexe is installed
if not WinEXE.is_installed():
raise FatalError(
"For windows support `Winexe' needs to be installed")
device = self.image.g.part_to_dev(self.root)
self.last_part_num = self.image.g.part_list(device)[-1]['part_num']
......
......@@ -38,6 +38,7 @@
import subprocess
import time
import signal
import distutils
from image_creator.util import FatalError
......@@ -50,6 +51,10 @@ class WinexeTimeout(FatalError):
class WinEXE:
"""Wrapper class for the winexe command"""
@staticmethod
def is_installed(program='winexe'):
return distutils.spawn.find_executable(program) is not None
def __init__(self, username, password, hostname, program='winexe'):
self._host = hostname
self._user = username
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment