Source code for pymyinstall.installcustom.install_custom_operadriver

"""
Various functions to install `MinGW <http://www.mingw.org/>`_.


:githublink:`%|py|5`
"""
from __future__ import print_function
import sys
import os
import re

from .install_custom import download_page, download_file
from ..installhelper.install_cmd_helper import unzip_files


[docs]def install_operadriver(dest_folder=".", fLOG=print, install=True, version=None): """ Installs `operadriver <https://github.com/operasoftware/operachromiumdriver/releases>`_. :param dest_folder: where to download the setup :param fLOG: logging function :param install: install (otherwise only download) :param version: version to install (unused) :return: zip file in a list or list of unzipped files This is required for `Selenium <https://selenium-python.readthedocs.io/>`_. :githublink:`%|py|25` """ if version is None: content = download_page( "https://github.com/operasoftware/operachromiumdriver/releases") reg = re.compile( "/tag/v([.][0-9]+[.][0-9]+([.][0-9]+)?([.][0-9]+)?)") f = reg.findall(content) if not f: raise Exception( "unable to get the last version number for OperaDriver") version = f[0][0] if sys.platform.startswith("win"): url = "https://github.com/operasoftware/operachromiumdriver/releases/download/v{0}/operadriver_win64.zip".format( version) elif sys.platform.startswith("mac"): url = "https://github.com/operasoftware/operachromiumdriver/releases/download/v{0}/operadriver_mac64.zip".format( version) else: url = "https://github.com/operasoftware/operachromiumdriver/releases/download/v{0}/operadriver_linux64.zip".format( version) name = url.split("/")[-1] outfile = os.path.join(dest_folder, name) fLOG("[pymy] operadriver, download from ", url) download_file(url, outfile, fLOG=fLOG) if install: return unzip_files(outfile, whereTo=dest_folder, fLOG=fLOG) else: return [outfile]