Serial est broken pendant les périodes: 00h00:00 - 00h13:40 et 23h52:48 - 24h00:00
Le sérial est de la forme YYYYmmddxx
où xx
est un nombre qui doit incrémenter à chaque fois. Actuellement
xx = str(int(100*(now.hour*3600 + now.minute*60 + now.second)/86400))
Ce calcul présente 2 erreurs (d'où les deux périodes):
- entre 00h00:00 et 00h13:40, on a
int(100*(now.hour*3600 + now.minute*60 + now.second)/86400) < 10
ce qui veut dire que la chaine de charactère obtenue ne fait pas 2 de longeur mais seulement 1. Il faudrait préfixer la chaine de charactère pour avoir un longueur constante de 2 (e.g.05
au lieu de5
). Je vois deux façon de faire ça : soit en utilisantformat
, soit peut-etre plus compréhensible avecstr.zfill
- entre 23h52:48 et 24h00:00, l'arrondi du
int
fait quexx == '100'
. Je pense que la confusion vient du fait qu'en python2int
arrondissait à l'inférieur alors qu'en python3int
arrondit au plus proche (et à l'inférieur pour le cas du milieu). Avecmath.floor
, ce problème serait réglé.