Skip to content

Utiliser un fichier .gsb d'une ancienne version

Ludovic Rousseau edited this page Feb 3, 2019 · 9 revisions

La version du fichier de comptes .gsb a changé à partir de la version 1.1 de grisbi, comme dans cet EXEMPLE :

En-tête d’un fichier Grisbi version 1.1.1 :

<?xml version="1.0"?>
<Grisbi>
	<General
		File_version="1.1.1"
		Grisbi_version="1.1.1"
		Archive_file="0"

En-tête d’un fichier Grisbi version 1.0.x

<?xml version="1.0"?>
<Grisbi>
	<General
		File_version="0.6.0"
		Grisbi_version="1.0.1"
		Crypt_file="0"
		Archive_file="0"

Pour convertir la version d'un fichier .gsb, il suffit donc de remplacer File_version et Grisbi_version par les valeurs de la version cible.

Le script suivant permet d'utiliser un fichier de version 1.0 avec grisbi 1.1 et suivants, et de reconvertir le fichier en version 1.0 après fermeture de grisbi. Il s'agit d'un script très simple, que vous pourrez adapter à vos besoins.

#!/bin/bash

# J'ai le problème suivant : j'ai un fichier de comptes personnels
# (comptes.gsb), utilisé par une personne avec Grisbi 1.0, et je veux
# utiliser grisbi version 1.2 pour participer au débogage et à la mise à
# jour de la documentation.

# Il faut donc qu'après chaque utilisation de grisbi 1.2 (qui met à jour
# automatiquement la version du fichier de comptes en 1.2), ce fichier
# de comptes soit converti en version compatible 1.0 (en fait en version
# 0.6) pour que grisbi 1.0 (ou les autres versions depuis la 0.6) puisse
# l'utiliser.

# Voici donc un très petit script qui fait ça automatiquement.

# Le processus est le suivant :

# - le fichier de comptes créé précédemment par grisbi 1.0 (GTK2) est
# supposé en version 0.6.0

# - lancement de grisbi 1.2 (GTK3) par ce script ; grisbi exécute
# /usr/local/bin/grisbi en version  1.2 compilée localement :

/usr/local/bin/grisbi /home/chemin de votre fichier de comptes/comptes.gsb

# - quand l'utilisateur quitte grisbi 1.2 (GTK3), exécution des
# commandes pour convertir le fichier de comptes en version 1.0 (GTK2) :

cd /home/chemin de votre fichier de comptes

# - conversion de File_version

sed -i -e "4s/1.2.1/0.6.0/g" comptes.gsb

# - conversion de Grisbi_version

sed -i -e "5s/1.1.95/1.0.4/g" comptes.gsb

# -le fichier de comptes est enregistré en version 1.2

# NB : les numéros de version 1.2.1 et 1.1.95 ci-dessus doivent être
# remplacés par les nouvelles valeurs si les versions ont changé, sinon
# la conversion ne se fait pas.

# Un autre utilisateur peut alors ouvrir le même fichier avec grisbi 1.0