From 4a1860f387e4a6afb1a448df15f5f1fb182d5712 Mon Sep 17 00:00:00 2001 From: Jean-Claude Graf Date: Thu, 23 Apr 2020 14:27:07 +0200 Subject: [PATCH] Move files to src folder, and virtuel display for firefox and adjust paths --- HpUpdater.py => src/HpUpdater.py | 30 +++++++++++++++++++++++++----- IpManager.py => src/IpManager.py | 0 logger.conf => src/logger.conf | 0 main.py => src/main.py | 6 ++++-- 4 files changed, 29 insertions(+), 7 deletions(-) rename HpUpdater.py => src/HpUpdater.py (68%) rename IpManager.py => src/IpManager.py (100%) rename logger.conf => src/logger.conf (100%) rename main.py => src/main.py (80%) diff --git a/HpUpdater.py b/src/HpUpdater.py similarity index 68% rename from HpUpdater.py rename to src/HpUpdater.py index 8f10376..855e866 100644 --- a/HpUpdater.py +++ b/src/HpUpdater.py @@ -4,9 +4,10 @@ import os import time import logging -logger = logging.getLogger(__file__) - from selenium import webdriver +from pyvirtualdisplay import Display + +logger = logging.getLogger(__file__) class HpUpdater(): @@ -63,8 +64,27 @@ class HpUpdater(): def update(self, ip): logger.info('Start Hostpoint Record update') + + # Thanks to https://github.com/dimmg/dockselpy + # Display is only used for firefox to run properly + display = Display(visible=0, size=(800, 600)) + display.start() - with webdriver.Firefox() as driver: + logging.info('Initialized virtual display..') - self._login(driver) - self._updateARecord(driver, ip) + firefox_profile = webdriver.FirefoxProfile() + firefox_profile.set_preference('browser.download.folderList', 2) + firefox_profile.set_preference('browser.download.manager.showWhenStarting', False) + firefox_profile.set_preference('browser.download.dir', os.getcwd()) + firefox_profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv') + + logging.info('Prepared firefox profile..') + + driver = webdriver.Firefox(firefox_profile=firefox_profile) + logging.info('Initialized firefox browser..') + + self._login(driver) + self._updateARecord(driver, ip) + + driver.quit() + display.stop() diff --git a/IpManager.py b/src/IpManager.py similarity index 100% rename from IpManager.py rename to src/IpManager.py diff --git a/logger.conf b/src/logger.conf similarity index 100% rename from logger.conf rename to src/logger.conf diff --git a/main.py b/src/main.py similarity index 80% rename from main.py rename to src/main.py index ee62e09..412180c 100644 --- a/main.py +++ b/src/main.py @@ -12,11 +12,13 @@ from HpUpdater import HpUpdater from IpManager import IpManager loggerConfigPath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logger.conf') -logging.config.fileConfig(fname=loggerConfigPath, defaults={'logfilename': 'log/main.log', 'debuglogfilename': 'log/debug.log'}, disable_existing_loggers=False) + +home = os.environ.get('APP_HOME') +logging.config.fileConfig(fname=loggerConfigPath, defaults={'logfilename': f'{home}/log/main.log', 'debuglogfilename': f'{home}/log/debug.log'}, disable_existing_loggers=False) logger = logging.getLogger(__name__) -ipFile = "lastIp" +ipFile = f'{home}/lastIp' timeout = 60 if __name__ == "__main__":