<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_runs(self, sort_by=None, sort_direction=None, start=0, limit=None, query={"type": "and", "filters": []}):
 """ Return all runs in the file store. If a run is corrupt, e.g. missing files, it is skipped. :param sort_by: NotImplemented :param sort_direction: NotImplemented :param start: NotImplemented :param limit: NotImplemented :param query: NotImplemented :return: FileStoreCursor """

        all_run_ids = os.listdir(self.directory)

        def run_iterator():
            blacklist = set(["_sources"])
            for id in all_run_ids:
                if id in blacklist:
                    continue
                try:
                    yield self.get(id)
                except FileNotFoundError:
                    # An incomplete experiment is a corrupt experiment.
                    # Skip it for now.
                    # TODO
                    pass

        count = len(all_run_ids)
        return FileStoreCursor(count, run_iterator())