X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fapi_versions.py;h=722be75fe249efc1b65ac165b6797259d1f924d7;hb=4a9e6751f9f396f463932133b9d62fc925a99ef6;hp=9b05dbe27532f68f84bad4e779e877529f0eca08;hpb=a979334e9bb65b34f67d1bc0ca2003c184de9924;p=sfa.git diff --git a/sfa/server/api_versions.py b/sfa/server/api_versions.py index 9b05dbe2..722be75f 100644 --- a/sfa/server/api_versions.py +++ b/sfa/server/api_versions.py @@ -2,13 +2,14 @@ import os from sfa.util.xml import XML from sfa.util.config import Config + class ApiVersions: required_fields = ['version', 'url'] - + template = """ -""" +""" def __init__(self, string=None, filename=None, create=False): self.xml = None @@ -22,9 +23,10 @@ class ApiVersions: else: # load the default file c = Config() - api_versions_file = os.path.sep.join([c.config_path, 'api_versions.xml']) + api_versions_file = os.path.sep.join( + [c.config_path, 'api_versions.xml']) self.load(api_versions_file) - + def create(self): self.xml = XML(string=ApiVersions.template) @@ -33,14 +35,13 @@ class ApiVersions: def get_versions(self): versions = {} - for value in self.xml.todict().values(): + for value in list(self.xml.todict().values()): if not value: continue if isinstance(value, list): for item in value: if isinstance(item, dict) and \ - set(ApiVersions.required_fields).issubset(item.keys()): + set(ApiVersions.required_fields).issubset(list(item.keys())) and \ + item['version'] != '' and item['url'] != '': versions[str(item['version'])] = item['url'] - return versions - - + return versions