def user_data_matches()

in jobs/eam-integrations/scripts/workday_xmatters.py [0:0]


def user_data_matches(wd_user, xm_user):
    site_key = (
        wd_user.get("User_Home_Country", "")
        + ":"
        + wd_user.get("User_Home_Postal_Code", "")
    )
    try:
        if wd_user["User_Preferred_First_Name"] != xm_user["firstName"]:
            logger.info(
                "MISMATCH (first name): %s <-> %s"
                % (wd_user["User_Preferred_First_Name"], xm_user["firstName"])
            )
            return False
        elif wd_user["User_Preferred_Last_Name"] != xm_user["lastName"]:
            logger.info(
                "MISMATCH (last name): %s <-> %s"
                % (wd_user["User_Preferred_Last_Name"], xm_user["lastName"])
            )
            return False
        elif site_key != xm_user["site"]["name"]:
            logger.info(
                "MISMATCH (site name): %s <-> %s" % (site_key, xm_user["site"]["name"])
            )
            return False
        elif wd_user.get("User_Home_City", "") != xm_user["properties"]["Home City"]:
            logger.info(
                "MISMATCH (home city): %s <-> %s"
                % (wd_user["User_Home_City"], xm_user["properties"]["Home City"])
            )
            return False
        elif (
            wd_user.get("User_Home_Country", "")
            != xm_user["properties"]["Home Country"]
        ):
            logger.info(
                "MISMATCH (home country): %s <-> %s"
                % (wd_user["User_Home_Country"], xm_user["properties"]["Home Country"])
            )
            return False
        elif (
            wd_user.get("User_Home_Postal_Code", "")
            != xm_user["properties"]["Home Zipcode"]
        ):
            logger.info(
                "MISMATCH (home zipcode): %s <-> %s"
                % (
                    wd_user["User_Home_Postal_Code"],
                    xm_user["properties"]["Home Zipcode"],
                )
            )
            return False
        else:
            return True
    except KeyError:
        logger.warning("Some key was not found, assuming a missing field in XMatters")
        return False