'Delete several devices
Args:
user_id (str):
device_ids (str): The list of device IDs to delete
Returns:
defer.Deferred:'

@defer.inlineCallbacks
def delete_devices(self, user_id, device_ids):

    try:
        (yield self.store.delete_devices(user_id, device_ids))
    except errors.StoreError as e:
        if (e.code == 404):
            pass
        else:
            raise
    for device_id in device_ids:
        (yield self.store.user_delete_access_tokens(user_id, device_id=device_id, delete_refresh_tokens=True))
        (yield self.store.delete_e2e_keys_by_device(user_id=user_id, device_id=device_id))
    (yield self.notify_device_update(user_id, device_ids))
