Salut tout le monde !
Ce scripte sera principalement utile pour les codeurs eux même.
Il à pour but de faire une mise à jour des fichiers.
La classe est disponible ici https://github.com/gr4ph0s/C4D-AutoUpdater avec un exemple fourni.
Bref comment l'utiliser?
Tout d'abord voici son intégration très simpliste.
Code PHP:
update = updater()
if update.needUpdate() == True:
print 'je fait une update'
update.doUpdate()
update.cleanFile() #On clean les fichiers tempo
print 'Update Fini'
else:
if update.server_XML != False:
update.cleanFile() #On clean les fichiers tempo
print "Pas besoin d'update"
N'oublier pas de changer l'URL de votre plugin dans la class
Attention il est important que l'url ce termine avec un slash !
Code PHP:
self.server_URL_FOLDER = "http://gr4ph0s.free.fr/plugin/PivotMaster/File/"
Après vous aurez besoin de 1 fichier version.xml à la racine de votre script. Celui si ce compose de cette façon:
Code:
<collection shelf="updater">
<revision title="MainRevision">
<version>1</version>
</revision>
<file title="str_fr_test.txt">
<dir>res/strings_fr/</dir>
<fileName>test.txt</fileName>
<version>1</version>
</file>
</collection>
La révision = chaque changement. Pour chaque changement que vous voulez effectuer vous devez incrémenter cette valeur.
<file title="str_fr_test.txt"> = Le nom UNIQUE du fichier
<dir>res/strings_fr/</dir> = Le répertoire où le fichier sera sur le serveur ET en local. Attention il est important qu'il ce termine par un slash ! Si vous souhaitez mettre un fichier à la racine du script écrivez : None
<fileName>test.txt</fileName> = Le nom du fichier, celui-ci eux être identique tant que le <file title est différent.
<version>1</version> = la version du fichier. Ainsi vous pouvez sélectionner les fichier à mettre à jour.
De la même façon vous devez créer un version.xml sur votre serveur.
En gardant en local le précédant version.xml et en utilisant le version.xml suivant
Code:
<collection shelf="updater">
<revision title="MainRevision">
<version>2</version>
</revision>
<file title="test.txt">
<dir>None</dir>
<fileName>test.txt</fileName>
<version>1</version>
</file>
<file title="test.txt2">
<dir>None</dir>
<fileName>test2.txt</fileName>
<version>1</version>
</file>
<file title="str_fr_test.txt">
<dir>res/strings_fr/</dir>
<fileName>test.txt</fileName>
<version>2</version>
</file>
</collection>
Les fichiers mise à jours seront :
- version.xml
- test2.txt dans le dossier racine qui n'existait pas auparavant.
- test.txt dans le dossier res/strings_fr/ qui lui est mis à jour.
Les fichiers non mis à jour seront :
- test.txt dans le racine car sa version serveur est identique à sa version local.