<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def distros_for_filename(filename, metadata=None):
 """Yield possible egg or source distribution objects based on a filename"""

    return distros_for_location(
        normalize_path(filename), os.path.basename(filename), metadata
    )