Skip to content

Commit 6bb9480

Browse files
committed
v0.9.8
1 parent b03143a commit 6bb9480

10 files changed

+48
-16
lines changed

CHANGELOG

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
0.9.8
2+
-----
3+
4+
- added url parameter to override default url in drones
5+
6+
0.9.7
7+
-----
8+
9+
- GARR BBB drone
10+
- GARR Pexip drone

README.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Available drones:
2626
You should know, that:
2727
- WebRTC needs a huge load, on a intel i7 processor you would start from 5 to 8 drones
2828
- hundreds of drones should be handled in a distribuited environment, a cluster of videodrones
29+
- Docker is the fastest way to built a fully working environment, ready to go
30+
- Drones have default hardcoded URLS in their code, please use `-url` parameter to override
2931

3032
Setup
3133
-----
@@ -138,4 +140,7 @@ See [videodrone.drones.jitsi_chrome](src/videodrone/drones/jitsi_chrome.py) for
138140
Credits
139141
-------
140142

141-
Fabio Farina (Garr Consortium), Massimo Carboni (Garr Consortium), Garrlab community.
143+
- Fabio Farina (Garr Consortium)
144+
- Massimo Carboni (Garr Consortium)
145+
- Garrlab community
146+
- IoRestoACasa Community

setup.py

+2-2
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.9.7-2',
10+
version='0.9.8',
1111
description=DESC,
1212
long_description=readme(),
1313
long_description_content_type='text/markdown',
@@ -16,7 +16,7 @@ def readme():
1616
"Programming Language :: Python :: 3.6",
1717
"Programming Language :: Python :: 3.7",
1818
"Programming Language :: Python :: 3.8"],
19-
url='https://github.com/peppelinux/airdrone',
19+
url='https://github.com/peppelinux/videodrone',
2020
author='Giuseppe De Marco',
2121
author_email='giuseppe.demarco@unical.it',
2222
license="Apache 2.0",

src/videodrone/drones/bbbmeet_garr_chrome.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,15 @@ def run(room='videodrone', y4m='./y4m', lifetime=360,
1919

2020
num = kwargs.get('id', random.randrange(1000))
2121
suffix = kwargs.get('suffix', 'default')
22+
url = kwargs.get('url', URL)
23+
drone_name = f'videodrone-{suffix}-{num}'
2224
browser = get_chrome_browser(y4m=y4m, headless=headless)
23-
browser.get(f'{URL}/{room}')
25+
browser.get(f'{url}/{room}')
26+
2427
browser.find_element_by_xpath('//*[@id="room_access_code"]').send_keys(pin)
2528
browser.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/div[2]/form/div/input[2]').click()
26-
browser.find_element_by_xpath('//*[@id="_b_giu-1qd-xfs-muy_join_name"]').send_keys(f'videodrone-{suffix}-{num}')
29+
browser.find_element_by_class_name('join-form').send_keys(drone_name)
30+
2731
browser.find_element_by_id('room-join').click()
2832

2933
# connection to audio server, this could be lagged
@@ -36,12 +40,12 @@ def run(room='videodrone', y4m='./y4m', lifetime=360,
3640

3741
# show cam
3842
time.sleep(5)
39-
ui_element = "icon-bbb-video_off"
40-
status_exp = None
4143
# element_1 = WebDriverWait(browser, 60).until(EC.presence_of_element_located((By.CLASS_NAME, ui_element)))
42-
element_1 = browser.find_element_by_class_name(ui_element)
44+
element_1 = browser.find_element_by_class_name("icon-bbb-video_off")
4345
element_2 = browser.find_element_by_xpath('//*[@id="tippy-25"]/span[1]')
4446
element_3 = browser.find_element_by_id('tippy-25')
47+
48+
status_exp = None
4549
for i in (element_1, element_2, element_3):
4650
try:
4751
i.click()

src/videodrone/drones/edumeet_garr_chrome.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010

1111

1212
def run(room, y4m, lifetime=360, headless=1, **kwargs):
13+
url = kwargs.get('url', URL)
1314
browser = get_chrome_browser(y4m=y4m, headless=headless)
14-
browser.get(f'{URL}/{room}')
15+
browser.get(f'{url}/{room}')
16+
1517
browser.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[3]/button[2]').click()
1618
# browser.find_element(By.XPATH('/html/body/div[2]/div[3]/div/div[3]/button[2]')).click()
1719
time.sleep(lifetime)

src/videodrone/drones/jitsi_chrome.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111

1212

1313
def run(room, y4m, lifetime=360, headless=1, **kwargs):
14+
url = kwargs.get('url', URL)
1415
browser = get_chrome_browser(y4m=y4m, headless=headless)
15-
browser.get(f'{URL}/{room}')
16+
browser.get(f'{url}/{room}')
17+
1618
# Deprecation Warning
1719
browser.find_element_by_class_name('action-btn').click()
1820
# browser.find_element(value='action-btn', by=By.CLASS_NAME)

src/videodrone/drones/lepida_iorestoacasawork_chrome.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010

1111

1212
def run(room, y4m, lifetime=360, headless=1, **kwargs):
13+
url = kwargs.get('url', URL)
1314
browser = get_chrome_browser(y4m=y4m, headless=headless)
14-
browser.get(f'{URL}/{room}')
15+
browser.get(f'{url}/{room}')
16+
1517
browser.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[3]/button[2]').click()
1618
# browser.find_element(By.XPATH('/html/body/div[2]/div[3]/div/div[3]/button[2]')).click()
1719
time.sleep(lifetime)

src/videodrone/drones/openmeet_garr_chrome.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99

1010

1111
def run(room, y4m, lifetime=360, headless=1, **kwargs):
12+
url = kwargs.get('url', URL)
1213
browser = get_chrome_browser(y4m=y4m, headless=headless)
13-
browser.get(f'{URL}/{room}')
14+
browser.get(f'{url}/{room}')
15+
1416
time.sleep(lifetime)
1517
# leave the room
1618
try:

src/videodrone/drones/pexip_garr_chrome.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313

1414
def run(room='videodrone', y4m='./y4m', lifetime=360,
1515
headless=1, pin=None, **kwargs):
16-
1716
num = kwargs.get('id', random.randrange(1000))
1817
suffix = kwargs.get('suffix', 'default')
18+
19+
url = kwargs.get('url', URL)
1920
browser = get_chrome_browser(y4m=y4m, headless=headless)
20-
browser.get(f'{URL}/{room}')
21+
browser.get(f'{url}/{room}')
2122

2223
time.sleep(3)
2324
browser.find_element_by_id('display-name-dialog-input').send_keys(f'videodrone-{suffix}-{num}')

videodrone

+6-2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ parser.add_argument('-c', required=False,
2424
default='videodrone.drones.jitsi_chrome')
2525
parser.add_argument('-y4m', required=False,
2626
help=("y4m path, where media files resides."))
27+
parser.add_argument('-url', required=False,
28+
help=("URL - overrides the constant url in the drones"))
2729
parser.add_argument('-room', required=True,
2830
help=("room name"))
2931
parser.add_argument('-pin', required=False,
@@ -49,6 +51,7 @@ timeout = args.t
4951
room = args.room
5052
pin=args.pin
5153
y4m = args.y4m
54+
url = args.url
5255
lifetime = args.lifetime
5356
headless=args.headless
5457
suffix=args.suffix
@@ -61,7 +64,7 @@ drone_conn = importlib.import_module(drone_path)
6164
if wn <= 1:
6265
# single mode: Default
6366
drone_conn.run(room=room, y4m=y4m, lifetime=lifetime, pin=pin,
64-
headless=headless, id=0, suffix=suffix)
67+
headless=headless, id=0, suffix=suffix, url=url)
6568
else:
6669
# Parallel
6770
for i in range(wn):
@@ -72,7 +75,8 @@ else:
7275
'lifetime': lifetime,
7376
'headless':headless,
7477
'id': i,
75-
'suffix': suffix})
78+
'suffix': suffix,
79+
'url' : url})
7680
time.sleep(timeout)
7781
p.start()
7882
logger.info(f'Started drone {p}')

0 commit comments

Comments
 (0)