Calculer Les Tâches À Faire Sur Une Voiture
Fleeting
calculer les tâches à faire sur une voiture
|
Date |
stamp |
Km |
Diff Km |
Nb jours |
Km/J |
Km restant |
Tps restant |
Km/J restant |
actions |
|
[2018-06-12 Tue 20:00] |
1528826400.0 |
0 |
|
|
|
|
|
0/0 |
PressionPneus, UsurePneus, Feux, NiveauBattery, ControlerHuileDA, RevisionUniqueEurope, RemplacementFiltreHabitacle, RemplacementFiltreHuile, VidangeHuile, ControlerLiquideFrein, ControlerLiquideRefroidissement, RemplacementFiltreAir, RemplacementLiquideFrein, RemplacementLiquideRefroidissement, RemplacementCourroieAccessoireEtGalet, CtrlOeilNuPlaquettesFrein, RemplacementLiquideRefroidissement, RemplacementBougiesAllumage, CtrlDepoussierageGarnitureFreinTambour, ControlerHuile, CtrlLigneEchappement, VerifNivHuileBoiteVitesses, VerifOuRemplacementAmortisseurs, VerifAirbag, ChangerEssuieGlaces |
action |
seuilkm |
seuiltmp |
|
PressionPneus |
|
1m |
Ou avant tout déplacement important |
UsurePneus |
|
4m |
|
Feux |
|
6m |
arrière, position, croisement, route, plaque arrière, clignotants avant, clignotants arrière, clignotants coté, arrière haut |
NiveauBattery |
|
6m |
|
ControlerHuileDA |
15000 |
1y |
|
RevisionUniqueEurope |
20000 |
1y |
|
RemplacementFiltreHabitacle |
20000 |
1y |
|
RemplacementFiltreHuile |
20000 |
1y |
|
VidangeHuile |
20000 |
1y |
ou à chaque intervention importante sur le moteur, avec remplacement du filtre à huile |
ControlerLiquideFrein |
45000 |
1y |
|
ControlerLiquideRefroidissement |
|
1y |
|
RemplacementFiltreAir |
60000 |
4y |
|
RemplacementLiquideFrein |
120000 |
4y |
|
RemplacementLiquideRefroidissement |
120000 |
5y |
|
RemplacementCourroieAccessoireEtGalet |
120000 |
6y |
|
CtrlOeilNuPlaquettesFrein |
10000 |
1y |
|
RemplacementLiquideRefroidissement |
|
6y |
préconisé tous les 6 ans (liquide bleu/vert) ou 10 ans (rouge/orange) |
RemplacementBougiesAllumage |
60000 |
|
|
CtrlDepoussierageGarnitureFreinTambour |
80000 |
|
|
ControlerHuile |
1000 |
|
ou avant chaque parcours important |
CtrlLigneEchappement |
30000 |
2y |
|
VerifNivHuileBoiteVitesses |
30000 |
2y |
|
VerifOuRemplacementAmortisseurs |
100000 |
|
|
VerifAirbag |
100000 |
|
|
ChangerEssuieGlaces |
|
3y |
|
from pandas import DataFrame as df
import sys
import pandas as pd
from dateutil.relativedelta import relativedelta
import re
from datetime import datetime as dt
regex = re.compile(r'^((?P<years>\d+)y)?((?P<months>\d+)m)?$')
def parse_td(value):
match = regex.match(value)
if match is None:
return None
else:
return relativedelta(**{
key: int(value)
for key, value in match.groupdict().items()
if value
})
v = df(releves[1:], columns=releves[0])
v["date"] = pd.to_datetime(v.stamp, unit="s")
s = {
seuil[0]: seuil[1]
for seuil in seuils[1:]
}
s2 = {
seuil[0]: parse_td(seuil[2])
for seuil in seuils[1:]
}
s3 = {
seuil[0]: seuil[3]
for seuil in seuils[1:]
}
sys.stderr.write("a\n")
a = df(
[
key + (value,)
for key, values in
v.set_index(["Km", "date"]).actions.items()
for value in values.split(", ")
],
columns=["km", "date", "action"]
)
sys.stderr.write(f"{a}\n")
a["diffkm"] = a["km"][0] - a["km"]
a["diffdate"] = a["date"][0] - a["date"]
res = []
now = dt.now()
for nom in s:
km = s[nom]
restekm = None
sys.stderr.write(f"{nom}\n")
if km:
diffkm = a[a.action == nom]["diffkm"]
sys.stderr.write(f"{diffkm}\n")
diffkm = diffkm.iloc[0]
restekm = km - diffkm
tmp = s2[nom]
nexttmp = None
if tmp:
nexttmp = a[a.action == nom]["date"].iloc[0] + tmp
cur_res = [
nom,
"A FAIRE" if (restekm and (restekm < 0) or (nexttmp and nexttmp < now)) else "ok",
f"{restekm} km",
"{} days".format((nexttmp - now).days) if nexttmp else None,
s3[nom],
]
res.append(cur_res)
return sorted(res, key=lambda e: e[1])
PressionPneus |
A FAIRE |
None km |
-900 days |
Ou avant tout déplacement important |
UsurePneus |
A FAIRE |
None km |
-808 days |
|
Feux |
A FAIRE |
None km |
-747 days |
arrière, position, croisement, route, plaque arrière, clignotants avant, clignotants arrière, clignotants coté, arrière haut |
NiveauBattery |
A FAIRE |
None km |
-747 days |
|
ControlerHuileDA |
A FAIRE |
15000 km |
-565 days |
|
RevisionUniqueEurope |
A FAIRE |
20000 km |
-565 days |
|
RemplacementFiltreHabitacle |
A FAIRE |
20000 km |
-565 days |
|
RemplacementFiltreHuile |
A FAIRE |
20000 km |
-565 days |
|
VidangeHuile |
A FAIRE |
20000 km |
-565 days |
ou à chaque intervention importante sur le moteur, avec remplacement du filtre à huile |
ControlerLiquideFrein |
A FAIRE |
45000 km |
-565 days |
|
ControlerLiquideRefroidissement |
A FAIRE |
None km |
-565 days |
|
CtrlOeilNuPlaquettesFrein |
A FAIRE |
10000 km |
-565 days |
|
CtrlLigneEchappement |
A FAIRE |
30000 km |
-199 days |
|
VerifNivHuileBoiteVitesses |
A FAIRE |
30000 km |
-199 days |
|
RemplacementFiltreAir |
ok |
60000 km |
531 days |
|
RemplacementLiquideFrein |
ok |
120000 km |
531 days |
|
RemplacementLiquideRefroidissement |
ok |
None km |
1262 days |
préconisé tous les 6 ans (liquide bleu/vert) ou 10 ans (rouge/orange) |
RemplacementCourroieAccessoireEtGalet |
ok |
120000 km |
1262 days |
|
RemplacementBougiesAllumage |
ok |
60000 km |
None |
|
CtrlDepoussierageGarnitureFreinTambour |
ok |
80000 km |
None |
|
ControlerHuile |
ok |
1000 km |
None |
ou avant chaque parcours important |
VerifOuRemplacementAmortisseurs |
ok |
100000 km |
None |
|
VerifAirbag |
ok |
100000 km |
None |
|
ChangerEssuieGlaces |
ok |
None km |
166 days |
|