Refactored

This commit is contained in:
2024-10-23 19:29:53 +02:00
parent 2a84291b29
commit 433a29971f
3 changed files with 19 additions and 17 deletions
+4 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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)