--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""Pour récupérer les soldes des comptes à plusieurs moments du passé."""
+
+import depenses
+
+def get_idbdes():
+ """Récupère les idbdes de tous les comptes."""
+ con, cur = depenses.get_cursor()
+ cur.execute("SELECT idbde FROM comptes WHERE idbde >= 0;")
+ l = cur.fetchall()
+ l = [i[0] for i in l]
+ return l
+
+def line_csv(idbde, li):
+ """Renvoie la liste ``li`` comme une ligne de fichier csv"""
+ return "%s;%s;%s;%s;%s\n" % (idbde, int(li[0]), int(li[1]), '"%s"' % (li[2],), '"%s"' % (li[3],))
+
+def to_csv(data, path):
+ """Écrit le csv."""
+ f = open(path, "w")
+ f.write('''N° de compte;Année;Mois;Dépenses;Gains\n''')
+ idbdes = data.keys()
+ idbdes.sort()
+ for i in idbdes:
+ datai = data[i]
+ for l in datai:
+ f.write(line_csv(i, l))
+ f.close()
+
+def get_all(idbdes, verbose=False):
+ """Récupère toutes les données."""
+ data = {}
+ if verbose:
+ print "Dernier idbde : %s" % (max(idbdes),)
+ for i in idbdes:
+ data[i] = depenses.get_depenses(i, bymonth=True)[0]
+ if i % 100 == 0:
+ if verbose:
+ print i
+ return data
+
+if __name__ == "__main__":
+ idbdes = get_idbdes()
+ data = get_all(idbdes, verbose=True)
+ to_csv(data, "all_past.csv")