<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_needful_files(self):
 """ Returns currently used static files. Assumes that manifest staticfiles.json is up-to-date. """

        manifest = self.storage.load_manifest()
        if self.keep_unhashed_files:
            if PY3:
                needful_files = set(manifest.keys() | manifest.values())
            else:
                needful_files = set(manifest.keys() + manifest.values())
            needful_files = {self.storage.clean_name(file) for file in needful_files}
        else:
            needful_files = set(manifest.values())
        return {self.process_file(file) for file in needful_files}