import sys import os import pathlib import zipfile import json if len(sys.argv)<2: print("Use {}/scripts/runPython.sh {} file.zip".\ format(os.path.expanduser('~'),sys.argv[0])) sys.exit(0) scriptPath=pathlib.Path(__file__) upOne=str(scriptPath.parents[1]) sys.path.insert(0,upOne) import labkeyInterface setupDir=os.path.join(os.path.expanduser('~'),'.labkey') if not os.path.isdir(setupDir): os.mkdir(setupDir) zpath=pathlib.Path(sys.argv[1]) user=zpath.stem userDir=os.path.join(setupDir,user) if not os.path.isdir(userDir): os.mkdir(userDir) #unzip .key, and .crt files to userDir caName=None with zipfile.ZipFile(sys.argv[1],'r') as zipObj: zipObj.extract(user+'.crt',userDir) zipObj.extract(user+'.key',userDir) zipList=zipObj.namelist() for f in zipList: if f.find('CA')>-1: caName=f zipObj.extract(f,userDir) #create and dump a config object SSLconfig={} SSLconfig['user']=os.path.join(userDir,user+'.crt') SSLconfig['key']=os.path.join(userDir,user+'.key') SSLconfig['ca']=os.path.join(userDir,caName) connectionConfig={} connectionConfig['SSL']=SSLconfig connectionConfig['host']='https://merlin.fmf.uni-lj.si' labkeyConfig={} labkeyConfig['user']='guest' labkeyConfig['password']='notUsed' connectionConfig['labkey']=labkeyConfig #generate a testNetwork.json file nfile=os.path.join(setupDir,'testNetwork.json') with open(nfile,'w') as f: json.dump(connectionConfig,f,indent=3) net=labkeyInterface.labkeyInterface() net.init(nfile) csrf=net.getCSRF() if csrf==None: print("Failed") else: print("Success: {}".format(csrf)) print("Done")