code: def parse(self, what):
          
          if '/' not in what:
              key, spec = what, ''
          else:
              key, spec = what.split('/')
          if spec and not spec.startswith(('ref-', 'sid-')):
              raise ValueError('Wrong specification in %s' % what)
          elif spec == '':  # export losses for all assets
              aids = []
              arefs = []
              for aid, rec in enumerate(self.assetcol.array):
                  aids.append(aid)
                  arefs.append(self.asset_refs[aid])
          elif spec.startswith('sid-'):  # passed the site ID
              sid = int(spec[4:])
              aids = []
              arefs = []
              for aid, rec in enumerate(self.assetcol.array):
                  if rec['site_id'] == sid:
                      aids.append(aid)
                      arefs.append(self.asset_refs[aid])
          elif spec.startswith('ref-'):  # passed the asset name
              arefs = [spec[4:]]
              aids = [self.str2asset[arefs[0]]['ordinal']]
          else:
              raise ValueError('Wrong specification in %s' % what)
          return aids, arefs, spec, key
docs: :param what:
              can be 'rlz-1/ref-asset1', 'rlz-2/sid-1', ...