PDA

Voir la version complète : Script Python - AutoUpdater



gr4ph0s
12/07/2015, 15h52
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.


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 !


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:


<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


<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.