Skip to content

Commit

Permalink
Adding hbinov
Browse files Browse the repository at this point in the history
Minor bug fixing
  • Loading branch information
t0mer committed Nov 1, 2020
1 parent 68739f7 commit 9d90e51
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 63 deletions.
11 changes: 9 additions & 2 deletions dockerbot.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
default_Image = '/opt/dockerbot/please_sign.jpg'
webtop_Image = '/opt/dockerbot/images/webtop_approval.png'
infogan_Image = '/opt/dockerbot/images/infogan_approval.png'
hbinov_Image = '/opt/dockerbot/images/hbinov_approval.png'

def CopyConfig():
if not os.path.exists(configfile):
Expand Down Expand Up @@ -139,7 +140,7 @@ def mashov_sign():
return jsonify('{"signed":"0","data":"Mashov is not configured"}')

@app.route('/mashov/statement')
def hbinov_statement():
def mashov_statement():
Image = '/opt/dockerbot/images/mashov_approval_' + str(request.args.get('kid')) + '.png'
if os.path.exists(Image):
return send_file(str(Image), mimetype='image/png', cache_timeout=-1)
Expand All @@ -157,7 +158,7 @@ def sign_hbinov():
try:
logger.info("Starting Sign process at " + list['hbinov']['URL'])
import Hbinov_Health_Statements
if Hbinov_Health_Statements.sigשמn() == 1:
if Hbinov_Health_Statements.sign(hbinov_Image) == 1:
return jsonify('{"signed":"1","data":""}')
else:
return jsonify('{"signed":"0","data":""}')
Expand All @@ -167,6 +168,12 @@ def sign_hbinov():

return jsonify('{"signed":"0","data":"Edu is not configured"}')

@app.route('/hbinov/statement')
def hbinov_statement():
if os.path.exists(hbinov_Image):
return send_file(str(hbinov_Image), mimetype='image/png', cache_timeout=-1)
else:
return send_file(str(default_Image), mimetype='image/jpeg',cache_timeout=-1)



Expand Down
28 changes: 25 additions & 3 deletions helpers.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from datetime import date
from datetime import time
from datetime import datetime
Expand All @@ -13,7 +14,7 @@
#### Setting ChromeOptions ####
def GetBrowser():
options = webdriver.ChromeOptions()
options.add_argument("-incognito")
options.add_argument("--incognito")
options.add_argument("--headless")
options.add_argument("disable-gpu")
options.add_argument("--no-sandbox")
Expand All @@ -27,7 +28,7 @@ def GetBrowser():

def GetMobileBrowser():
options = webdriver.ChromeOptions()
options.add_argument("-incognito")
options.add_argument("--incognito")
options.add_argument("--headless")
options.add_argument("disable-gpu")
options.add_argument("--no-sandbox")
Expand Down Expand Up @@ -80,4 +81,25 @@ def ping(browser, page):
try:
browser.get('https://bots.techblog.co.il/' + page + '.html')
except:
logger.info("Unable to ping")
logger.info("Unable to ping")


def get_clear_browsing_button(browser):
"""Find the "CLEAR BROWSING BUTTON" on the Chrome settings page."""
return browser.find_element_by_css_selector('* /deep/ #clearBrowsingDataConfirm')


def clear_cache(browser, timeout=60):
"""Clear the cookies and cache for the ChromeDriver instance."""
# navigate to the settings page
browser.get('chrome:https://settings/clearBrowserData')

# wait for the button to appear
wait = WebDriverWait(browser, timeout)
wait.until(get_clear_browsing_button)

# click the button to clear the cache
get_clear_browsing_button(browser).click()

# wait for the button to be gone before returning
wait.until_not(get_clear_browsing_button)
102 changes: 46 additions & 56 deletions workers/Hbinov_Health_Statements.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
import time, os
from selenium.common.exceptions import InvalidSessionIdException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from loguru import logger
import helpers, yaml
Expand All @@ -20,15 +23,15 @@ def ReadConfig():
logger.error("Error Reading Configuration, Msg: " + str(ex))
return ""

def sign():
def sign(Image):
list = ReadConfig()
try:
logger.info("Starting process")
browser = helpers.GetBrowser()

time.sleep(1)
try:
helpers.ping(browser, 'infogan')
helpers.ping(browser, 'hbinov')
except:
logger.debug('Unable to ping')

Expand Down Expand Up @@ -61,73 +64,60 @@ def sign():
browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[2]/div[1]/a').click()
time.sleep(1)


# browser.find_element_by_id('ProjectId').send_keys("אדמה מכתשים - נאות חובב", Keys.ENTER)

project = browser.find_element_by_xpath('//*[@id="ProjectId"]')
browser.execute_script("arguments[0].setAttribute('value', 'אדמה מכתשים - נאות חובב')", project)
helpers.fullpage_screenshot(browser,'/opt/dockerbot/images/test1.png')
# project.click()
# project.send_keys(Keys.ARROW_DOWN)
# project.send_keys(Keys.RETURN)


# review = browser.find_element_by_xpath('/html/body/div[2]/div/div/div/div[2]/div[2]/div/div/span/span/span[1]')
# review.click()
# review.send_keys(Keys.ARROW_DOWN)
# review.send_keys(Keys.RETURN)

# browser.find_element_by_xpath('//*[@id="setupSave"]').click()


logger.info('Selecting Project and Review')
project = browser.find_element_by_xpath("//span[@aria-owns='ProjectId_listbox']")
project.click()
project.send_keys(Keys.ARROW_DOWN)
project.send_keys(Keys.RETURN)

# helpers.largepage_screenshot(browser,'/opt/dockerbot/images/step_2.png')



ReviewInfoId = browser.find_element_by_xpath("//span[@aria-owns='ReviewInfoId_listbox']")
ReviewInfoId.click()
ReviewInfoId.send_keys(Keys.ARROW_DOWN)
ReviewInfoId.send_keys(Keys.RETURN)

browser.find_element_by_xpath('//*[@id="setupSave"]').click()
time.sleep(2)
helpers.log_browser(browser)
######### Filling up the form ############


# browser.find_element_by_xpath(Full_Name).clear()
# browser.find_element_by_xpath(Full_Name).send_keys(str(list['hbinov']['NAME']))
helpers.fullpage_screenshot(browser, Image)
browser.find_element_by_xpath(Full_Name).clear()
browser.find_element_by_xpath(Full_Name).send_keys(str(list['hbinov']['NAME']))

# browser.find_element_by_xpath(Mobile_Phone).clear()
# browser.find_element_by_xpath(Mobile_Phone).send_keys(str(list['hbinov']['MOBILE']))
browser.find_element_by_xpath(Mobile_Phone).clear()
browser.find_element_by_xpath(Mobile_Phone).send_keys(str(list['hbinov']['MOBILE']))

# browser.find_element_by_xpath(Worker_ID).clear()
# browser.find_element_by_xpath(Worker_ID).send_keys(str(list['hbinov']['ID']))
browser.find_element_by_xpath(Worker_ID).clear()
browser.find_element_by_xpath(Worker_ID).send_keys(str(list['hbinov']['ID']))

# browser.find_element_by_xpath('//*[@id="466557"]').click()
# browser.find_element_by_xpath('//*[@id="466559"]').click()
# browser.find_element_by_xpath('//*[@id="466561"]').click()
browser.find_element_by_xpath('//*[@id="466557"]').click()
browser.find_element_by_xpath('//*[@id="466559"]').click()
browser.find_element_by_xpath('//*[@id="466561"]').click()


# browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/div[2]/div[2]/div/div[10]/div/div[2]/div/div[1]').click()
# time.sleep(1)
browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/div[2]/div[2]/div/div[10]/div/div[2]/div/div[1]').click()
time.sleep(1)

# canvas = browser.find_element_by_class_name("sigCanvas")
# drawing = ActionChains(browser)\
# .click_and_hold(canvas)\
# .move_by_offset(0, 0)\
# .move_by_offset(20, 32)\
# .move_by_offset(10, 25)\
# .release()
# drawing.perform()
canvas = browser.find_element_by_class_name("sigCanvas")
drawing = ActionChains(browser)\
.click_and_hold(canvas)\
.move_by_offset(0, 0)\
.move_by_offset(20, 32)\
.move_by_offset(10, 25)\
.release()
drawing.perform()

# browser.find_element_by_xpath('/html/body/aside[2]/div/div/a[2]').click()
browser.find_element_by_xpath('/html/body/aside[2]/div/div/a[2]').click()

# signiture = browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/div[2]/div[2]/div/div[10]/div/div[2]/div/div[2]/img')
# with open('/opt/dockerbot/config/' + str(list['hbinov']['SIG_FILE']) , 'r') as file:
# data = file.read().replace('\n', '')
# browser.execute_script("arguments[0].setAttribute('src', '"+ data +"')", signiture);

signiture = browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/div[2]/div[2]/div/div[10]/div/div[2]/div/div[2]/img')
with open('/opt/dockerbot/config/' + str(list['hbinov']['SIG_FILE']) , 'r') as file:
data = file.read().replace('\n', '')
browser.execute_script("arguments[0].setAttribute('src', '"+ data +"')", signiture);

# browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/div[1]/div[3]/div/a').click()


browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/div[1]/div[3]/div/a').click()

# helpers.log_browser(browser)
# helpers.fullpage_screenshot(browser,'/opt/dockerbot/images/step2.png')
helpers.log_browser(browser)
helpers.fullpage_screenshot(browser, Image)


return 1
Expand Down
2 changes: 1 addition & 1 deletion workers/Mashov_Health_Statements.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def sign(user, password, schoolid, kidnum, Image):
logger.info("Starting process")

try:
helpers.ping(browser, 'infogan')
helpers.ping(browser, 'mashov')
except:
logger.debug('Unable to ping')
logger.debug('----------------------------------------------------------------------')
Expand Down
2 changes: 1 addition & 1 deletion workers/Webtop_Health_Statements.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def sign(userCode, sitePassword, Image):
logger.info("Starting process")

try:
helpers.ping(browser, 'infogan')
helpers.ping(browser, 'webtop')
except:
logger.debug('Unable to ping')

Expand Down

0 comments on commit 9d90e51

Please sign in to comment.