X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=SfaData.py;h=c0bdf5bb9c218a448a667c70a2bc29d54488290b;hb=f72aeb0a0e7ee7671c7a415e8ac8fbb235de01aa;hp=b6d73317b05f0c8790caef57f67b9483168b17c0;hpb=e15ce3036c57ffce83734d8f9912acff5ce2e82a;p=sfa-gui.git diff --git a/SfaData.py b/SfaData.py index b6d7331..c0bdf5b 100644 --- a/SfaData.py +++ b/SfaData.py @@ -4,32 +4,36 @@ from subprocess import * from sfa.util.rspecHelper import RSpec class SfaData: - authority = "plc.princeton" - user = "plc.princeton.acb" - slice = "plc.princeton.sapan" - def __init__(self): self.registry = None self.slicemgr = None + filename = os.path.expanduser("~/.sfi/sfi_config") + execfile(filename, SfaData.__dict__) + if not hasattr(SfaData, 'SFI_AUTH'): + SfaData.SFI_AUTH = None + if not hasattr(SfaData, 'SFI_USER'): + SfaData.SFI_USER = None + if not hasattr(SfaData, 'SFI_SLICE'): + SfaData.SFI_SLICE = None def getAuthority(self): - return SfaData.authority + return SfaData.SFI_AUTH def getUser(self): - return SfaData.user + return SfaData.SFI_USER def setUser(self, user): - SfaData.user = user + SfaData.SFI_USER = user # Should probably get authority from user record instead... - a = SfaData.user.split('.') - SfaData.authority = '.'.join(a[:len(a)-1]) + a = user.split('.') + SfaData.SFI_AUTH = '.'.join(a[:len(a)-1]) def getSlice(self): - return SfaData.slice + return SfaData.SFI_SLICE def setSlice(self, slice): - SfaData.slice = slice + SfaData.SFI_SLICE = slice def getRecord(self, hrn): text = Popen(["sfi.py", "-u", self.getUser(), "-a", @@ -54,10 +58,15 @@ class SfaData: def getRSpec(self): slice = self.getSlice() + # Write RSpec to file for testing. + filename = os.path.expanduser("~/.sfi/" + slice + ".rspec") + try: + os.remove(filename) + except: + pass call(["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(), "-r", self.registry, "-s", self.slicemgr, "resources", - "-o", slice, slice]) - filename = os.path.expanduser("~/.sfi/" + slice + ".rspec") + "-o", filename, slice]) f = open(filename, "r") xml = f.read() f.close()