

def find_package(name, installed, package=False):
    'Finds a package in the installed list.\n\n    If `package` is true, match package names, otherwise, match import paths.\n    '
    if package:
        name = name.lower()
        tests = ((lambda x: (x.user and (name == x.name.lower()))), (lambda x: (x.local and (name == x.name.lower()))), (lambda x: (name == x.name.lower())))
    else:
        tests = ((lambda x: (x.user and (name in x.import_names))), (lambda x: (x.local and (name in package.import_names))), (lambda x: (name in x.import_names)))
    for t in tests:
        try:
            found = list(filter(t, installed))
            if (found and (not found[0].is_scan)):
                return found[0]
        except StopIteration:
            pass
    return None

dataset/ETHPy150Open tweekmonster/moult/moult/utils.py find_package/VarMisuse@137/190 `x`->`package`