virtinst: Split out urldetect.py from urlfetcher.py

urldetect.py has all the distro metadata and parsing logic,
urlfetcher.py has the http/ftp/iso/etc. fetching logic
This commit is contained in:
Cole Robinson
2018-03-28 18:46:07 -04:00
parent 6e2e18ccf8
commit a8522032eb
5 changed files with 1076 additions and 1066 deletions

View File

@@ -13,6 +13,7 @@ import unittest
from tests import utils from tests import utils
from virtinst import Guest from virtinst import Guest
from virtinst import urldetect
from virtinst import urlfetcher from virtinst import urlfetcher
from virtinst import util from virtinst import util
from virtinst.initrdinject import perform_initrd_injections from virtinst.initrdinject import perform_initrd_injections
@@ -88,7 +89,7 @@ def _fetch_distro(distro):
origenv = os.environ.pop("VIRTINST_TEST_SUITE") origenv = os.environ.pop("VIRTINST_TEST_SUITE")
try: try:
fetcher.prepareLocation() fetcher.prepareLocation()
store = urlfetcher.getDistroStore(guest, fetcher) store = urldetect.getDistroStore(guest, fetcher)
kernel, initrd, ignore = store.acquireKernel(guest) kernel, initrd, ignore = store.acquireKernel(guest)
cleanup.append(kernel) cleanup.append(kernel)
cleanup.append(initrd) cleanup.append(initrd)

View File

@@ -15,18 +15,19 @@ from tests import utils
from virtinst import Guest from virtinst import Guest
from virtinst import OSDB from virtinst import OSDB
from virtinst import urldetect
from virtinst import urlfetcher from virtinst import urlfetcher
from virtinst import util from virtinst import util
from virtinst.urlfetcher import ALTLinuxDistro from virtinst.urldetect import ALTLinuxDistro
from virtinst.urlfetcher import CentOSDistro from virtinst.urldetect import CentOSDistro
from virtinst.urlfetcher import DebianDistro from virtinst.urldetect import DebianDistro
from virtinst.urlfetcher import FedoraDistro from virtinst.urldetect import FedoraDistro
from virtinst.urlfetcher import GenericDistro from virtinst.urldetect import GenericDistro
from virtinst.urlfetcher import MandrivaDistro from virtinst.urldetect import MandrivaDistro
from virtinst.urlfetcher import RHELDistro from virtinst.urldetect import RHELDistro
from virtinst.urlfetcher import SLDistro from virtinst.urldetect import SLDistro
from virtinst.urlfetcher import SuseDistro from virtinst.urldetect import SuseDistro
from virtinst.urlfetcher import UbuntuDistro from virtinst.urldetect import UbuntuDistro
class _URLTestData(object): class _URLTestData(object):
@@ -51,7 +52,7 @@ class _URLTestData(object):
self.testshortcircuit = testshortcircuit self.testshortcircuit = testshortcircuit
def _distroclass_for_name(self, name): def _distroclass_for_name(self, name):
# Map the test case name to the expected urlfetcher distro # Map the test case name to the expected urldetect distro
# class we should be detecting # class we should be detecting
if "fedora" in name: if "fedora" in name:
return FedoraDistro return FedoraDistro
@@ -110,7 +111,7 @@ def _storeForDistro(fetcher, guest):
""" """
for ignore in range(0, 10): for ignore in range(0, 10):
try: try:
return urlfetcher.getDistroStore(guest, fetcher) return urldetect.getDistroStore(guest, fetcher)
except Exception as e: except Exception as e:
if "502" in str(e): if "502" in str(e):
logging.debug("Caught proxy error: %s", str(e)) logging.debug("Caught proxy error: %s", str(e))

View File

@@ -8,6 +8,7 @@
import logging import logging
import os import os
from . import urldetect
from . import urlfetcher from . import urlfetcher
from . import util from . import util
from .devices import DeviceDisk from .devices import DeviceDisk
@@ -99,7 +100,7 @@ class DistroInstaller(Installer):
def _get_store(self, guest, fetcher): def _get_store(self, guest, fetcher):
# Caller is responsible for calling fetcher prepare/cleanup if needed # Caller is responsible for calling fetcher prepare/cleanup if needed
if not self._cached_store: if not self._cached_store:
self._cached_store = urlfetcher.getDistroStore(guest, fetcher) self._cached_store = urldetect.getDistroStore(guest, fetcher)
return self._cached_store return self._cached_store
def _prepare_local(self): def _prepare_local(self):

1059
virtinst/urldetect.py Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff