def get_properties_of_kind(kind, start=None, end=None):
q = Property.query(ancestor=Property.key_for_kind(kind))<EOL>if start is not None and start != '<STR_LIT>':<EOL><INDENT>q = q.filter(Property.key >= Property.key_for_property(kind, start))<EOL><DEDENT>if end is not None:<EOL><INDENT>if end == '<STR_LIT>':<EOL><INDENT>return []<EOL><DEDENT>q = q.filter(Property.key < Property.key_for_property(kind, end))<EOL><DEDENT>return [Property.key_to_property(k) for k in q.iter(keys_only=True)]<EOL>
Return all properties of kind in the specified range.

    NOTE: This function does not return unindexed properties.

    Args:
      kind: name of kind whose properties you want.
      start: only return properties >= start if start is not None.
      end: only return properties < end if end is not None.

    Returns:
      A list of property names of kind between the (optional) start and end
      values.