'This can be an expensive operation b/c we have to traverse the path tree, so if possible, request a document by UUID
NOTE: get_by_path only works for the owner\'s documents since it is based off the user\'s home directory'

def get_by_path(self, user, path):

    cleaned_path = path.rstrip('/')
    doc = Document2.objects.get_home_directory(user)
    if cleaned_path:
        path_tokens = cleaned_path.split('/')[1:]
        for token in path_tokens:
            try:
                doc = doc.children.get(name=token)
            except Document2.DoesNotExist:
                raise FilesystemException((_('Requested    invalid    path    for    user    %s:    %s') % (user.username, path)))
            except Document2.MultipleObjectsReturned:
                raise FilesystemException((_('Duplicate    documents    found    for    user    %s    at    path:    %s') % (user.username, path)))
    doc.can_read_or_exception(user)
    return doc
