code: def value(cls, obj, keystr):
          
          if "#{" in keystr:
              # it's a template with keys vars
              keys = cls.from_template(keystr)
              for k in keys:
                  v = cls.fetch(obj, cls.extract(k))
                  keystr = keystr.replace(k, str(v))
  
              value = keystr
          else:
              # plain keys str
              value = cls.fetch(obj, keystr)
  
          return value
docs: gets the value corresponding to keys from obj. if keys is a template
          string, it extrapolates the keys in it