<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reset(self):
 """ Factory reset all of Vent's user data, containers, and images """

        status = (True, None)
        error_message = ''

        # remove containers
        try:
            c_list = set(self.d_client.containers.list(
                filters={'label': 'vent'}, all=True))
            for c in c_list:
                c.remove(force=True)
        except Exception as e:  # pragma: no cover
            error_message += 'Error removing Vent containers: ' + str(e) + '\n'

        # remove images
        try:
            i_list = set(self.d_client.images.list(filters={'label': 'vent'},
                                                   all=True))
            for i in i_list:
                # delete tagged images only because they are the parents for
                # the untagged images. Remove the parents and the children get
                # removed automatically
                if i.attrs['RepoTags']:
                    self.d_client.images.remove(image=i.id, force=True)

        except Exception as e:  # pragma: no cover
            error_message += 'Error deleting Vent images: ' + str(e) + '\n'

        # remove .vent folder
        try:
            cwd = getcwd()
            if cwd.startswith(join(expanduser('~'), '.vent')):
                chdir(expanduser('~'))
            shutil.rmtree(join(expanduser('~'), '.vent'))
        except Exception as e:  # pragma: no cover
            error_message += 'Error deleting Vent data: ' + str(e) + '\n'

        if error_message:
            status = (False, error_message)
        return status