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.