def install(self): # set up console which reads out status console_row = 3 if self.advanced == 1: console_row = 12 if hasattr(self, 'console'): self.console.destroy() self.console = tk.Text(root) self.console.grid(row=console_row, column=0) # install as windows service try: self.console.insert("end", 'Installing analytic connection as a windows service...\n') batch = "install.bat {0} {1}" install_directory = os.getcwd().split('gui')[0] + 'dist\__main__.exe' subprocess.call(["..\\install.bat", self.name_entry.get(), install_directory], shell=False) #os.system(batch.format(self.name_entry.get(), install_directory)) self.console.insert("end", 'The analytic connection has now been installed as a windows service!\n') except Exception as e: print(e) self.console.insert("end", 'Looks like there was an error installing the analytic connection as a windows service!\n') try: qrs = qrspy.ConnectQlik(server = self.host_entry.get() + ':' + str(4242), certificate = (self.certificate_entry.get() + 'client.pem', self.certificate_entry.get() + 'client_key.pem')) qrs.get_health() except Exception: self.console.insert("end", 'It looks like we could not find your Qlik certificates! Please check the certificates folder location within the advanced settings!\n') # add analytic connection in qlik sense self.console.insert("end", 'Installing analytic connection in Qlik Sense...\n') connections = qrs.get_analytic_connection() installed = False for connection in connections: if connection['name'] == self.name_entry.get(): installed = True break if installed: self.console.insert("end", 'Analytic connection is already installed in Qlik Sense!\n') else: qrs.new_analytic_connection(self.name_entry.get(), self.host_entry.get(), self.port_entry.get()) self.console.insert("end", 'Analytic connection successfully installed in Qlik Sense!\n')
import qrspy host = 'localhost' port = 4242 certPath = 'C:/ProgramData/Qlik/Sense/Repository/Exported Certificates/.Local Certificates/' qrs = qrspy.ConnectQlik(server=host + ':' + str(port), certificate=(certPath + 'client.pem', certPath + 'client_key.pem')) print(qrs)
elif type(args["kill_task"]) == int: kill_task = args["kill_task"] else: kill_task = 0 else: kill_task = 0 logger.info('Timeout threshold seconds: {}'.format(timeout_seconds)) logger.info('Poll frequency in seconds: {}'.format(poll_frequency)) logger.info('Running task \'{}\''.format(task_id_or_name)) logger.info('Hostname = {}'.format(host_name)) logger.info('Certificate path = {}'.format(certificate_path)) logger.info('Connecting to Qlik QRS API') qrs = qrspy.ConnectQlik( server='{}:4242'.format(host_name), certificate=('{}/client.pem'.format(certificate_path), '{}/client_key.pem'.format(certificate_path))) #Check whether connect worked, if exception caught, log error and exit try: about = qrs.get_about() if about is None: logger.error("Qlik QRS API connection failure") sys.exit(1) except: # catch *all* exceptions e = sys.exc_info()[0] logger.error('Qlik QRS API connection failure: {}'.format(e)) sys.exit(1) logger.info('Connected to Qlik QRS API')
parser = argparse.ArgumentParser() parser.add_argument('--server', help='Qlik Sense Server to connect to.') parser.add_argument('--certs', help='Path to certificates.') parser.add_argument('--user', help='Username in format domain\\user') parser.add_argument( '--wmi', help= 'True/False, set to True to collect WMI information from servers. This switch requires windows authentication (username and password)' ) parser.add_argument('--password', help='Password of user.') args = parser.parse_args() if args.certs: if args.certs[-1] == '/': qrs = qrspy.ConnectQlik(server=args.server + ':4242', certificate=(args.certs + 'client.pem', args.certs + 'client_key.pem'), root=args.certs + 'root.pem') else: qrs = qrspy.ConnectQlik(server=args.server + ':4242', certificate=(args.certs + '/client.pem', args.certs + '/client_key.pem'), root=args.certs + '/root.pem') elif args.user: qrs = qrspy.ConnectQlik(server=args.server, credential=args.user, password=args.password) # qrs = qrspy.ConnectQlik(server='qs2.qliklocal.net:4242', # certificate=('C:/certs/qs2.qliklocal.net/client.pem', # 'C:/certs/qs2.qliklocal.net/client_key.pem'), # root='C:/certs/qs2.qliklocal.net/root.pem')