Let's refactor get_install_script() a little bit in order to minimize future changes coming in this code. Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> --- virtinst/osdict.py | 47 ++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/virtinst/osdict.py b/virtinst/osdict.py index eb64ba08..40386546 100644 --- a/virtinst/osdict.py +++ b/virtinst/osdict.py @@ -512,31 +512,34 @@ class _OsVariant(object): return filtered_treelist.get_nth(0).get_url() def get_install_script(self, profile): + def _get_install_script(script_list): + if script_list.get_length == 0: + raise RuntimeError( + _("%s does not support unattended installation."), + self.name) + + profile_filter = libosinfo.Filter() + profile_filter.add_constraint( + libosinfo.INSTALL_SCRIPT_PROP_PROFILE, profile) + + filtered_script_list = script_list.new_filtered(profile_filter) + if filtered_script_list.get_length() == 0: + raise RuntimeError( + _("%s does not support unattended installation for the " + "'%s' profile"), self.name, profile) + + logging.debug("Install script found for profile '%s'", profile) + + # Some OSes (as Windows) have more than one installer script, + # depending on the OS version and profile choosen, to be used to + # perform the unattended installation. Let's just deal with + # multiple installer scripts when its actually needed, though. + return filtered_script_list.get_nth(0) + if not self._os: return None - script_list = self._os.get_install_script_list() - if script_list.get_length == 0: - raise RuntimeError( - _("%s does not support unattended installation."), self.name) - - profile_filter = libosinfo.Filter() - profile_filter.add_constraint( - libosinfo.INSTALL_SCRIPT_PROP_PROFILE, profile) - - filtered_script_list = script_list.new_filtered(profile_filter) - if filtered_script_list.get_length() == 0: - raise RuntimeError( - _("%s does not support unattended installation for the '%s' " - "profile."), self.name, profile) - - logging.debug("Install script found for profile '%s'", profile) - - # Some OSes (as Windows) have more than one installer script, depending - # on the OS version and profile choosen, to be used to perform the - # unattended installation. Let's just deal with multiple installer - # scripts when its actually needed, though. - return filtered_script_list.get_nth(0) + return _get_install_script(self._os.get_install_script_list()) def set_install_script_preferred_injection_method(self, script, method): def nick_to_value(method): -- 2.20.1 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list