From 81c35db5824954c257c7cb9f632562ff403bb63f Mon Sep 17 00:00:00 2001 From: siddhantkushwaha Date: Sat, 31 Jul 2021 20:16:28 +0530 Subject: [PATCH] Fixed breakage --- palladium/chrome_custom.py | 18 +++++++------ palladium/chromium_setup.py | 53 +++++++++---------------------------- setup.py | 5 ++-- 3 files changed, 24 insertions(+), 52 deletions(-) diff --git a/palladium/chrome_custom.py b/palladium/chrome_custom.py index 1b2c67b..20fe08a 100644 --- a/palladium/chrome_custom.py +++ b/palladium/chrome_custom.py @@ -1,8 +1,7 @@ +import logging import os -import time import random -import logging - +import time from collections import Sized from selenium.webdriver import Chrome, ChromeOptions @@ -16,7 +15,8 @@ def __init__( self, headless=True, logs_dir=None, - log_error=False + log_error=False, + chromedriver=None ): self.logs_dir = os.path.join(os.getcwd() if logs_dir is None else logs_dir, 'logs') self.log_error = log_error @@ -28,11 +28,13 @@ def __init__( chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') chrome_options.add_argument("--window-size=1920,1080") - - if params.chromebinary is not None: - chrome_options.binary_location = params.chromebinary - super().__init__(params.chromedriver, options=chrome_options) + if chromedriver is None: + chromedriver = params.chromedriver + if params.chromebinary is not None: + chrome_options.binary_location = params.chromebinary + + super().__init__(chromedriver, options=chrome_options) def __del__(self): try: diff --git a/palladium/chromium_setup.py b/palladium/chromium_setup.py index a276d62..4b6b3e4 100644 --- a/palladium/chromium_setup.py +++ b/palladium/chromium_setup.py @@ -1,17 +1,16 @@ -import os import json -import stat +import os +import platform import shutil +import stat import zipfile -import platform - from datetime import datetime -from dateutil.parser import parse -import requests import pandas as pd -from viper.download import download +import requests +from dateutil.parser import parse from viper.common import chmod +from viper.download import download def read_state(dirpath): @@ -51,37 +50,6 @@ def setup(path, start_over=False): write_state(dirpath, binary_pt, driver_pt) -def get_revision(platform_name): - os_set = { - 'Linux': 'linux', - 'Darwin': 'mac', - 'Windows': 'win' - } - - by_platform = os_set.get(platform_name) - if by_platform is None: - raise Exception(f'Platform type {platform_name} not supported.') - - url = 'https://omahaproxy.appspot.com/all?csv=1' - revisions = pd.read_csv(url) - - # stable builds are not available :/ - # canary is too buggy - revisions = revisions[(revisions['channel'] == 'beta')] - - revisions = revisions[revisions['os'] == by_platform] - - if len(revisions) < 1: - raise Exception(f'No revision found to download for {platform_name}.') - - revision = min(revisions['branch_base_position']) - - if int(revision) != revision: - raise Exception(f'Invalid revision - {revision}') - - return int(revision) - - def shell(dir_path): """ ------ Harcoded values for different formats :/ ------------------------------------------------------------ """ @@ -95,10 +63,13 @@ def shell(dir_path): platform_name = platform_info.system prefix = prefix_by_platform[platform_name] - revision = get_revision(platform_name) - index_url = f'http://commondatastorage.googleapis.com/' \ - f'chromium-browser-snapshots/index.html?prefix={prefix}/{revision}/' + # web api - do not delete + # index_url = f'http://commondatastorage.googleapis.com/' \ + # f'chromium-browser-snapshots/index.html?prefix={prefix}/{revision}/' + + last_change = f'https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/{prefix}%2FLAST_CHANGE?alt=media' + revision = int(requests.get(last_change).content) storage_api_url = f'https://www.googleapis.com/' \ f'storage/v1/b/chromium-browser-snapshots/o?delimiter=/&prefix={prefix}/{revision}/' \ diff --git a/setup.py b/setup.py index 6322511..d4e8704 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,4 @@ import pathlib -import setuptools from distutils.core import setup HERE = pathlib.Path(__file__).parent @@ -8,13 +7,13 @@ setup( name='palladium-python', packages=['palladium'], - version='0.1.5', + version='0.1.6', license='MIT', description='Common utility functions.', author='Siddhant Kushwaha', author_email='k16.siddhant@gmail.com', url='https://github.com/siddhantkushwaha/palladium', - download_url='https://github.com/siddhantkushwaha/palladium/archive/0.1.5.tar.gz', + download_url='https://github.com/siddhantkushwaha/palladium/archive/0.1.6.tar.gz', keywords=['CHROMIUM', 'SELENIUM', 'AUTOMATION', 'TESTING'], install_requires=[ 'pandas',