Merge branch 'feature/allow-specifying-domain' of jonas/DynDns into master
This commit is contained in:
commit
a2999c3d93
|
@ -1,2 +1,3 @@
|
||||||
HpLogin=
|
HpLogin=
|
||||||
HpPass=
|
HpPass=
|
||||||
|
Domain=
|
||||||
|
|
|
@ -9,6 +9,9 @@ from pyvirtualdisplay import Display
|
||||||
|
|
||||||
logger = logging.getLogger(__file__)
|
logger = logging.getLogger(__file__)
|
||||||
|
|
||||||
|
class DomainNotFoundError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
class HpUpdater():
|
class HpUpdater():
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -26,7 +29,16 @@ class HpUpdater():
|
||||||
logger.debug('updateARecord called')
|
logger.debug('updateARecord called')
|
||||||
|
|
||||||
driver.get('https://admin.hostpoint.ch/customer/Domains/Overview')
|
driver.get('https://admin.hostpoint.ch/customer/Domains/Overview')
|
||||||
driver.find_element_by_name('edit_dns').click()
|
|
||||||
|
domainTableRows = driver.find_elements_by_class_name('b-table__body-row')
|
||||||
|
|
||||||
|
for row in domainTableRows:
|
||||||
|
if os.environ.get('Domain') == row.find_element_by_class_name('domain-name-value').get_attribute('value'):
|
||||||
|
row.find_element_by_name('edit_dns').click()
|
||||||
|
logger.debug('domain found')
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
raise DomainNotFoundError(f'Domain {os.environ.get("Domain")} can not be found in domain list.')
|
||||||
|
|
||||||
driver.implicitly_wait(10)
|
driver.implicitly_wait(10)
|
||||||
|
|
||||||
|
@ -84,7 +96,10 @@ class HpUpdater():
|
||||||
logging.info('Initialized firefox browser..')
|
logging.info('Initialized firefox browser..')
|
||||||
|
|
||||||
self._login(driver)
|
self._login(driver)
|
||||||
self._updateARecord(driver, ip)
|
try:
|
||||||
|
self._updateARecord(driver, ip)
|
||||||
|
except DomainNotFoundError as e:
|
||||||
|
logging.error(e)
|
||||||
|
|
||||||
driver.quit()
|
driver.quit()
|
||||||
display.stop()
|
display.stop()
|
||||||
|
|
Loading…
Reference in New Issue