code: def from_string(self, sid_string):
          
          if not sid_string.startswith("S-"):
              raise ValueError("A SID string must start with S-")
  
          sid_entries = sid_string.split("-")
          if len(sid_entries) < 3:
              raise ValueError("A SID string must start with S and contain a "
                               "revision and identifier authority, e.g. S-1-0")
  
          revision = int(sid_entries[1])
          id_authority = int(sid_entries[2])
          sub_authorities = [int(i) for i in sid_entries[3:]]
  
          self['revision'].set_value(revision)
          self['identifier_authority'].set_value(id_authority)
          self['sub_authorities'] = sub_authorities
docs: Used to set the structure parameters based on the input string
  
          :param sid_string: String of the sid in S-x-x-x-x form