Skip to content

Commit

Permalink
Fixed breakage
Browse files Browse the repository at this point in the history
  • Loading branch information
siddhantkushwaha committed Jul 31, 2021
1 parent 1193aa6 commit 81c35db
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 52 deletions.
18 changes: 10 additions & 8 deletions palladium/chrome_custom.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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:
Expand Down
53 changes: 12 additions & 41 deletions palladium/chromium_setup.py
Original file line number Diff line number Diff line change
@@ -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):
Expand Down Expand Up @@ -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 :/ ------------------------------------------------------------ """

Expand All @@ -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}/' \
Expand Down
5 changes: 2 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import pathlib
import setuptools
from distutils.core import setup

HERE = pathlib.Path(__file__).parent
Expand All @@ -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='[email protected]',
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',
Expand Down

0 comments on commit 81c35db

Please sign in to comment.