Refactored
This commit is contained in:
+4
-4
@@ -1,14 +1,14 @@
|
|||||||
users = [
|
users = [
|
||||||
{
|
{
|
||||||
'nickname': 'alex',
|
'username': 'alex',
|
||||||
'username': 'alex.thoni@gmx.de',
|
|
||||||
'password': 'Arielle2024!',
|
'password': 'Arielle2024!',
|
||||||
|
'email': 'alex.thoni@gmx.de',
|
||||||
'vin': 'WVWZZZE1ZMP010760'
|
'vin': 'WVWZZZE1ZMP010760'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'nickname': 'jens',
|
'username': 'jens',
|
||||||
'username': 'jens.ahrensfeld@gmx.de',
|
|
||||||
'password': '2SaveMyCar',
|
'password': '2SaveMyCar',
|
||||||
|
'email': 'jens.ahrensfeld@gmx.de',
|
||||||
'vin': 'WVWZZZE1ZMP010760'
|
'vin': 'WVWZZZE1ZMP010760'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
+5
-8
@@ -5,7 +5,7 @@ from jay_diff import jay_merge_full
|
|||||||
|
|
||||||
BASE = "/media/jens/cifs/jens@moon/projects/we_collect/results"
|
BASE = "/media/jens/cifs/jens@moon/projects/we_collect/results"
|
||||||
VIN = 'WVWZZZE1ZMP010760'
|
VIN = 'WVWZZZE1ZMP010760'
|
||||||
NICK = 'alex'
|
USER = 'alex'
|
||||||
YEAR = 2024
|
YEAR = 2024
|
||||||
MONTH = 10
|
MONTH = 10
|
||||||
DAY = ['20', '21', '22']
|
DAY = ['20', '21', '22']
|
||||||
@@ -103,7 +103,8 @@ def convert(timestamp_str: str, pattern: str = "%Y-%m-%dT%H:%M:%S.%f%z"):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
path = os.path.join(BASE, VIN)
|
path = os.path.join(BASE, USER)
|
||||||
|
path = os.path.join(path, VIN)
|
||||||
path = os.path.join(path, str(YEAR))
|
path = os.path.join(path, str(YEAR))
|
||||||
path = os.path.join(path, str(MONTH))
|
path = os.path.join(path, str(MONTH))
|
||||||
|
|
||||||
@@ -123,12 +124,8 @@ for day in day_list:
|
|||||||
day_path = os.path.join(month_path, day)
|
day_path = os.path.join(month_path, day)
|
||||||
|
|
||||||
# Sort out files with unknown nickname
|
# Sort out files with unknown nickname
|
||||||
file_list = []
|
file_list = os.listdir(day_path)
|
||||||
for filename in os.listdir(day_path):
|
file_list_sorted = sorted(file_list, key=lambda f: convert(f, pattern=f"records_%Y-%m-%dT%H-%M-%S.json"))
|
||||||
if NICK in filename:
|
|
||||||
file_list.append(filename)
|
|
||||||
|
|
||||||
file_list_sorted = sorted(file_list, key=lambda f: convert(f, pattern=f"{VIN}_{NICK}_%Y-%m-%dT%H-%M-%S.json"))
|
|
||||||
print("Files in '", day_path, "' :")
|
print("Files in '", day_path, "' :")
|
||||||
# prints all files
|
# prints all files
|
||||||
print(file_list_sorted)
|
print(file_list_sorted)
|
||||||
|
|||||||
+10
-5
@@ -38,7 +38,7 @@ class WeCollector:
|
|||||||
|
|
||||||
def create_session(self):
|
def create_session(self):
|
||||||
expired_token_for_test = 'eyJraWQiOiI0ODEyODgzZi05Y2FiLTQwMWMtYTI5OC0wZmEyMTA5Y2ViY2EiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMDQyNmRjZC1mYzljLTRkODctODBmYy0yMDIyNzdmYzhkYzIiLCJhdWQiOiJhMjRmYmE2My0zNGIzLTRkNDMtYjE4MS05NDIxMTFlNmJkYThAYXBwc192dy1kaWxhYl9jb20iLCJzY3AiOiJvcGVuaWQgcHJvZmlsZSBiYWRnZSBjYXJzIGRlYWxlcnMgdmluIiwiYWF0IjoiaWRlbnRpdHlraXQiLCJpc3MiOiJodHRwczovL2lkZW50aXR5LnZ3Z3JvdXAuaW8iLCJqdHQiOiJhY2Nlc3NfdG9rZW4iLCJleHAiOjE3Mjg5ODQzMjAsImlhdCI6MTcyODk4MDcyMCwibGVlIjpbIlZPTEtTV0FHRU4iXSwianRpIjoiYWQ0MDhkMDEtYmQxMy00YWZkLWIyMWEtYmZiMTE5NTFhOGE3In0.r78z00BS0Je7mjUcukmrkuSiPO9F8me-bLs3ZZF6BokhPX8uqu_2j7I3Pu-8C1xwFBb-YDs6rr0iiVUeOeiKM4O-jOik8ny57sMKdYJ_FHZNo-GLMA_WPppNaGWkM8HojIxEW4mrO3Zqd9f_vDrTAYukG4WyULbxq_OH6c6yQdmEx4M1PGisVB0DI6DG0Dl4748BCJMA_TyNvKagQHZuRhT0ma7kj_GVSqlGGtW0erwPBwTHY_X_wDitngod2iUw9nRtli-HkJKqgER82jSu2k5b36ePglsRqx6k4ls8Tiz6ykgcjuuW4_zdsfUNuhBElVd1QwCzolQ4e7IzHbVaRZbub8tlisrHZMskGJmNJeAUv9xZMJ8o6YNyAz__WPvP6iubrCIixSKOThv-YLXa0cFkCPmoaLR9eeTy6sWFsFvslTdD-a0zrrdP8ais4g5Cxao6ph3NV1xCgkEldImI3n1hxeMLefe6sqfoZ6Ogz-EDVPBxS9qpazPWN6EQyyYLXQZA0s6p5hcrjVq7pD-5yXjeFhCrymzizaNm0JhVF_L36F3D5a3s8tnQ2kaMfdK6jdHQyauxL-8SHfAgk_py33XOcgGQkp4aOXN3pm7UhutQ8fAS9kMoquqikuxTAu-UlWAYRhDUaypab1F51f50eK84s1jpgWDAQ1aL7PIgwj8'
|
expired_token_for_test = 'eyJraWQiOiI0ODEyODgzZi05Y2FiLTQwMWMtYTI5OC0wZmEyMTA5Y2ViY2EiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMDQyNmRjZC1mYzljLTRkODctODBmYy0yMDIyNzdmYzhkYzIiLCJhdWQiOiJhMjRmYmE2My0zNGIzLTRkNDMtYjE4MS05NDIxMTFlNmJkYThAYXBwc192dy1kaWxhYl9jb20iLCJzY3AiOiJvcGVuaWQgcHJvZmlsZSBiYWRnZSBjYXJzIGRlYWxlcnMgdmluIiwiYWF0IjoiaWRlbnRpdHlraXQiLCJpc3MiOiJodHRwczovL2lkZW50aXR5LnZ3Z3JvdXAuaW8iLCJqdHQiOiJhY2Nlc3NfdG9rZW4iLCJleHAiOjE3Mjg5ODQzMjAsImlhdCI6MTcyODk4MDcyMCwibGVlIjpbIlZPTEtTV0FHRU4iXSwianRpIjoiYWQ0MDhkMDEtYmQxMy00YWZkLWIyMWEtYmZiMTE5NTFhOGE3In0.r78z00BS0Je7mjUcukmrkuSiPO9F8me-bLs3ZZF6BokhPX8uqu_2j7I3Pu-8C1xwFBb-YDs6rr0iiVUeOeiKM4O-jOik8ny57sMKdYJ_FHZNo-GLMA_WPppNaGWkM8HojIxEW4mrO3Zqd9f_vDrTAYukG4WyULbxq_OH6c6yQdmEx4M1PGisVB0DI6DG0Dl4748BCJMA_TyNvKagQHZuRhT0ma7kj_GVSqlGGtW0erwPBwTHY_X_wDitngod2iUw9nRtli-HkJKqgER82jSu2k5b36ePglsRqx6k4ls8Tiz6ykgcjuuW4_zdsfUNuhBElVd1QwCzolQ4e7IzHbVaRZbub8tlisrHZMskGJmNJeAUv9xZMJ8o6YNyAz__WPvP6iubrCIixSKOThv-YLXa0cFkCPmoaLR9eeTy6sWFsFvslTdD-a0zrrdP8ais4g5Cxao6ph3NV1xCgkEldImI3n1hxeMLefe6sqfoZ6Ogz-EDVPBxS9qpazPWN6EQyyYLXQZA0s6p5hcrjVq7pD-5yXjeFhCrymzizaNm0JhVF_L36F3D5a3s8tnQ2kaMfdK6jdHQyauxL-8SHfAgk_py33XOcgGQkp4aOXN3pm7UhutQ8fAS9kMoquqikuxTAu-UlWAYRhDUaypab1F51f50eK84s1jpgWDAQ1aL7PIgwj8'
|
||||||
self._wci = wci.WeConnectId(self._user['username'], self._user['password'], expired_token_for_test)
|
self._wci = wci.WeConnectId(self._user['email'], self._user['password'], expired_token_for_test)
|
||||||
vehicles = self._wci.get('/vehicles')['data']
|
vehicles = self._wci.get('/vehicles')['data']
|
||||||
print('list of vehicles:')
|
print('list of vehicles:')
|
||||||
pprint.pprint(vehicles)
|
pprint.pprint(vehicles)
|
||||||
@@ -63,7 +63,7 @@ class WeCollector:
|
|||||||
|
|
||||||
def request(self, _date, timestamp):
|
def request(self, _date, timestamp):
|
||||||
try:
|
try:
|
||||||
print(f"{timestamp}: Retrieve vehicle data for {self._user['nickname']}")
|
print(f"{timestamp}: Retrieve vehicle data for {self._user['username']}")
|
||||||
|
|
||||||
# Create data difference
|
# Create data difference
|
||||||
vehicle_data = self._wci.get(self._endpoint)
|
vehicle_data = self._wci.get(self._endpoint)
|
||||||
@@ -71,12 +71,17 @@ class WeCollector:
|
|||||||
self._vehicle_data_last = vehicle_data
|
self._vehicle_data_last = vehicle_data
|
||||||
|
|
||||||
# Put vehicle data difference onto record list
|
# Put vehicle data difference onto record list
|
||||||
self._record_list.append({'info': {'record_id': self._record_id, 'timestamp': timestamp, 'is_delta': (self._record_id > 0), 'nickname': self._user['nickname']}, 'data': vehicle_data_diff})
|
self._record_list.append({
|
||||||
|
'info': {'record_id': self._record_id,
|
||||||
|
'timestamp': timestamp, 'is_delta': (self._record_id > 0),
|
||||||
|
'username': self._user['username'],
|
||||||
|
'vin': self._user['vin']},
|
||||||
|
'data': vehicle_data_diff})
|
||||||
|
|
||||||
# Store record list
|
# Store record list
|
||||||
print(f"{timestamp}: Store record #{self._record_id:04d}")
|
print(f"{timestamp}: Store record #{self._record_id:04d}")
|
||||||
folder = self._f_mgr.update(f"results/{self._user['vin']}", _date)
|
folder = self._f_mgr.update(f"results/{self._user['username']}/{self._user['vin']}", _date)
|
||||||
filename = f"{self._user['vin']}_{self._user['nickname']}_{self._file_timestamp}.json"
|
filename = f"records_{self._file_timestamp}.json"
|
||||||
_path = os.path.join(folder, filename)
|
_path = os.path.join(folder, filename)
|
||||||
with open(_path, "w") as fp:
|
with open(_path, "w") as fp:
|
||||||
json.dump(self._record_list, fp, indent=4)
|
json.dump(self._record_list, fp, indent=4)
|
||||||
|
|||||||
Reference in New Issue
Block a user