Find out which peers can serve which zonefiles

def find_zonefile_origins( self, missing_zfinfo, peer_hostports ):
        """
        Find out which peers can serve which zonefiles
        """
        zonefile_origins = {}   # map peer hostport to list of zonefile hashes

        # which peers can serve each zonefile?
        for zfhash in missing_zfinfo.keys():
            for peer_hostport in peer_hostports:
                if not zonefile_origins.has_key(peer_hostport):
                    zonefile_origins[peer_hostport] = []

                if peer_hostport in missing_zfinfo[zfhash]['peers']:
                    zonefile_origins[peer_hostport].append( zfhash )

        return zonefile_origins