

def should_sync(domain, last_sync, utcnow=None):
    if ((not last_sync) or (not last_sync.date)):
        return True
    utcnow = (utcnow or datetime.utcnow())
    try:
        timezone = domain.get_default_timezone()
    except pytz.UnknownTimeZoneError:
        timezone = utc
    _assert = soft_assert(to=[(('droberts' + '@') + 'dimagi.com')])
    last_sync_utc = last_sync.date
    if (not _assert((last_sync_utc.tzinfo is None), 'last_sync.date should be an offset-naive dt')):
        last_sync_utc = UserTime(last_sync_utc).server_time().done()
    last_sync_local = ServerTime(last_sync_utc).user_time(timezone).done()
    current_date_local = ServerTime(utcnow).user_time(timezone).done()
    if (current_date_local.date() != last_sync_local.date()):
        return True
    return False

dataset/ETHPy150Open dimagi/commcare-hq/corehq/apps/callcenter/fixturegenerators.py should_sync/original