예제 #1
0
 def _copy_resource_file(self, file_name):
     LOG.debug("Copying %s" % file_name)
     sftp = self._ssh.open_sftp()
     path = os.path.join(utils.get_resources_dir(), file_name)
     sftp.put(path, '/root/%s' % file_name)
     sftp.close()
     LOG.debug("%s copied" % file_name)
예제 #2
0
def _create_splash_window(main_window):
    res_dir = utils.get_resources_dir()
    splash_img_path = os.path.join(res_dir, "v-magine-splash.png")

    image = QtGui.QPixmap(splash_img_path)
    splash = QtWidgets.QSplashScreen(main_window, image)
    splash.setAttribute(QtCore.Qt.WA_DeleteOnClose)
    splash.setMask(image.mask())
    return splash
예제 #3
0
    def __init__(self, controller):
        super(MainWindow, self).__init__()

        self._controller = controller
        self._controller.set_main_window(self)

        app_icon_path = os.path.join(utils.get_resources_dir(), "app.ico")
        self.setWindowIcon(QtGui.QIcon(app_icon_path))
        self.setWindowTitle('V-Magine - OpenStack Installer')

        self._web = QtWebKitWidgets.QWebView()

        self._web.setPage(QWebPageWithoutJsWarning(self._web))

        width = 1020
        heigth = 768

        self.resize(width, heigth)
        self.setCentralWidget(self._web)

        self._web.loadFinished.connect(self.onLoad)

        page = self._web.page()
        page.settings().setAttribute(
            QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
        page.settings().setAttribute(
            QtWebKit.QWebSettings.LocalContentCanAccessRemoteUrls, True)

        frame = page.mainFrame()
        page.setViewportSize(frame.contentsSize())

        if os.name == 'nt':
            appid = 'v_magine.1.0.0'
            ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(
                appid)

        web_dir = utils.get_web_dir()
        self._web.setUrl(
            QtCore.QUrl.fromLocalFile(os.path.join(web_dir, "index.html")))

        self.setFixedSize(width, heigth)

        self._web.show()
예제 #4
0
    def __init__(self, url):
        super(MainWindow, self).__init__()

        app_icon_path = os.path.join(utils.get_resources_dir(), "app.ico")
        self.setWindowIcon(QtGui.QIcon(app_icon_path))
        self.setWindowTitle(constants.PRODUCT_NAME)

        self.resize(1024, 768)

        self._web = QtWebKitWidgets.QWebView()

        self._status_bar_label = QtWidgets.QLabel('Loading...   ')

        self._progressbar = QtWidgets.QProgressBar()
        self._progressbar.setMinimum(0)
        self._progressbar.setMaximum(100)

        self.setCentralWidget(self._web)

        self.statusBar().addPermanentWidget(self._status_bar_label)
        self.statusBar().addPermanentWidget(self._progressbar, 1)

        self._web.loadStarted.connect(self.load_started)
        self._web.loadProgress.connect(self.load_progress)
        self._web.loadFinished.connect(self.load_finished)
        self._web.urlChanged.connect(self.url_changed)

        page = self._web.page()
        page.settings().setAttribute(
            QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)

        frame = page.mainFrame()
        page.setViewportSize(frame.contentsSize())

        if os.name == 'nt':
            appid = 'v_magine.1.0.0'
            ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(
                appid)

        self._web.load(QtCore.QUrl(url))
        self._web.show()
예제 #5
0
def _get_kickstart_template():
    return os.path.join(utils.get_resources_dir(), "ks.template")
예제 #6
0
 def _get_pxelinux_cfg_path(self):
     return os.path.join(utils.get_resources_dir(), "pxelinux.template")
예제 #7
0
 def _get_pybootd_ini_template_path(self):
     return os.path.join(utils.get_resources_dir(), "pybootd.ini")