(versioned_symbols, external_versioned_symbols, external_refs)
return result
Get symbol policies
    Since white-list is different per policy, this function inspects
    versioned_symbol per policy when including external refs
    :param versioned_symbols: versioned symbols for the current wheel
    :param external_versioned_symbols: versioned symbols for external libs
    :param external_refs: external references for all policies
    :return: list of tuples of the form (policy_priority, versioned_symbols),
    e.g. [(100, {'libc.so.6', set(['GLIBC_2.5'])})]
Get symbol policies
    Since white-list is different per policy, this function inspects
    versioned_symbol per policy when including external refs
    :param versioned_symbols: versioned symbols for the current wheel
    :param external_versioned_symbols: versioned symbols for external libs
    :param external_refs: external references for all policies
    :return: list of tuples of the form (policy_priority, versioned_symbols),
    e.g. [(100, {'libc.so.6', set(['GLIBC_2.5'])})]
Get symbol policies Since white - list is different per policy this function inspects versioned_symbol per policy when including external refs : param versioned_symbols : versioned symbols for the current wheel : param external_versioned_symbols : versioned symbols for external libs : param external_refs : external references for all policies : return : list of tuples of the form ( policy_priority versioned_symbols ) e . g . [ ( 100 { libc . so . 6 set ( [ GLIBC_2 . 5 ] ) } ) ]
def get_symbol_policies(versioned_symbols, external_versioned_symbols, external_refs):
    """Get symbol policies
    Since white-list is different per policy, this function inspects
    versioned_symbol per policy when including external refs
    :param versioned_symbols: versioned symbols for the current wheel
    :param external_versioned_symbols: versioned symbols for external libs
    :param external_refs: external references for all policies
    :return: list of tuples of the form (policy_priority, versioned_symbols),
    e.g. [(100, {'libc.so.6', set(['GLIBC_2.5'])})]
    """
    result = []
    for policy in external_refs.values():
        # skip the linux policy
        if policy["priority"] == 0:
            continue
        policy_symbols = deepcopy(versioned_symbols)
        for soname in policy["libs"].keys():
            if soname not in external_versioned_symbols:
                continue
            ext_symbols = external_versioned_symbols[soname]
            for k in iter(ext_symbols):
                policy_symbols[k].update(ext_symbols[k])
        result.append((versioned_symbols_policy(policy_symbols), policy_symbols))
    return result
def get_symbol_policies ( versioned_symbols , external_versioned_symbols , external_refs ) : result = [ ] for policy in external_refs . values ( ) : # skip the linux policy if policy [ "priority" ] == 0 : continue policy_symbols = deepcopy ( versioned_symbols ) for soname in policy [ "libs" ] . keys ( ) : if soname not in external_versioned_symbols : continue ext_symbols = external_versioned_symbols [ soname ] for k in iter ( ext_symbols ) : policy_symbols [ k ] . update ( ext_symbols [ k ] ) result . append ( ( versioned_symbols_policy ( policy_symbols ) , policy_symbols ) ) return result