X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestKey.py;h=ddef527c6680eb046dfa6d7800bd03b579b48d1b;hb=9b733a4719b75382285799e42b245108f986aaa1;hp=4df0b4893618e7d7b070e7599fb580194add2b89;hpb=2b0ea6d27b0f551871288079a7aea90483992db3;p=tests.git diff --git a/system/TestKey.py b/system/TestKey.py index 4df0b48..ddef527 100644 --- a/system/TestKey.py +++ b/system/TestKey.py @@ -1,47 +1,36 @@ +# Thierry Parmentelat +# Copyright (C) 2010 INRIA +# import utils import os, os.path from TestSsh import TestSsh class TestKey: - def __init__ (self,test_plc,key_spec): - self.test_plc=test_plc - self.key_spec=key_spec - self.test_ssh=TestSsh(self.test_plc.test_ssh) + def __init__ (self, test_plc, key_spec): + self.test_plc = test_plc + self.key_spec = key_spec + self.test_ssh = TestSsh(self.test_plc.test_ssh) def name(self): - return self.key_spec['name'] + return self.key_spec['key_name'] def publicpath(self): - return "keys/%s.pub"%(self.name()) + return "keys/{}.pub".format(self.name()) def privatepath(self): - return "keys/%s.rsa"%(self.name()) + return "keys/{}.rsa".format(self.name()) - def store_remote_key(self,hostname): - #Not tested yet, don't know if needed - pub=self.publicpath() - priv=self.privatepath() - utils.header("Storing key %s in %s into %s "%(self.name(),pub,hostname)) - dir=os.path.dirname(pub) - self.test_ssh.run("mkdir %s"%dir) - self.test_ssh.run("cat %s >> %s"%(self.key_spec['key_fields']['key'],pub)) - self.test_ssh.run("cat %s >> %s"%(self.key_spec['private'],priv)) - self.test_ssh.run("chmod %s 0400"%priv) - self.test_ssh.run("chmod %s 0444"%pub) - def store_key(self): - pub=self.publicpath() - priv=self.privatepath() - utils.header("Storing key %s in %s"%(self.name(),pub)) - dir=os.path.dirname(pub) + pub = self.publicpath() + priv = self.privatepath() + utils.header("Storing key {} in {}".format(self.name(), pub)) + dir = os.path.dirname(pub) if not os.path.isdir(dir): os.mkdir(dir) - f=open(pub,"w") - f.write(self.key_spec['key_fields']['key']) - f.close() - f=open(priv,"w") - f.write(self.key_spec['private']) - f.close() - os.chmod(priv,0400) - os.chmod(pub,0444) + with open(pub,"w") as f: + f.write(self.key_spec['key_fields']['key']) + with open(priv,"w") as f: + f.write(self.key_spec['private']) + os.chmod(priv,0o400) + os.chmod(pub,0o444)