This commit is contained in:
Florian Bezannier
2022-03-21 19:26:44 +01:00
parent b2599d23a8
commit 2a103683da
221 changed files with 500 additions and 564 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
doc-warnings: false
max-line-length: 120
ignore-paths:
- test
- tests
- connected_car_api
pycodestyle:
disable:
@@ -1,155 +0,0 @@
# coding: utf-8
# flake8: noqa
"""
Groupe PSA Connected Car - WEB API B2C
*PSA B2C Connected Car API* # Introduction This is the description of the *Groupe PSA Connected Car V2 API*. The speccification is is based on **OpenAPI Specification version 3** and can be displayed via [ReDoc](https://github.com/Rebilly/ReDoc)a or [Swagger](http://swagger.io). This API allows applications to fetch data from the connected Vehicles data platform. # Authentication PSA Connected Car APIs uses the [OAuth 2.0](https://tools.ietf.org/html/rfc6749) protocol for authentication and Authorization. any application require a valid [Access Token](https://tools.ietf.org/html/rfc6749#section-1.4) to access to user data. # Errors Error codes returned by all REST APIs comply with the standard. Nevertheless, PSA Services (callers) need to have more complete data structures (even when the answer is not Http-OK) to better detail the type of error by providing application code, message and a debugging code(for investigation purposes). The http code of the response is managed by the protocol itself (in the header). **Errors are returned as a generic error response:** * ```xError``` object model. # noqa: E501
OpenAPI spec version: 4.0
Generated by: https://github.com/swagger-api/swagger-codegen.git
"""
from __future__ import absolute_import
# import apis into sdk package
from psa.connected_car_api.api.trips_api import TripsApi
from psa.connected_car_api.api.user_api import UserApi
from psa.connected_car_api.api.vehicles_api import VehiclesApi
# import ApiClient
from psa.connected_car_api.api_client import ApiClient
from psa.connected_car_api.configuration import Configuration
# import models into sdk package
from psa.connected_car_api.models.adas import Adas
from psa.connected_car_api.models.adas_park_assist import AdasParkAssist
from psa.connected_car_api.models.alert import Alert
from psa.connected_car_api.models.alert_end_position import AlertEndPosition
from psa.connected_car_api.models.alert_links import AlertLinks
from psa.connected_car_api.models.alert_msg_enum import AlertMsgEnum
from psa.connected_car_api.models.alerts import Alerts
from psa.connected_car_api.models.alerts_embedded import AlertsEmbedded
from psa.connected_car_api.models.battery import Battery
from psa.connected_car_api.models.bounded_program import BoundedProgram
from psa.connected_car_api.models.charging_status_enum import ChargingStatusEnum
from psa.connected_car_api.models.circle_zone import CircleZone
from psa.connected_car_api.models.circle_zone_coordinates import CircleZoneCoordinates
from psa.connected_car_api.models.collection_result import CollectionResult
from psa.connected_car_api.models.collision import Collision
from psa.connected_car_api.models.collision_links import CollisionLinks
from psa.connected_car_api.models.collision_obj import CollisionObj
from psa.connected_car_api.models.collision_obj_front import CollisionObjFront
from psa.connected_car_api.models.collisions import Collisions
from psa.connected_car_api.models.collisions_embedded import CollisionsEmbedded
from psa.connected_car_api.models.created_at_field import CreatedAtField
from psa.connected_car_api.models.data_monitor_trigger import DataMonitorTrigger
from psa.connected_car_api.models.data_trigger import DataTrigger
from psa.connected_car_api.models.default_alert_push import DefaultAlertPush
from psa.connected_car_api.models.default_alert_push_attributes import DefaultAlertPushAttributes
from psa.connected_car_api.models.doors_state import DoorsState
from psa.connected_car_api.models.doors_state_opening import DoorsStateOpening
from psa.connected_car_api.models.e_coaching import ECoaching
from psa.connected_car_api.models.e_coaching_links import ECoachingLinks
from psa.connected_car_api.models.e_coaching_scores import ECoachingScores
from psa.connected_car_api.models.energy import Energy
from psa.connected_car_api.models.energy_battery import EnergyBattery
from psa.connected_car_api.models.energy_battery_health import EnergyBatteryHealth
from psa.connected_car_api.models.energy_charging import EnergyCharging
from psa.connected_car_api.models.engine import Engine
from psa.connected_car_api.models.engine_oil import EngineOil
from psa.connected_car_api.models.environment import Environment
from psa.connected_car_api.models.environment_luminosity import EnvironmentLuminosity
from psa.connected_car_api.models.event import Event
from psa.connected_car_api.models.event_links import EventLinks
from psa.connected_car_api.models.extension import Extension
from psa.connected_car_api.models.extension_type import ExtensionType
from psa.connected_car_api.models.geometry import Geometry
from psa.connected_car_api.models.ignition import Ignition
from psa.connected_car_api.models.index_range import IndexRange
from psa.connected_car_api.models.kinetic import Kinetic
from psa.connected_car_api.models.lighting import Lighting
from psa.connected_car_api.models.link import Link
from psa.connected_car_api.models.maintenance import Maintenance
from psa.connected_car_api.models.maintenance_links import MaintenanceLinks
from psa.connected_car_api.models.maintenance_obj import MaintenanceObj
from psa.connected_car_api.models.monitor import Monitor
from psa.connected_car_api.models.monitor_id import MonitorId
from psa.connected_car_api.models.monitor_links import MonitorLinks
from psa.connected_car_api.models.monitor_parameter import MonitorParameter
from psa.connected_car_api.models.monitor_parameter_trigger_param import MonitorParameterTriggerParam
from psa.connected_car_api.models.monitor_ref import MonitorRef
from psa.connected_car_api.models.monitor_ref_links import MonitorRefLinks
from psa.connected_car_api.models.monitor_status import MonitorStatus
from psa.connected_car_api.models.monitor_status_setter import MonitorStatusSetter
from psa.connected_car_api.models.monitor_subscribe import MonitorSubscribe
from psa.connected_car_api.models.monitor_subscribe_batch_notify import MonitorSubscribeBatchNotify
from psa.connected_car_api.models.monitor_subscribe_retry_policy import MonitorSubscribeRetryPolicy
from psa.connected_car_api.models.monitor_trigger import MonitorTrigger
from psa.connected_car_api.models.monitor_webhook import MonitorWebhook
from psa.connected_car_api.models.monitor_webhook_attributes import MonitorWebhookAttributes
from psa.connected_car_api.models.monitors import Monitors
from psa.connected_car_api.models.monitors_embedded import MonitorsEmbedded
from psa.connected_car_api.models.overall_autonomy import OverallAutonomy
from psa.connected_car_api.models.point import Point
from psa.connected_car_api.models.polygon_zone import PolygonZone
from psa.connected_car_api.models.position import Position
from psa.connected_car_api.models.position_properties import PositionProperties
from psa.connected_car_api.models.preconditioning import Preconditioning
from psa.connected_car_api.models.preconditioning_air_conditioning import PreconditioningAirConditioning
from psa.connected_car_api.models.preconditioning_program import PreconditioningProgram
from psa.connected_car_api.models.privacy import Privacy
from psa.connected_car_api.models.program import Program
from psa.connected_car_api.models.program_occurence import ProgramOccurence
from psa.connected_car_api.models.safety import Safety
from psa.connected_car_api.models.service_type import ServiceType
from psa.connected_car_api.models.status import Status
from psa.connected_car_api.models.status_embedded import StatusEmbedded
from psa.connected_car_api.models.status_extension_type import StatusExtensionType
from psa.connected_car_api.models.status_links import StatusLinks
from psa.connected_car_api.models.tab_links import TabLinks
from psa.connected_car_api.models.telemetry import Telemetry
from psa.connected_car_api.models.telemetry_embedded import TelemetryEmbedded
from psa.connected_car_api.models.telemetry_enum import TelemetryEnum
from psa.connected_car_api.models.telemetry_extension import TelemetryExtension
from psa.connected_car_api.models.telemetry_extension_type import TelemetryExtensionType
from psa.connected_car_api.models.telemetry_message import TelemetryMessage
from psa.connected_car_api.models.telemetry_message_embedded import TelemetryMessageEmbedded
from psa.connected_car_api.models.telemetry_message_vehicle import TelemetryMessageVehicle
from psa.connected_car_api.models.telemetry_message_vehicle_braking_system import TelemetryMessageVehicleBrakingSystem
from psa.connected_car_api.models.telemetry_message_vehicle_transmission import TelemetryMessageVehicleTransmission
from psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox import TelemetryMessageVehicleTransmissionGearbox
from psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_gear import TelemetryMessageVehicleTransmissionGearboxGear
from psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_mode import TelemetryMessageVehicleTransmissionGearboxMode
from psa.connected_car_api.models.time_monitor_trigger import TimeMonitorTrigger
from psa.connected_car_api.models.time_range import TimeRange
from psa.connected_car_api.models.time_stamped import TimeStamped
from psa.connected_car_api.models.time_trigger import TimeTrigger
from psa.connected_car_api.models.time_zone_monitor_trigger import TimeZoneMonitorTrigger
from psa.connected_car_api.models.time_zone_trigger import TimeZoneTrigger
from psa.connected_car_api.models.trip import Trip
from psa.connected_car_api.models.trip_avg_consumption import TripAvgConsumption
from psa.connected_car_api.models.trip_links import TripLinks
from psa.connected_car_api.models.trips import Trips
from psa.connected_car_api.models.trips_embedded import TripsEmbedded
from psa.connected_car_api.models.updated_field import UpdatedField
from psa.connected_car_api.models.url import Url
from psa.connected_car_api.models.user import User
from psa.connected_car_api.models.user_embedded import UserEmbedded
from psa.connected_car_api.models.user_links import UserLinks
from psa.connected_car_api.models.vect2_d import Vect2D
from psa.connected_car_api.models.vehicle import Vehicle
from psa.connected_car_api.models.vehicle_engine import VehicleEngine
from psa.connected_car_api.models.vehicle_links import VehicleLinks
from psa.connected_car_api.models.vehicle_odometer import VehicleOdometer
from psa.connected_car_api.models.vehicles import Vehicles
from psa.connected_car_api.models.vehicles_embedded import VehiclesEmbedded
from psa.connected_car_api.models.way_points import WayPoints
from psa.connected_car_api.models.way_points_embedded import WayPointsEmbedded
from psa.connected_car_api.models.x_error import XError
from psa.connected_car_api.models.zone_monitor_trigger import ZoneMonitorTrigger
from psa.connected_car_api.models.zone_trigger import ZoneTrigger
from psa.connected_car_api.models.zone_trigger_place import ZoneTriggerPlace
from psa.connected_car_api.models.zone_trigger_place_center import ZoneTriggerPlaceCenter
@@ -1,8 +0,0 @@
from __future__ import absolute_import
# flake8: noqa
# import apis into api package
from psa.connected_car_api.api.trips_api import TripsApi
from psa.connected_car_api.api.user_api import UserApi
from psa.connected_car_api.api.vehicles_api import VehiclesApi
@@ -1,146 +0,0 @@
# coding: utf-8
# flake8: noqa
"""
Groupe PSA Connected Car - WEB API B2C
*PSA B2C Connected Car API* # Introduction This is the description of the *Groupe PSA Connected Car V2 API*. The speccification is is based on **OpenAPI Specification version 3** and can be displayed via [ReDoc](https://github.com/Rebilly/ReDoc)a or [Swagger](http://swagger.io). This API allows applications to fetch data from the connected Vehicles data platform. # Authentication PSA Connected Car APIs uses the [OAuth 2.0](https://tools.ietf.org/html/rfc6749) protocol for authentication and Authorization. any application require a valid [Access Token](https://tools.ietf.org/html/rfc6749#section-1.4) to access to user data. # Errors Error codes returned by all REST APIs comply with the standard. Nevertheless, PSA Services (callers) need to have more complete data structures (even when the answer is not Http-OK) to better detail the type of error by providing application code, message and a debugging code(for investigation purposes). The http code of the response is managed by the protocol itself (in the header). **Errors are returned as a generic error response:** * ```xError``` object model. # noqa: E501
OpenAPI spec version: 4.0
Generated by: https://github.com/swagger-api/swagger-codegen.git
"""
from __future__ import absolute_import
# import models into model package
from psa.connected_car_api.models.adas import Adas
from psa.connected_car_api.models.adas_park_assist import AdasParkAssist
from psa.connected_car_api.models.alert import Alert
from psa.connected_car_api.models.alert_end_position import AlertEndPosition
from psa.connected_car_api.models.alert_links import AlertLinks
from psa.connected_car_api.models.alert_msg_enum import AlertMsgEnum
from psa.connected_car_api.models.alerts import Alerts
from psa.connected_car_api.models.alerts_embedded import AlertsEmbedded
from psa.connected_car_api.models.battery import Battery
from psa.connected_car_api.models.bounded_program import BoundedProgram
from psa.connected_car_api.models.charging_status_enum import ChargingStatusEnum
from psa.connected_car_api.models.circle_zone import CircleZone
from psa.connected_car_api.models.circle_zone_coordinates import CircleZoneCoordinates
from psa.connected_car_api.models.collection_result import CollectionResult
from psa.connected_car_api.models.collision import Collision
from psa.connected_car_api.models.collision_links import CollisionLinks
from psa.connected_car_api.models.collision_obj import CollisionObj
from psa.connected_car_api.models.collision_obj_front import CollisionObjFront
from psa.connected_car_api.models.collisions import Collisions
from psa.connected_car_api.models.collisions_embedded import CollisionsEmbedded
from psa.connected_car_api.models.created_at_field import CreatedAtField
from psa.connected_car_api.models.data_monitor_trigger import DataMonitorTrigger
from psa.connected_car_api.models.data_trigger import DataTrigger
from psa.connected_car_api.models.default_alert_push import DefaultAlertPush
from psa.connected_car_api.models.default_alert_push_attributes import DefaultAlertPushAttributes
from psa.connected_car_api.models.doors_state import DoorsState
from psa.connected_car_api.models.doors_state_opening import DoorsStateOpening
from psa.connected_car_api.models.e_coaching import ECoaching
from psa.connected_car_api.models.e_coaching_links import ECoachingLinks
from psa.connected_car_api.models.e_coaching_scores import ECoachingScores
from psa.connected_car_api.models.energy import Energy
from psa.connected_car_api.models.energy_battery import EnergyBattery
from psa.connected_car_api.models.energy_battery_health import EnergyBatteryHealth
from psa.connected_car_api.models.energy_charging import EnergyCharging
from psa.connected_car_api.models.engine import Engine
from psa.connected_car_api.models.engine_oil import EngineOil
from psa.connected_car_api.models.environment import Environment
from psa.connected_car_api.models.environment_luminosity import EnvironmentLuminosity
from psa.connected_car_api.models.event import Event
from psa.connected_car_api.models.event_links import EventLinks
from psa.connected_car_api.models.extension import Extension
from psa.connected_car_api.models.extension_type import ExtensionType
from psa.connected_car_api.models.geometry import Geometry
from psa.connected_car_api.models.ignition import Ignition
from psa.connected_car_api.models.index_range import IndexRange
from psa.connected_car_api.models.kinetic import Kinetic
from psa.connected_car_api.models.lighting import Lighting
from psa.connected_car_api.models.link import Link
from psa.connected_car_api.models.maintenance import Maintenance
from psa.connected_car_api.models.maintenance_links import MaintenanceLinks
from psa.connected_car_api.models.maintenance_obj import MaintenanceObj
from psa.connected_car_api.models.monitor import Monitor
from psa.connected_car_api.models.monitor_id import MonitorId
from psa.connected_car_api.models.monitor_links import MonitorLinks
from psa.connected_car_api.models.monitor_parameter import MonitorParameter
from psa.connected_car_api.models.monitor_parameter_trigger_param import MonitorParameterTriggerParam
from psa.connected_car_api.models.monitor_ref import MonitorRef
from psa.connected_car_api.models.monitor_ref_links import MonitorRefLinks
from psa.connected_car_api.models.monitor_status import MonitorStatus
from psa.connected_car_api.models.monitor_status_setter import MonitorStatusSetter
from psa.connected_car_api.models.monitor_subscribe import MonitorSubscribe
from psa.connected_car_api.models.monitor_subscribe_batch_notify import MonitorSubscribeBatchNotify
from psa.connected_car_api.models.monitor_subscribe_retry_policy import MonitorSubscribeRetryPolicy
from psa.connected_car_api.models.monitor_trigger import MonitorTrigger
from psa.connected_car_api.models.monitor_webhook import MonitorWebhook
from psa.connected_car_api.models.monitor_webhook_attributes import MonitorWebhookAttributes
from psa.connected_car_api.models.monitors import Monitors
from psa.connected_car_api.models.monitors_embedded import MonitorsEmbedded
from psa.connected_car_api.models.overall_autonomy import OverallAutonomy
from psa.connected_car_api.models.point import Point
from psa.connected_car_api.models.polygon_zone import PolygonZone
from psa.connected_car_api.models.position import Position
from psa.connected_car_api.models.position_properties import PositionProperties
from psa.connected_car_api.models.preconditioning import Preconditioning
from psa.connected_car_api.models.preconditioning_air_conditioning import PreconditioningAirConditioning
from psa.connected_car_api.models.preconditioning_program import PreconditioningProgram
from psa.connected_car_api.models.privacy import Privacy
from psa.connected_car_api.models.program import Program
from psa.connected_car_api.models.program_occurence import ProgramOccurence
from psa.connected_car_api.models.safety import Safety
from psa.connected_car_api.models.service_type import ServiceType
from psa.connected_car_api.models.status import Status
from psa.connected_car_api.models.status_embedded import StatusEmbedded
from psa.connected_car_api.models.status_extension_type import StatusExtensionType
from psa.connected_car_api.models.status_links import StatusLinks
from psa.connected_car_api.models.tab_links import TabLinks
from psa.connected_car_api.models.telemetry import Telemetry
from psa.connected_car_api.models.telemetry_embedded import TelemetryEmbedded
from psa.connected_car_api.models.telemetry_enum import TelemetryEnum
from psa.connected_car_api.models.telemetry_extension import TelemetryExtension
from psa.connected_car_api.models.telemetry_extension_type import TelemetryExtensionType
from psa.connected_car_api.models.telemetry_message import TelemetryMessage
from psa.connected_car_api.models.telemetry_message_embedded import TelemetryMessageEmbedded
from psa.connected_car_api.models.telemetry_message_vehicle import TelemetryMessageVehicle
from psa.connected_car_api.models.telemetry_message_vehicle_braking_system import TelemetryMessageVehicleBrakingSystem
from psa.connected_car_api.models.telemetry_message_vehicle_transmission import TelemetryMessageVehicleTransmission
from psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox import TelemetryMessageVehicleTransmissionGearbox
from psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_gear import TelemetryMessageVehicleTransmissionGearboxGear
from psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_mode import TelemetryMessageVehicleTransmissionGearboxMode
from psa.connected_car_api.models.time_monitor_trigger import TimeMonitorTrigger
from psa.connected_car_api.models.time_range import TimeRange
from psa.connected_car_api.models.time_stamped import TimeStamped
from psa.connected_car_api.models.time_trigger import TimeTrigger
from psa.connected_car_api.models.time_zone_monitor_trigger import TimeZoneMonitorTrigger
from psa.connected_car_api.models.time_zone_trigger import TimeZoneTrigger
from psa.connected_car_api.models.trip import Trip
from psa.connected_car_api.models.trip_avg_consumption import TripAvgConsumption
from psa.connected_car_api.models.trip_links import TripLinks
from psa.connected_car_api.models.trips import Trips
from psa.connected_car_api.models.trips_embedded import TripsEmbedded
from psa.connected_car_api.models.updated_field import UpdatedField
from psa.connected_car_api.models.url import Url
from psa.connected_car_api.models.user import User
from psa.connected_car_api.models.user_embedded import UserEmbedded
from psa.connected_car_api.models.user_links import UserLinks
from psa.connected_car_api.models.vect2_d import Vect2D
from psa.connected_car_api.models.vehicle import Vehicle
from psa.connected_car_api.models.vehicle_engine import VehicleEngine
from psa.connected_car_api.models.vehicle_links import VehicleLinks
from psa.connected_car_api.models.vehicle_odometer import VehicleOdometer
from psa.connected_car_api.models.vehicles import Vehicles
from psa.connected_car_api.models.vehicles_embedded import VehiclesEmbedded
from psa.connected_car_api.models.way_points import WayPoints
from psa.connected_car_api.models.way_points_embedded import WayPointsEmbedded
from psa.connected_car_api.models.x_error import XError
from psa.connected_car_api.models.zone_monitor_trigger import ZoneMonitorTrigger
from psa.connected_car_api.models.zone_trigger import ZoneTrigger
from psa.connected_car_api.models.zone_trigger_place import ZoneTriggerPlace
from psa.connected_car_api.models.zone_trigger_place_center import ZoneTriggerPlaceCenter
@@ -1,28 +0,0 @@
import logging
import sys
import pkg_resources
from pathlib import Path
logger = logging.getLogger(__name__)
class TestRequirements:
"""Test availability of required packages."""
def __init__(self, requirement_path):
self.requirement_path = Path(requirement_path)
def test_requirements(self):
"""Test that each required package is available."""
requirements = pkg_resources.parse_requirements(self.requirement_path.open())
missing_requirement = False
for requirement in requirements:
requirement = str(requirement)
try:
pkg_resources.require(requirement)
except (pkg_resources.VersionConflict, pkg_resources.DistributionNotFound) as ex:
logger.error("%s\nYou need to install or update %s: pip3 install -U %s", ex, requirement, requirement)
missing_requirement = True
if missing_requirement:
sys.exit(10)
@@ -4,18 +4,15 @@ import os
import sys
from threading import Thread
DIR = os.path.dirname(os.path.realpath(__file__))
if sys.version_info < (3, 6):
raise RuntimeError("This application requires Python 3.6+")
# pylint: disable=wrong-import-position
from psacc.utils.requirements import TestRequirements
TestRequirements(DIR + "/../requirements.txt").test_requirements()
import web.app
from psacc.application.psa_car_controller import PSACarController
logger = logging.getLogger(__name__)
DIR = os.path.dirname(os.path.realpath(__file__))
if sys.version_info < (3, 7):
raise RuntimeError("This application requires Python 3.7+")
# pylint: disable=wrong-import-position
from psa_car_controller.psacc.application.car_controller import PSACarController
from psa_car_controller import web
# noqa: MC0001
if __name__ == "__main__":
@@ -8,7 +8,7 @@ logging.addLevelName(DEBUG_LEVELV_NUM, "DEBUGV")
class CustomLogger(logging.Logger):
# pylint: disable=too-many-arguments,unused-argument,arguments-renamed
# pylint: disable=too-many-arguments,unused-argument,arguments-differ
def _log(self, level, msg, args, exc_info=None, extra=None, stack_info=False, exc_info_debug=False, **kwargs):
if exc_info_debug and self.isEnabledFor(logging.DEBUG):
exc_info = True
@@ -2,6 +2,8 @@ from functools import wraps
from threading import Semaphore, Timer
from typing import List
import requests
def rate_limit(limit, every):
def limit_decorator(func):
@@ -14,7 +16,7 @@ def rate_limit(limit, every):
return func(*args, **kwargs)
finally: # don't catch but ensure semaphore release
timer = Timer(every, semaphore.release)
timer.setDaemon(True) # pylint: disable=deprecated-method
timer.setDaemon(True)
timer.start()
else:
raise RateLimitException
@@ -44,3 +46,15 @@ def parse_hour(s):
class RateLimitException(Exception):
pass
def get_positions(locations):
latitude = 0
longitude = 1
locations_str = ""
for line in locations:
locations_str += str(line[latitude]) + "," + str(line[longitude]) + "|"
locations_str = locations_str[:-1]
res = requests.get("https://api.opentopodata.org/v1/srtm30m",
params={"locations": locations_str})
return res.json()["results"]
@@ -1,4 +1,4 @@
from psa.constants import MQTT_BRANDCODE
from psa_car_controller.psa.constants import MQTT_BRANDCODE
class AccountInformation:
@@ -8,14 +8,15 @@ from time import sleep
import paho.mqtt.client as mqtt
from requests import RequestException
from psacc.model.car import Cars
from psa.AccountInformation import AccountInformation
from psa.RemoteCredentials import RemoteCredentials
from psa.constants import INPROGRESS, DEFAULT_PRECONDITIONING_PROGRAM, IMMEDIATE_CHARGE, DELAYED_CHARGE, REMOTE_URL
from psa.mqtt_request import MQTTRequest
from psa.oauth import OpenIdCredentialManager
from common.utils import RateLimitException, rate_limit, parse_hour
from psa.otp.otp import ConfigException, save_otp, load_otp
from psa_car_controller.psacc.model.car import Cars
from psa_car_controller.psa.AccountInformation import AccountInformation
from psa_car_controller.psa.RemoteCredentials import RemoteCredentials
from psa_car_controller.psa.constants import INPROGRESS, DEFAULT_PRECONDITIONING_PROGRAM, IMMEDIATE_CHARGE, \
DELAYED_CHARGE, REMOTE_URL
from psa_car_controller.psa.mqtt_request import MQTTRequest
from psa_car_controller.psa.oauth import OpenIdCredentialManager
from psa_car_controller.common.utils import RateLimitException, rate_limit, parse_hour
from psa_car_controller.psa.otp.otp import ConfigException, save_otp, load_otp
logger = logging.getLogger(__name__)
@@ -119,7 +120,7 @@ class RemoteClient:
except RateLimitException:
logger.exception("__keep_mqtt")
t = threading.Timer(timeout, self.__keep_mqtt)
t.setDaemon(True) # pylint: disable=deprecated-method
t.setDaemon(True)
t.start()
def veh_charge_request(self, vin, hour, minute, charge_type):
@@ -0,0 +1,153 @@
# coding: utf-8
# flake8: noqa
"""
Groupe PSA Connected Car - WEB API B2C
*PSA B2C Connected Car API* # Introduction This is the description of the *Groupe PSA Connected Car V2 API*. The speccification is is based on **OpenAPI Specification version 3** and can be displayed via [ReDoc](https://github.com/Rebilly/ReDoc)a or [Swagger](http://swagger.io). This API allows applications to fetch data from the connected Vehicles data platform. # Authentication PSA Connected Car APIs uses the [OAuth 2.0](https://tools.ietf.org/html/rfc6749) protocol for authentication and Authorization. any application require a valid [Access Token](https://tools.ietf.org/html/rfc6749#section-1.4) to access to user data. # Errors Error codes returned by all REST APIs comply with the standard. Nevertheless, PSA Services (callers) need to have more complete data structures (even when the answer is not Http-OK) to better detail the type of error by providing application code, message and a debugging code(for investigation purposes). The http code of the response is managed by the protocol itself (in the header). **Errors are returned as a generic error response:** * ```xError``` object model. # noqa: E501
OpenAPI spec version: 4.0
Generated by: https://github.com/swagger-api/swagger-codegen.git
"""
# import apis into sdk package
from psa_car_controller.psa.connected_car_api.api.trips_api import TripsApi
from psa_car_controller.psa.connected_car_api.api.user_api import UserApi
from psa_car_controller.psa.connected_car_api.api.vehicles_api import VehiclesApi
# import ApiClient
from psa_car_controller.psa.connected_car_api.api_client import ApiClient
from psa_car_controller.psa.connected_car_api.configuration import Configuration
# import models into sdk package
from psa_car_controller.psa.connected_car_api.models.adas import Adas
from psa_car_controller.psa.connected_car_api.models.adas_park_assist import AdasParkAssist
from psa_car_controller.psa.connected_car_api.models.alert import Alert
from psa_car_controller.psa.connected_car_api.models.alert_end_position import AlertEndPosition
from psa_car_controller.psa.connected_car_api.models.alert_links import AlertLinks
from psa_car_controller.psa.connected_car_api.models.alert_msg_enum import AlertMsgEnum
from psa_car_controller.psa.connected_car_api.models.alerts import Alerts
from psa_car_controller.psa.connected_car_api.models.alerts_embedded import AlertsEmbedded
from psa_car_controller.psa.connected_car_api.models.battery import Battery
from psa_car_controller.psa.connected_car_api.models.bounded_program import BoundedProgram
from psa_car_controller.psa.connected_car_api.models.charging_status_enum import ChargingStatusEnum
from psa_car_controller.psa.connected_car_api.models.circle_zone import CircleZone
from psa_car_controller.psa.connected_car_api.models.circle_zone_coordinates import CircleZoneCoordinates
from psa_car_controller.psa.connected_car_api.models.collection_result import CollectionResult
from psa_car_controller.psa.connected_car_api.models.collision import Collision
from psa_car_controller.psa.connected_car_api.models.collision_links import CollisionLinks
from psa_car_controller.psa.connected_car_api.models.collision_obj import CollisionObj
from psa_car_controller.psa.connected_car_api.models.collision_obj_front import CollisionObjFront
from psa_car_controller.psa.connected_car_api.models.collisions import Collisions
from psa_car_controller.psa.connected_car_api.models.collisions_embedded import CollisionsEmbedded
from psa_car_controller.psa.connected_car_api.models.created_at_field import CreatedAtField
from psa_car_controller.psa.connected_car_api.models.data_monitor_trigger import DataMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.data_trigger import DataTrigger
from psa_car_controller.psa.connected_car_api.models.default_alert_push import DefaultAlertPush
from psa_car_controller.psa.connected_car_api.models.default_alert_push_attributes import DefaultAlertPushAttributes
from psa_car_controller.psa.connected_car_api.models.doors_state import DoorsState
from psa_car_controller.psa.connected_car_api.models.doors_state_opening import DoorsStateOpening
from psa_car_controller.psa.connected_car_api.models.e_coaching import ECoaching
from psa_car_controller.psa.connected_car_api.models.e_coaching_links import ECoachingLinks
from psa_car_controller.psa.connected_car_api.models.e_coaching_scores import ECoachingScores
from psa_car_controller.psa.connected_car_api.models.energy import Energy
from psa_car_controller.psa.connected_car_api.models.energy_battery import EnergyBattery
from psa_car_controller.psa.connected_car_api.models.energy_battery_health import EnergyBatteryHealth
from psa_car_controller.psa.connected_car_api.models.energy_charging import EnergyCharging
from psa_car_controller.psa.connected_car_api.models.engine import Engine
from psa_car_controller.psa.connected_car_api.models.engine_oil import EngineOil
from psa_car_controller.psa.connected_car_api.models.environment import Environment
from psa_car_controller.psa.connected_car_api.models.environment_luminosity import EnvironmentLuminosity
from psa_car_controller.psa.connected_car_api.models.event import Event
from psa_car_controller.psa.connected_car_api.models.event_links import EventLinks
from psa_car_controller.psa.connected_car_api.models.extension import Extension
from psa_car_controller.psa.connected_car_api.models.extension_type import ExtensionType
from psa_car_controller.psa.connected_car_api.models.geometry import Geometry
from psa_car_controller.psa.connected_car_api.models.ignition import Ignition
from psa_car_controller.psa.connected_car_api.models.index_range import IndexRange
from psa_car_controller.psa.connected_car_api.models.kinetic import Kinetic
from psa_car_controller.psa.connected_car_api.models.lighting import Lighting
from psa_car_controller.psa.connected_car_api.models.link import Link
from psa_car_controller.psa.connected_car_api.models.maintenance import Maintenance
from psa_car_controller.psa.connected_car_api.models.maintenance_links import MaintenanceLinks
from psa_car_controller.psa.connected_car_api.models.maintenance_obj import MaintenanceObj
from psa_car_controller.psa.connected_car_api.models.monitor import Monitor
from psa_car_controller.psa.connected_car_api.models.monitor_id import MonitorId
from psa_car_controller.psa.connected_car_api.models.monitor_links import MonitorLinks
from psa_car_controller.psa.connected_car_api.models.monitor_parameter import MonitorParameter
from psa_car_controller.psa.connected_car_api.models.monitor_parameter_trigger_param import MonitorParameterTriggerParam
from psa_car_controller.psa.connected_car_api.models.monitor_ref import MonitorRef
from psa_car_controller.psa.connected_car_api.models.monitor_ref_links import MonitorRefLinks
from psa_car_controller.psa.connected_car_api.models.monitor_status import MonitorStatus
from psa_car_controller.psa.connected_car_api.models.monitor_status_setter import MonitorStatusSetter
from psa_car_controller.psa.connected_car_api.models.monitor_subscribe import MonitorSubscribe
from psa_car_controller.psa.connected_car_api.models.monitor_subscribe_batch_notify import MonitorSubscribeBatchNotify
from psa_car_controller.psa.connected_car_api.models.monitor_subscribe_retry_policy import MonitorSubscribeRetryPolicy
from psa_car_controller.psa.connected_car_api.models.monitor_trigger import MonitorTrigger
from psa_car_controller.psa.connected_car_api.models.monitor_webhook import MonitorWebhook
from psa_car_controller.psa.connected_car_api.models.monitor_webhook_attributes import MonitorWebhookAttributes
from psa_car_controller.psa.connected_car_api.models.monitors import Monitors
from psa_car_controller.psa.connected_car_api.models.monitors_embedded import MonitorsEmbedded
from psa_car_controller.psa.connected_car_api.models.overall_autonomy import OverallAutonomy
from psa_car_controller.psa.connected_car_api.models.point import Point
from psa_car_controller.psa.connected_car_api.models.polygon_zone import PolygonZone
from psa_car_controller.psa.connected_car_api.models.position import Position
from psa_car_controller.psa.connected_car_api.models.position_properties import PositionProperties
from psa_car_controller.psa.connected_car_api.models.preconditioning import Preconditioning
from psa_car_controller.psa.connected_car_api.models.preconditioning_air_conditioning import PreconditioningAirConditioning
from psa_car_controller.psa.connected_car_api.models.preconditioning_program import PreconditioningProgram
from psa_car_controller.psa.connected_car_api.models.privacy import Privacy
from psa_car_controller.psa.connected_car_api.models.program import Program
from psa_car_controller.psa.connected_car_api.models.program_occurence import ProgramOccurence
from psa_car_controller.psa.connected_car_api.models.safety import Safety
from psa_car_controller.psa.connected_car_api.models.service_type import ServiceType
from psa_car_controller.psa.connected_car_api.models.status import Status
from psa_car_controller.psa.connected_car_api.models.status_embedded import StatusEmbedded
from psa_car_controller.psa.connected_car_api.models.status_extension_type import StatusExtensionType
from psa_car_controller.psa.connected_car_api.models.status_links import StatusLinks
from psa_car_controller.psa.connected_car_api.models.tab_links import TabLinks
from psa_car_controller.psa.connected_car_api.models.telemetry import Telemetry
from psa_car_controller.psa.connected_car_api.models.telemetry_embedded import TelemetryEmbedded
from psa_car_controller.psa.connected_car_api.models.telemetry_enum import TelemetryEnum
from psa_car_controller.psa.connected_car_api.models.telemetry_extension import TelemetryExtension
from psa_car_controller.psa.connected_car_api.models.telemetry_extension_type import TelemetryExtensionType
from psa_car_controller.psa.connected_car_api.models.telemetry_message import TelemetryMessage
from psa_car_controller.psa.connected_car_api.models.telemetry_message_embedded import TelemetryMessageEmbedded
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle import TelemetryMessageVehicle
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_braking_system import TelemetryMessageVehicleBrakingSystem
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission import TelemetryMessageVehicleTransmission
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox import TelemetryMessageVehicleTransmissionGearbox
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_gear import TelemetryMessageVehicleTransmissionGearboxGear
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_mode import TelemetryMessageVehicleTransmissionGearboxMode
from psa_car_controller.psa.connected_car_api.models.time_monitor_trigger import TimeMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.time_range import TimeRange
from psa_car_controller.psa.connected_car_api.models.time_stamped import TimeStamped
from psa_car_controller.psa.connected_car_api.models.time_trigger import TimeTrigger
from psa_car_controller.psa.connected_car_api.models.time_zone_monitor_trigger import TimeZoneMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.time_zone_trigger import TimeZoneTrigger
from psa_car_controller.psa.connected_car_api.models.trip import Trip
from psa_car_controller.psa.connected_car_api.models.trip_avg_consumption import TripAvgConsumption
from psa_car_controller.psa.connected_car_api.models.trip_links import TripLinks
from psa_car_controller.psa.connected_car_api.models.trips import Trips
from psa_car_controller.psa.connected_car_api.models.trips_embedded import TripsEmbedded
from psa_car_controller.psa.connected_car_api.models.updated_field import UpdatedField
from psa_car_controller.psa.connected_car_api.models.url import Url
from psa_car_controller.psa.connected_car_api.models.user import User
from psa_car_controller.psa.connected_car_api.models.user_embedded import UserEmbedded
from psa_car_controller.psa.connected_car_api.models.user_links import UserLinks
from psa_car_controller.psa.connected_car_api.models.vect2_d import Vect2D
from psa_car_controller.psa.connected_car_api.models.vehicle import Vehicle
from psa_car_controller.psa.connected_car_api.models.vehicle_engine import VehicleEngine
from psa_car_controller.psa.connected_car_api.models.vehicle_links import VehicleLinks
from psa_car_controller.psa.connected_car_api.models.vehicle_odometer import VehicleOdometer
from psa_car_controller.psa.connected_car_api.models.vehicles import Vehicles
from psa_car_controller.psa.connected_car_api.models.vehicles_embedded import VehiclesEmbedded
from psa_car_controller.psa.connected_car_api.models.way_points import WayPoints
from psa_car_controller.psa.connected_car_api.models.way_points_embedded import WayPointsEmbedded
from psa_car_controller.psa.connected_car_api.models.x_error import XError
from psa_car_controller.psa.connected_car_api.models.zone_monitor_trigger import ZoneMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.zone_trigger import ZoneTrigger
from psa_car_controller.psa.connected_car_api.models.zone_trigger_place import ZoneTriggerPlace
from psa_car_controller.psa.connected_car_api.models.zone_trigger_place_center import ZoneTriggerPlaceCenter
@@ -0,0 +1,8 @@
from __future__ import absolute_import
# flake8: noqa
# import apis into api package
from psa_car_controller.psa.connected_car_api.api.trips_api import TripsApi
from psa_car_controller.psa.connected_car_api.api.user_api import UserApi
from psa_car_controller.psa.connected_car_api.api.vehicles_api import VehiclesApi
@@ -18,7 +18,7 @@ import re # noqa: F401
# python 2 and python 3 compatibility library
import six
from psa.connected_car_api.api_client import ApiClient
from psa_car_controller.psa.connected_car_api.api_client import ApiClient
class TripsApi(object):
@@ -18,7 +18,7 @@ import re # noqa: F401
# python 2 and python 3 compatibility library
import six
from psa.connected_car_api.api_client import ApiClient
from psa_car_controller.psa.connected_car_api.api_client import ApiClient
class UserApi(object):
@@ -18,7 +18,7 @@ import re # noqa: F401
# python 2 and python 3 compatibility library
import six
from psa.connected_car_api.api_client import ApiClient
from psa_car_controller.psa.connected_car_api.api_client import ApiClient
class VehiclesApi(object):
@@ -23,9 +23,9 @@ import tempfile
import six
from six.moves.urllib.parse import quote
import psa
from psa.connected_car_api.configuration import Configuration
from psa.connected_car_api import rest
from psa_car_controller.psa.connected_car_api import models
from psa_car_controller.psa.connected_car_api.configuration import Configuration
from psa_car_controller.psa.connected_car_api import rest
class ApiClient(object):
@@ -251,7 +251,7 @@ class ApiClient(object):
if data is None:
return None
if type(klass) == str:
if isinstance(klass, str):
if klass.startswith('list['):
sub_kls = re.match(r'list\[(.*)\]', klass).group(1)
return [self.__deserialize(sub_data, sub_kls)
@@ -266,7 +266,7 @@ class ApiClient(object):
if klass in self.NATIVE_TYPES_MAPPING:
klass = self.NATIVE_TYPES_MAPPING[klass]
else:
klass = getattr(psa.connected_car_api.models, klass)
klass = getattr(models, klass)
if klass in self.PRIMITIVE_TYPES:
return self.__deserialize_primitive(data, klass)
@@ -446,7 +446,7 @@ class ApiClient(object):
for k, v in six.iteritems(files):
if not v:
continue
file_names = v if type(v) is list else [v]
file_names = v if isinstance(v, list) else [v]
for n in file_names:
with open(n, 'rb') as f:
filename = os.path.basename(f.name)
@@ -208,7 +208,7 @@ class Configuration(object):
if self.refresh_api_key_hook:
self.refresh_api_key_hook(self)
key = self.api_key.get(identifier)
if key:
prefix = self.api_key_prefix.get(identifier)
@@ -0,0 +1,146 @@
# coding: utf-8
# flake8: noqa
"""
Groupe PSA Connected Car - WEB API B2C
*PSA B2C Connected Car API* # Introduction This is the description of the *Groupe PSA Connected Car V2 API*. The speccification is is based on **OpenAPI Specification version 3** and can be displayed via [ReDoc](https://github.com/Rebilly/ReDoc)a or [Swagger](http://swagger.io). This API allows applications to fetch data from the connected Vehicles data platform. # Authentication PSA Connected Car APIs uses the [OAuth 2.0](https://tools.ietf.org/html/rfc6749) protocol for authentication and Authorization. any application require a valid [Access Token](https://tools.ietf.org/html/rfc6749#section-1.4) to access to user data. # Errors Error codes returned by all REST APIs comply with the standard. Nevertheless, PSA Services (callers) need to have more complete data structures (even when the answer is not Http-OK) to better detail the type of error by providing application code, message and a debugging code(for investigation purposes). The http code of the response is managed by the protocol itself (in the header). **Errors are returned as a generic error response:** * ```xError``` object model. # noqa: E501
OpenAPI spec version: 4.0
Generated by: https://github.com/swagger-api/swagger-codegen.git
"""
from __future__ import absolute_import
# import models into model package
from psa_car_controller.psa.connected_car_api.models.adas import Adas
from psa_car_controller.psa.connected_car_api.models.adas_park_assist import AdasParkAssist
from psa_car_controller.psa.connected_car_api.models.alert import Alert
from psa_car_controller.psa.connected_car_api.models.alert_end_position import AlertEndPosition
from psa_car_controller.psa.connected_car_api.models.alert_links import AlertLinks
from psa_car_controller.psa.connected_car_api.models.alert_msg_enum import AlertMsgEnum
from psa_car_controller.psa.connected_car_api.models.alerts import Alerts
from psa_car_controller.psa.connected_car_api.models.alerts_embedded import AlertsEmbedded
from psa_car_controller.psa.connected_car_api.models.battery import Battery
from psa_car_controller.psa.connected_car_api.models.bounded_program import BoundedProgram
from psa_car_controller.psa.connected_car_api.models.charging_status_enum import ChargingStatusEnum
from psa_car_controller.psa.connected_car_api.models.circle_zone import CircleZone
from psa_car_controller.psa.connected_car_api.models.circle_zone_coordinates import CircleZoneCoordinates
from psa_car_controller.psa.connected_car_api.models.collection_result import CollectionResult
from psa_car_controller.psa.connected_car_api.models.collision import Collision
from psa_car_controller.psa.connected_car_api.models.collision_links import CollisionLinks
from psa_car_controller.psa.connected_car_api.models.collision_obj import CollisionObj
from psa_car_controller.psa.connected_car_api.models.collision_obj_front import CollisionObjFront
from psa_car_controller.psa.connected_car_api.models.collisions import Collisions
from psa_car_controller.psa.connected_car_api.models.collisions_embedded import CollisionsEmbedded
from psa_car_controller.psa.connected_car_api.models.created_at_field import CreatedAtField
from psa_car_controller.psa.connected_car_api.models.data_monitor_trigger import DataMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.data_trigger import DataTrigger
from psa_car_controller.psa.connected_car_api.models.default_alert_push import DefaultAlertPush
from psa_car_controller.psa.connected_car_api.models.default_alert_push_attributes import DefaultAlertPushAttributes
from psa_car_controller.psa.connected_car_api.models.doors_state import DoorsState
from psa_car_controller.psa.connected_car_api.models.doors_state_opening import DoorsStateOpening
from psa_car_controller.psa.connected_car_api.models.e_coaching import ECoaching
from psa_car_controller.psa.connected_car_api.models.e_coaching_links import ECoachingLinks
from psa_car_controller.psa.connected_car_api.models.e_coaching_scores import ECoachingScores
from psa_car_controller.psa.connected_car_api.models.energy import Energy
from psa_car_controller.psa.connected_car_api.models.energy_battery import EnergyBattery
from psa_car_controller.psa.connected_car_api.models.energy_battery_health import EnergyBatteryHealth
from psa_car_controller.psa.connected_car_api.models.energy_charging import EnergyCharging
from psa_car_controller.psa.connected_car_api.models.engine import Engine
from psa_car_controller.psa.connected_car_api.models.engine_oil import EngineOil
from psa_car_controller.psa.connected_car_api.models.environment import Environment
from psa_car_controller.psa.connected_car_api.models.environment_luminosity import EnvironmentLuminosity
from psa_car_controller.psa.connected_car_api.models.event import Event
from psa_car_controller.psa.connected_car_api.models.event_links import EventLinks
from psa_car_controller.psa.connected_car_api.models.extension import Extension
from psa_car_controller.psa.connected_car_api.models.extension_type import ExtensionType
from psa_car_controller.psa.connected_car_api.models.geometry import Geometry
from psa_car_controller.psa.connected_car_api.models.ignition import Ignition
from psa_car_controller.psa.connected_car_api.models.index_range import IndexRange
from psa_car_controller.psa.connected_car_api.models.kinetic import Kinetic
from psa_car_controller.psa.connected_car_api.models.lighting import Lighting
from psa_car_controller.psa.connected_car_api.models.link import Link
from psa_car_controller.psa.connected_car_api.models.maintenance import Maintenance
from psa_car_controller.psa.connected_car_api.models.maintenance_links import MaintenanceLinks
from psa_car_controller.psa.connected_car_api.models.maintenance_obj import MaintenanceObj
from psa_car_controller.psa.connected_car_api.models.monitor import Monitor
from psa_car_controller.psa.connected_car_api.models.monitor_id import MonitorId
from psa_car_controller.psa.connected_car_api.models.monitor_links import MonitorLinks
from psa_car_controller.psa.connected_car_api.models.monitor_parameter import MonitorParameter
from psa_car_controller.psa.connected_car_api.models.monitor_parameter_trigger_param import MonitorParameterTriggerParam
from psa_car_controller.psa.connected_car_api.models.monitor_ref import MonitorRef
from psa_car_controller.psa.connected_car_api.models.monitor_ref_links import MonitorRefLinks
from psa_car_controller.psa.connected_car_api.models.monitor_status import MonitorStatus
from psa_car_controller.psa.connected_car_api.models.monitor_status_setter import MonitorStatusSetter
from psa_car_controller.psa.connected_car_api.models.monitor_subscribe import MonitorSubscribe
from psa_car_controller.psa.connected_car_api.models.monitor_subscribe_batch_notify import MonitorSubscribeBatchNotify
from psa_car_controller.psa.connected_car_api.models.monitor_subscribe_retry_policy import MonitorSubscribeRetryPolicy
from psa_car_controller.psa.connected_car_api.models.monitor_trigger import MonitorTrigger
from psa_car_controller.psa.connected_car_api.models.monitor_webhook import MonitorWebhook
from psa_car_controller.psa.connected_car_api.models.monitor_webhook_attributes import MonitorWebhookAttributes
from psa_car_controller.psa.connected_car_api.models.monitors import Monitors
from psa_car_controller.psa.connected_car_api.models.monitors_embedded import MonitorsEmbedded
from psa_car_controller.psa.connected_car_api.models.overall_autonomy import OverallAutonomy
from psa_car_controller.psa.connected_car_api.models.point import Point
from psa_car_controller.psa.connected_car_api.models.polygon_zone import PolygonZone
from psa_car_controller.psa.connected_car_api.models.position import Position
from psa_car_controller.psa.connected_car_api.models.position_properties import PositionProperties
from psa_car_controller.psa.connected_car_api.models.preconditioning import Preconditioning
from psa_car_controller.psa.connected_car_api.models.preconditioning_air_conditioning import PreconditioningAirConditioning
from psa_car_controller.psa.connected_car_api.models.preconditioning_program import PreconditioningProgram
from psa_car_controller.psa.connected_car_api.models.privacy import Privacy
from psa_car_controller.psa.connected_car_api.models.program import Program
from psa_car_controller.psa.connected_car_api.models.program_occurence import ProgramOccurence
from psa_car_controller.psa.connected_car_api.models.safety import Safety
from psa_car_controller.psa.connected_car_api.models.service_type import ServiceType
from psa_car_controller.psa.connected_car_api.models.status import Status
from psa_car_controller.psa.connected_car_api.models.status_embedded import StatusEmbedded
from psa_car_controller.psa.connected_car_api.models.status_extension_type import StatusExtensionType
from psa_car_controller.psa.connected_car_api.models.status_links import StatusLinks
from psa_car_controller.psa.connected_car_api.models.tab_links import TabLinks
from psa_car_controller.psa.connected_car_api.models.telemetry import Telemetry
from psa_car_controller.psa.connected_car_api.models.telemetry_embedded import TelemetryEmbedded
from psa_car_controller.psa.connected_car_api.models.telemetry_enum import TelemetryEnum
from psa_car_controller.psa.connected_car_api.models.telemetry_extension import TelemetryExtension
from psa_car_controller.psa.connected_car_api.models.telemetry_extension_type import TelemetryExtensionType
from psa_car_controller.psa.connected_car_api.models.telemetry_message import TelemetryMessage
from psa_car_controller.psa.connected_car_api.models.telemetry_message_embedded import TelemetryMessageEmbedded
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle import TelemetryMessageVehicle
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_braking_system import TelemetryMessageVehicleBrakingSystem
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission import TelemetryMessageVehicleTransmission
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox import TelemetryMessageVehicleTransmissionGearbox
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_gear import TelemetryMessageVehicleTransmissionGearboxGear
from psa_car_controller.psa.connected_car_api.models.telemetry_message_vehicle_transmission_gearbox_mode import TelemetryMessageVehicleTransmissionGearboxMode
from psa_car_controller.psa.connected_car_api.models.time_monitor_trigger import TimeMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.time_range import TimeRange
from psa_car_controller.psa.connected_car_api.models.time_stamped import TimeStamped
from psa_car_controller.psa.connected_car_api.models.time_trigger import TimeTrigger
from psa_car_controller.psa.connected_car_api.models.time_zone_monitor_trigger import TimeZoneMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.time_zone_trigger import TimeZoneTrigger
from psa_car_controller.psa.connected_car_api.models.trip import Trip
from psa_car_controller.psa.connected_car_api.models.trip_avg_consumption import TripAvgConsumption
from psa_car_controller.psa.connected_car_api.models.trip_links import TripLinks
from psa_car_controller.psa.connected_car_api.models.trips import Trips
from psa_car_controller.psa.connected_car_api.models.trips_embedded import TripsEmbedded
from psa_car_controller.psa.connected_car_api.models.updated_field import UpdatedField
from psa_car_controller.psa.connected_car_api.models.url import Url
from psa_car_controller.psa.connected_car_api.models.user import User
from psa_car_controller.psa.connected_car_api.models.user_embedded import UserEmbedded
from psa_car_controller.psa.connected_car_api.models.user_links import UserLinks
from psa_car_controller.psa.connected_car_api.models.vect2_d import Vect2D
from psa_car_controller.psa.connected_car_api.models.vehicle import Vehicle
from psa_car_controller.psa.connected_car_api.models.vehicle_engine import VehicleEngine
from psa_car_controller.psa.connected_car_api.models.vehicle_links import VehicleLinks
from psa_car_controller.psa.connected_car_api.models.vehicle_odometer import VehicleOdometer
from psa_car_controller.psa.connected_car_api.models.vehicles import Vehicles
from psa_car_controller.psa.connected_car_api.models.vehicles_embedded import VehiclesEmbedded
from psa_car_controller.psa.connected_car_api.models.way_points import WayPoints
from psa_car_controller.psa.connected_car_api.models.way_points_embedded import WayPointsEmbedded
from psa_car_controller.psa.connected_car_api.models.x_error import XError
from psa_car_controller.psa.connected_car_api.models.zone_monitor_trigger import ZoneMonitorTrigger
from psa_car_controller.psa.connected_car_api.models.zone_trigger import ZoneTrigger
from psa_car_controller.psa.connected_car_api.models.zone_trigger_place import ZoneTriggerPlace
from psa_car_controller.psa.connected_car_api.models.zone_trigger_place_center import ZoneTriggerPlaceCenter

Some files were not shown because too many files have changed in this diff Show More