code: def GetViewCollection(self):
          
  
          # Build Request
          soap_request = soap('GetViewCollection')
          soap_request.add_parameter('listName', self.listName)
          self.last_request = str(soap_request)
  
          # Send Request
          response = self._session.post(url=self._url('Views'),
                                        headers=self._headers('GetViewCollection'),
                                        data=str(soap_request),
                                        verify=self._verify_ssl,
                                        timeout=self.timeout)
  
          # Parse Response
          if response.status_code == 200:
              envelope = etree.fromstring(response.text.encode('utf-8'), parser=etree.XMLParser(huge_tree=self.huge_tree))
              views = envelope[0][0][0][0]
              data = []
              for row in views.getchildren():
                  data.append({key: value for (key, value) in row.items()})
              view = {}
              for row in data:
                  view[row['DisplayName']] = row
              return view
  
          else:
              return ("ERROR", response.status_code)
docs: Get Views for Current List
             This is run in __init__ so you don't
             have to run it again.
             Access from self.views