# -*- coding: utf-8 -*- from setuphelpers import * import os from jinja2 import Environment, FileSystemLoader uninstallkey = [] variables = { 'firefox_config_url': 'https://server/mcd/firefox.cfg', 'firefox_config_append_domain': '' } # Read local variables file if available if isfile(makepath(programfiles32,'wapt','private','symetric.txt')) and isfile(makepath(programfiles32,'wapt','private','variables.txt')): print('Reading local encrypted variables file') from cryptography.fernet import Fernet import yaml f = Fernet(open(makepath(programfiles32,'wapt','private','symetric.txt'),'r').read()) variables.update(yaml.safe_load(f.decrypt(open(makepath(programfiles32,'wapt','private','variables.txt'),'r').read()))) def install(): if isdir(makepath(programfiles,'Mozilla Firefox ESR')): dest=makepath(programfiles,'Mozilla Firefox ESR') elif isdir(makepath(programfiles,'Mozilla Firefox')): dest=makepath(programfiles,'Mozilla Firefox') else: error('Firefox installation dir not found') filecopyto('autoconf.js',makepath(dest,'defaults','pref')) filecopyto('override.ini',dest) jinja2 = Environment( loader=FileSystemLoader(os.getcwd()), trim_blocks=True ) open(makepath(dest,'firefox.cfg'),'w').write( jinja2.get_template('firefox.cfg.j2').render( firefox_config_url = variables['firefox_config_url'], firefox_config_append_domain = variables['firefox_config_append_domain'] ) ) def uninstall(): for dir in ['Mozilla Firefox', 'Mozilla Firefox ESR']: remove_file(makepath(programfiles,dir,'defaults','pref','autoconf.js')) remove_file(makepath(programfiles,dir,'override.ini')) remove_file(makepath(programfiles,dir,'firefox.cfg')) def audit(): if isdir(makepath(programfiles,'Mozilla Firefox ESR')): dest=makepath(programfiles,'Mozilla Firefox ESR') elif isdir(makepath(programfiles,'Mozilla Firefox')): dest=makepath(programfiles,'Mozilla Firefox') else: print('Firefox installation dir not found') return "ERROR" if ( not isfile(makepath(dest,'defaults','pref','autoconf.js')) or not isfile(makepath(dest,'override.ini')) or not isfile(makepath(dest,'firefox.cfg')) ): print('At least one config file is missing') return "ERROR" return "OK"