Beispiel #1
0
    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')
Beispiel #2
0
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)
Beispiel #3
0
    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')
Beispiel #4
0
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')