Skip to content

Commit 3b51f39

Browse files
committed
Fix zoom modal window, fix zoom links, add zoom finished handlers
1 parent 9cd1998 commit 3b51f39

File tree

2 files changed

+45
-7
lines changed

2 files changed

+45
-7
lines changed

BrowserHandler.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,23 @@ def handler_loop(self):
250250

251251
# Zoom handlers
252252
elif self.link_type == LINK_TYPE_ZOOM:
253-
# Finished
254-
if len(self.browser.find_elements(By.CLASS_NAME, 'zm-modal-body-title')) > 0 \
255-
or len(self.browser.find_elements(By.CLASS_NAME, 'zm-modal2-body-title')) > 0:
253+
# Finished?
254+
is_finished = False
255+
zm_modal_body_titles = self.browser.find_elements(By.CLASS_NAME, 'zm-modal-body-title')
256+
zm_modal2_body_titles = self.browser.find_elements(By.CLASS_NAME, 'zm-modal2-body-title')
257+
feedback_wrap_hideme_rows = self.browser.find_elements(By.CLASS_NAME, 'feedback-wrap hideme row')
258+
error_messages = self.browser.find_elements(By.CLASS_NAME, 'error-message')
259+
if len(zm_modal_body_titles) > 0:
260+
html_ = str(zm_modal_body_titles[0].get_attribute('innerHTML')).lower()
261+
if 'ended' in html_ or 'finished' in html_ or 'завершен' in html_:
262+
is_finished = True
263+
if len(zm_modal2_body_titles) > 0:
264+
html_ = str(zm_modal2_body_titles[0].get_attribute('innerHTML')).lower()
265+
if 'ended' in html_ or 'finished' in html_ or 'завершен' in html_:
266+
is_finished = True
267+
if len(feedback_wrap_hideme_rows) > 0 or len(error_messages) > 0:
268+
is_finished = True
269+
if is_finished:
256270
logging.warning('Event finished! Closing browser...')
257271
if self.browser is not None:
258272
self.stop_browser_and_recording.emit(True)
@@ -264,6 +278,14 @@ def handler_loop(self):
264278
if len(join_audio_by_voip_buttons) > 0:
265279
join_audio_by_voip_buttons[0].click()
266280

281+
# Click OK on all zm modals
282+
zm_modals = self.browser.find_elements(By.CLASS_NAME, 'zm-modal')
283+
for zm_modal in zm_modals:
284+
zm_modal_buttons = zm_modal.find_elements(By.TAG_NAME, 'button')
285+
for zm_modal_button in zm_modal_buttons:
286+
logging.info('Clicking on modal window button')
287+
zm_modal_button.click()
288+
267289
###############
268290
# Login stage #
269291
###############

main.py

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import shutil
2323
import signal
2424
import sys
25+
import webbrowser
2526

2627
import psutil
2728
import requests
@@ -34,9 +35,9 @@
3435
import LectureBuilder
3536
import VideoAudioReader
3637

37-
WEBINAR_HACKER_VERSION = 'beta_4.0.1'
38+
WEBINAR_HACKER_VERSION = 'beta_4.0.4'
3839
WEBINAR_HACKER_VERSION_CHECK_URL = 'https://api.github.com/repos/F33RNI/Webinar-Hacker/releases/latest'
39-
WEBINAR_HACKER_URL = 'https://github.com/F33RNI/Webinar-hacker'
40+
WEBINAR_HACKER_URL = 'https://github.com/F33RNI/Webinar-hacker/releases/latest'
4041

4142
LOGGING_LEVEL = logging.INFO
4243

@@ -276,9 +277,24 @@ def check_version(self):
276277
# Check version
277278
tag_name = request_result.json()['tag_name']
278279
if tag_name is not None and len(tag_name) > 1 and tag_name != WEBINAR_HACKER_VERSION:
280+
# Get changelog
281+
changelog = ''
282+
try:
283+
changelog_raw = str(request_result.json()['body'])
284+
changelog += changelog_raw.split('\r\n')[0].replace('#', '').strip()
285+
changelog += '\n\n' + '\n'.join(changelog_raw.split('\r\n')[3:-2]).strip()
286+
except:
287+
pass
288+
279289
# Show update message
280290
QMessageBox.information(self, 'New version available', 'Please download new version: '
281-
+ tag_name + '\n' + WEBINAR_HACKER_URL)
291+
+ tag_name + '\n' + WEBINAR_HACKER_URL + '\n\nChangelog:\n' + changelog)
292+
293+
# Open download page
294+
try:
295+
webbrowser.open(WEBINAR_HACKER_URL)
296+
except:
297+
pass
282298

283299
except Exception as e:
284300
logging.warning(e)
@@ -647,7 +663,7 @@ def stop_browser(self, from_button: bool, from_zoom=False):
647663
logging.info('Reconnecting...')
648664
self.reconnects_counters[i][str(self.current_link_index)] = reconnected_times + 1
649665
self.start_browser(False)
650-
return
666+
return
651667
else:
652668
logging.info('Reconnects disabled!')
653669

0 commit comments

Comments
 (0)