Skip to content

Commit bf2e940

Browse files
committed
v0.8.0
1 parent 043df02 commit bf2e940

File tree

7 files changed

+91
-69
lines changed

7 files changed

+91
-69
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ sdist/*
55
dist/*
66
*egg*
77
y4ms/*
8-
8+
chromium.driver.zip

build.sh

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/bin/bash
2+
3+
VDPATH=$1
4+
CHROME_VER=$(chromium --version | awk -F' ' {'print $2'} | awk -F'.' {'print $1'})
5+
Y4M_URL="https://media.xiph.org/video/derf/y4m/stefan_cif.y4m"
6+
7+
rm -Rf $VDPATH
8+
9+
if [ -z "$CHROME_VER" ]
10+
then
11+
echo "Please install chromium"
12+
sys.exit 1
13+
else
14+
echo $(chromium --version)
15+
fi
16+
17+
# virtualenv check
18+
virtualenv -h 2>&1 > /dev/null
19+
if [ $? -eq 1 ]; then
20+
echo "Please install python3 virtualenv"
21+
fi
22+
23+
case $CHROME_VER in
24+
"86")
25+
zip_file_url="https://chromedriver.storage.googleapis.com/86.0.4240.22/chromedriver_linux64.zip"
26+
;;
27+
"85")
28+
zip_file_url="https://chromedriver.storage.googleapis.com/85.0.4183.87/chromedriver_linux64.zip"
29+
;;
30+
"84")
31+
zip_file_url="https://chromedriver.storage.googleapis.com/84.0.4147.30/chromedriver_linux64.zip"
32+
;;
33+
*)
34+
zip_file_url="https://chromedriver.storage.googleapis.com/84.0.4147.30/chromedriver_linux64.zip"
35+
;;
36+
esac
37+
38+
mkdir $VDPATH && cd $VDPATH
39+
wget $zip_file_url -O chromium.driver.zip && unzip chromium.driver.zip -d drivers/
40+
41+
mkdir y4ms
42+
wget $Y4M_URL -O y4ms/example_cif.y4m
43+
44+
virtualenv -ppython3 env && source env/bin/activate
45+
pip install videodrone
46+
47+
videodrone -driver drivers/chromedriver -c "videodrone.drones.jitsi_chrome" -r thatroom -y4m ./y4ms/ -n 2

drivers/chromedriver

10.5 MB
Binary file not shown.

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def readme():
77
DESC = "WebRTC python unit tests inspired to '80s"
88

99
setup(name='videodrone',
10-
version='0.6.4',
10+
version='0.7.0',
1111
description=DESC,
1212
long_description=readme(),
1313
long_description_content_type='text/markdown',

src/videodrone/drones/__init__.py

+37-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,37 @@
1-
from . import jitsi_chrome
1+
# from . import jitsi_chrome
2+
3+
import logging
4+
import os
5+
import warnings
6+
import time
7+
8+
from selenium import webdriver
9+
from selenium.webdriver.common.by import By
10+
11+
from videodrone.utils import get_random_y4m
12+
13+
14+
DRIVER_PATH = os.environ.get('VIDEODRONE_DRIVER',
15+
os.path.join("drivers",
16+
"chromedriver"))
17+
18+
def get_chrome_browser(y4m=None):
19+
y4m_file = get_random_y4m(path=y4m)
20+
options = webdriver.ChromeOptions()
21+
# options.add_argument('')
22+
options.add_argument('--headless')
23+
# options.add_argument('no-sandbox')
24+
options.add_argument('disable-infobars')
25+
options.add_argument('--disable-extensions')
26+
options.add_argument('--disable-dev-shm-usage')
27+
options.add_argument('--use-fake-device-for-media-stream')
28+
options.add_argument('--use-fake-ui-for-media-stream')
29+
options.add_argument(f'--use-file-for-fake-video-capture={y4m_file}')
30+
options.add_argument('--disable-gpu')
31+
browser = webdriver.Chrome(
32+
executable_path = DRIVER_PATH,
33+
# desired_capabilities = webdriver.DesiredCapabilities.CHROME,
34+
options = options,
35+
)
36+
return browser
37+

src/videodrone/drones/edumeet_garr_chrome.py

+2-33
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,16 @@
1-
import logging
2-
import os
3-
import warnings
4-
import time
5-
6-
from selenium import webdriver
71
from selenium.common.exceptions import NoSuchWindowException
82
from selenium.webdriver.common.by import By
93

10-
from videodrone.utils import get_random_y4m
11-
4+
from . import *
125

13-
DRIVER_PATH = os.environ.get('VIDEODRONE_DRIVER',
14-
os.path.join("drivers",
15-
"chromium.chromedriver"))
166
URL = "https://edu.meet.garr.it"
177

188
logger = logging.getLogger(__name__)
199
warnings.filterwarnings("ignore", category=UserWarning)
2010

2111

22-
def get_browser(y4m=None):
23-
y4m_file = get_random_y4m(path=y4m)
24-
options = webdriver.ChromeOptions()
25-
# options.add_argument('')
26-
options.add_argument('--headless')
27-
# options.add_argument('no-sandbox')
28-
options.add_argument('disable-infobars')
29-
options.add_argument('--disable-extensions')
30-
options.add_argument('--disable-dev-shm-usage')
31-
options.add_argument('--use-fake-device-for-media-stream')
32-
options.add_argument('--use-fake-ui-for-media-stream')
33-
options.add_argument(f'--use-file-for-fake-video-capture={y4m_file}')
34-
options.add_argument('--disable-gpu')
35-
browser = webdriver.Chrome(
36-
executable_path = DRIVER_PATH,
37-
# desired_capabilities = webdriver.DesiredCapabilities.CHROME,
38-
options = options,
39-
)
40-
return browser
41-
42-
4312
def run(room, y4m, lifetime=360):
44-
browser = get_browser(y4m=y4m)
13+
browser = get_chrome_browser(y4m=y4m)
4514
browser.get(f'{URL}/{room}')
4615
browser.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[3]/button[2]').click()
4716
# browser.find_element(By.XPATH('/html/body/div[2]/div[3]/div/div[3]/button[2]')).click()

src/videodrone/drones/jitsi_chrome.py

+3-33
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,17 @@
11
import logging
2-
import os
3-
import warnings
4-
import time
52

6-
from selenium import webdriver
73
from selenium.common.exceptions import NoSuchWindowException
8-
from selenium.webdriver.common.by import By
4+
from . import *
95

10-
from videodrone.utils import get_random_y4m
6+
logger = logging.getLogger(__name__)
117

128

13-
DRIVER_PATH = os.environ.get('VIDEODRONE_DRIVER',
14-
os.path.join("drivers",
15-
"chromium.chromedriver"))
169
URL = "https://meet.jit.si"
17-
18-
logger = logging.getLogger(__name__)
1910
warnings.filterwarnings("ignore", category=UserWarning)
2011

2112

22-
def get_browser(y4m=None):
23-
y4m_file = get_random_y4m(path=y4m)
24-
options = webdriver.ChromeOptions()
25-
# options.add_argument('')
26-
options.add_argument('--headless')
27-
# options.add_argument('no-sandbox')
28-
options.add_argument('disable-infobars')
29-
options.add_argument('--disable-extensions')
30-
options.add_argument('--disable-dev-shm-usage')
31-
options.add_argument('--use-fake-device-for-media-stream')
32-
options.add_argument('--use-fake-ui-for-media-stream')
33-
options.add_argument(f'--use-file-for-fake-video-capture={y4m_file}')
34-
options.add_argument('--disable-gpu')
35-
browser = webdriver.Chrome(
36-
executable_path = DRIVER_PATH,
37-
# desired_capabilities = webdriver.DesiredCapabilities.CHROME,
38-
options = options,
39-
)
40-
return browser
41-
42-
4313
def run(room, y4m, lifetime=360):
44-
browser = get_browser(y4m=y4m)
14+
browser = get_chrome_browser(y4m=y4m)
4515
browser.get(f'{URL}/{room}')
4616
# Deprecation Warning
4717
browser.find_element_by_class_name('action-btn').click()

0 commit comments

Comments
 (0)