'Returns an eval()able string representation of this key.
Returns a Python string of the form \'datastore_types.Key.from_path(...)\'
that can be used to recreate this key.
Returns:
string'

def __repr__(self):

    args = []
    for elem in self.__reference.path().element_list():
        args.append(repr(elem.type().decode('utf-8')))
        if elem.has_name():
            args.append(repr(elem.name().decode('utf-8')))
        else:
            args.append(repr(elem.id()))
    args.append(('_app=%r' % self.__reference.app().decode('utf-8')))
    if self.__reference.has_name_space():
        args.append(('namespace=%r' % self.__reference.name_space().decode('utf-8')))
    return (u'datastore_types.Key.from_path(%s)' % ',    '.join(args))
