'Handle Torque data request.'

@callback
def get(self, request):

    hass = request.app['hass']
    data = request.query
    if ((self.email is not None) and (self.email != data[SENSOR_EMAIL_FIELD])):
        return
    names = {}
    units = {}
    for key in data:
        is_name = NAME_KEY.match(key)
        is_unit = UNIT_KEY.match(key)
        is_value = VALUE_KEY.match(key)
        if is_name:
            pid = convert_pid(is_name.group(1))
            names[pid] = data[key]
        elif is_unit:
            pid = convert_pid(is_unit.group(1))
            units[pid] = data[key]
        elif is_value:
            pid = convert_pid(is_value.group(1))
            if (pid in self.sensors):
                self.sensors[pid].async_on_update(data[key])
    for pid in names:
        if (pid not in self.sensors):
            self.sensors[pid] = TorqueSensor(ENTITY_NAME_FORMAT.format(self.vehicle, names[pid]), units.get(pid, None))
            hass.async_add_job(self.add_devices, [self.sensors[pid]])
    return 'OK!'
