autopep8
[sfa.git] / sfa / rspecs / rspec.py
index 372a835..5a3bc58 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/python 
+#!/usr/bin/python
 
 from __future__ import print_function
 
@@ -8,13 +8,15 @@ from sfa.util.xml import XML, XpathFilter
 from sfa.util.faults import InvalidRSpecElement, InvalidRSpec
 from sfa.util.sfatime import SFATIME_FORMAT
 
-from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements 
+from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements
 from sfa.rspecs.version_manager import VersionManager
 
+
 class RSpec:
+
     def __init__(self, rspec="", version=None, user_options=None, ttl=None, expires=None):
-        if user_options is None: user_options={}
+        if user_options is None:
+            user_options = {}
         self.header = '<?xml version="1.0"?>\n'
         self.template = """<RSpec></RSpec>"""
         self.version = None
@@ -33,7 +35,8 @@ class RSpec:
         elif version:
             self.create(version, ttl, expires)
         else:
-            raise InvalidRSpec("No RSpec or version specified. Must specify a valid rspec string or a valid version") 
+            raise InvalidRSpec(
+                "No RSpec or version specified. Must specify a valid rspec string or a valid version")
 
     def create(self, version=None, ttl=None, expires=None):
         """
@@ -42,15 +45,16 @@ class RSpec:
         """
         self.version = self.version_manager.get_version(version)
         self.namespaces = self.version.namespaces
-        self.parse_xml(self.version.template, self.version) 
+        self.parse_xml(self.version.template, self.version)
         now = datetime.utcnow()
         generated_ts = now.strftime(SFATIME_FORMAT)
         if ttl is None:
             ttl = 60
         if expires is None:
-            expires_ts = (now + timedelta(minutes=ttl)).strftime(SFATIME_FORMAT)
+            expires_ts = (now + timedelta(minutes=ttl)
+                          ).strftime(SFATIME_FORMAT)
         else:
-            if isinstance(expires,int):
+            if isinstance(expires, int):
                 expires_date = datetime.fromtimestamp(expires)
             else:
                 expires_date = expires
@@ -62,15 +66,17 @@ class RSpec:
         self.xml.parse_xml(xml)
         if not version:
             if self.xml.schema:
-                self.version = self.version_manager.get_version_by_schema(self.xml.schema)
+                self.version = self.version_manager.get_version_by_schema(
+                    self.xml.schema)
             else:
                 #raise InvalidRSpec('unknown rspec schema: {}'.format(schema))
                 # TODO: Should start raising an exception once SFA defines a schema.
-                # for now we just  default to sfa 
-                self.version = self.version_manager.get_version({'type':'sfa','version': '1'})
-        self.version.xml = self.xml    
+                # for now we just  default to sfa
+                self.version = self.version_manager.get_version(
+                    {'type': 'sfa', 'version': '1'})
+        self.version.xml = self.xml
         self.namespaces = self.xml.namespaces
-    
+
     def load_rspec_elements(self, rspec_elements):
         self.elements = {}
         for rspec_element in rspec_elements:
@@ -81,25 +87,30 @@ class RSpec:
         if element_type not in RSpecElements:
             raise InvalidRSpecElement(element_type,
                                       extra="no such element type: {}. Must specify a valid RSpecElement".format(element_type))
-        self.elements[element_type] = RSpecElement(element_type, element_name, element_path)
+        self.elements[element_type] = RSpecElement(
+            element_type, element_name, element_path)
 
     def get_rspec_element(self, element_type):
         if element_type not in self.elements:
-            msg = "ElementType {} not registered for this rspec".format(element_type)
+            msg = "ElementType {} not registered for this rspec".format(
+                element_type)
             raise InvalidRSpecElement(element_type, extra=msg)
         return self.elements[element_type]
 
     def get(self, element_type, filter=None, depth=0):
-        if filter is None: filter={}
+        if filter is None:
+            filter = {}
         elements = self.get_elements(element_type, filter)
-        elements = [self.xml.get_element_attributes(elem, depth=depth) for elem in elements]
+        elements = [self.xml.get_element_attributes(
+            elem, depth=depth) for elem in elements]
         return elements
 
     def get_elements(self, element_type, filter=None):
         """
         search for a registered element
         """
-        if filter is None: filter={}
+        if filter is None:
+            filter = {}
         if element_type not in self.elements:
             msg = "Unable to search for element {} in rspec, expath expression not found."\
                   .format(element_type)
@@ -112,25 +123,23 @@ class RSpec:
         self.version.merge(in_rspec)
 
     def filter(self, filter):
-        if 'component_manager_id' in filter:    
+        if 'component_manager_id' in filter:
             nodes = self.version.get_nodes()
             for node in nodes:
                 if 'component_manager_id' not in node.attrib or \
-                  node.attrib['component_manager_id'] != filter['component_manager_id']:
+                        node.attrib['component_manager_id'] != filter['component_manager_id']:
                     parent = node.getparent()
-                    parent.remove(node.element) 
-        
+                    parent.remove(node.element)
 
     def toxml(self, header=True):
         if header:
             return self.header + self.xml.toxml()
         else:
             return self.xml.toxml()
-    
 
     def save(self, filename):
         return self.xml.save(filename)
-         
+
 if __name__ == '__main__':
     import sys
     input = sys.argv[1]
@@ -141,4 +150,3 @@ if __name__ == '__main__':
 #    rspec.register_rspec_element(RSpecElements.NODE, 'node', '//node')
 #    print rspec.get(RSpecElements.NODE)[0]
 #    print rspec.get(RSpecElements.NODE, depth=1)[0]
-