X-Git-Url: http://git.onelab.eu/?p=sfa-gui.git;a=blobdiff_plain;f=SfaData.py;h=953179c047c8b58bcc1949cd6e4da54b8462d419;hp=b6d73317b05f0c8790caef57f67b9483168b17c0;hb=24cf47e54ea4530e063cf73616c5de442ec85f54;hpb=e15ce3036c57ffce83734d8f9912acff5ce2e82a diff --git a/SfaData.py b/SfaData.py index b6d7331..953179c 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") f = open(filename, "r") xml = f.read() f.close()