[tools] Xbmc Skinmanager V0.7


Messages recommandés

Salut tout le monde,

je viens vous présenter un script que je suis en train de faire.

Il s'agit d'un programme qui télécharge, construit et envoie automatiquement les skins du SVN officiel de XBMC ou d'autres skins externes au SVN.

screenshot0._.png

Utilisation : dézippez l'archive où vous voulez, exécutez 'xbmcsm.exe'. Entrez les données de votre console dans l'onglet Configuration (dossier de XBMC et les coordonnées FTP si besoin) ainsi que les tâches à effectuer et les skins à traiter et cliquer sur 'Démarrer'. (l'utilisation est détaillée dans le fichier readme.txt contenu dans l'archive)

Note : Les seuls dashs testés avec succès sont XBMC, UnleashX et Avalaunch

Site officiel

Aux créateurs de skins : Si vous voulez que votre skin apparaisse sur XBMC Skin Manager, contactez moi par PM.

Changelog complet:

0.7 :

  • Port Linux
  • Support des installations locales d'XBMC
  • La fenêtre principale et le dialogue de changelog peuvent avoir une barre de défilement verticale
  • Quelques corrections de bogues

0.61:

  • fixé : les privilèges d'administarteur ne sont plus requis pour faire fonctionner l'application (merci à JoeUser38)
  • fixé : si le test de connextion à Internet échoue, la synchro SVN es sautée
  • changé : la case "Télécharger/Mettre à jour" n'est jamais grisée

0.6:

  • Complètement réécrit (beucoup de petits ajouts, corrections et changements)
  • La compatibilité avec les fichiers XML 0.5x est cassée
  • enlevé : le tag XML langfolder (remplacé par choicefolder type 2)
  • ajouté : les tags XML choicefolder (2 variantes), buildfolder
  • changé : maintenant le dossier du skin construit est auto-détecté (même si le skin et le dossier ne sont pas nommées de la même façon). Donc maintenant la macro [bUILDdir] devrait marcher tout le temps.
  • Les fichiers de langue sont les mêmes que ceux de XBMC (merci à Nuka1195 pour le parseur)

0.51:

  • L'application ne freeze plus pendant les opérations
  • Il est possible de réinitialiser à distance le skin utlisé par XBMC (en cas de skin incompatible)
  • Support des fichiers .BAT avec des arguments
  • Fixé : bug lors de la mise à jour : le xml était téléchargé à chaque fois
  • Fixé : bug lors de l'envoi d'un skin non construit
  • Changé : si la connexion à Internet réussit mais pas celle au SVN, seuls les skins SVN sont concernés
  • Passage à WxPython 2.8.6.1 Unicode
  • Passage à PySVN 1.5.2 (SVN v1.4.5)

0.5:

  • Téléchargement de skins externes au SVN (par HTTP)
  • Possibilité de faire des scripts d'upload personnalisés
  • Le fichier de construction n'est plus obligé de s'appeler 'build.bat' (précisé dans le fichier xml)
  • Amélioration de la boite de changelog
  • Amélioration du liveupdate : le fichier distant n'est téléchargé qu'en cas d'update
  • L'application réagit mieux pendant les opérations
  • Changé : gestion des erreurs : lorsqu'une erreur se produit sur un skin, celui ci n'est plus traité mais les opérations pour les autres skins continuent
  • Fixé : quelques strings étaient manquants dans english.lng
  • Fixé : quelques problèmes de GUI
  • Passage à WxPython 2.8.6.0 Unicode

0.4:

  • LiveUpdate via un fichier xml qui contient des infos relatives à la contruction spécifique de certains skins
  • Interface en WxPython
  • La fonction relocate buggait avec les espaces (PM I & PM II)
  • Réécriture de la partie config (fichier ini)
  • Réécriture de la partie FTP
  • La config est enregistrée lorsque une opération est lancée (en attendant que je trouve comment on fait pour enregistrer à la sortie avec Wx)

0.3d:

  • Changement de l'adresse du serveur SVN (les checkouts déjà présents sont déménagés autmatiquement)
  • L'adresse du serveur SVN est maintenant stockée dans le fichier ini
  • PyInstaller est utilisé à la place de Py2Exe pour 'compiler' le script

0.3c:

  • Correction des problèmes de timeout FTP
  • Ajout d'une dll manquante

0.3b:

  • Correction des problèmes FTP avec plusieurs dash

0.3:

  • Vérifie si le dash utilisé est XBMC (si oui, un message d'avertissement est affiché)
  • Mode 'offline' qui permet d'utiliser le script sans être connecté à Internet
  • Refonte de l'interface
  • Possibilité de scinder les processus (MaJ, build, upload)
  • Amélioration de la gestion des contenus annexes
  • Internationalisation (français + anglais)
  • Meilleure détection de XBMC
  • Problèmes résolus avec PMI & PMII (bug avec les espaces)

0.2:

  • Client SVN (via PySVN) : les skins sont automatiquemnt téléchagés et mis à jour
  • Nettoyage du code
  • Meilleure gestion des fichiers annexes (splash screen, scripts python, interfaces web)
  • Les paramètres sont enregistrés automatiquement à la sortie
  • Lors de l'initialisation de la connexion FTP, le programma vérifie que le dossier de XBMC est correct
  • Correction des problèmes de géométrie des fenêtres

0.1:

  • release initiale

Modifié par juju0
Lien vers le commentaire
Partager sur d'autres sites

Salut,

Version 0.2 postée :sorcerer: , voici les changements :

  • Client SVN (via PySVN) : les skins sont automatiquemnt téléchagés et mis à jour
  • Nettoyage du code
  • Meilleure gestion des fichiers annexes (splash screen, scripts python, interfaces web)
  • Les paramètres sont enregistrés automatiquement à la sortie
  • Lors de l'initlalisation de la connexion FTP, le programma vérifie que le dossier de XBMC est correct
  • Correction des problèmes de géométrie des fenêtres

A bientot pour d'autres nouveautés !

Lien vers le commentaire
Partager sur d'autres sites

Salut, tres belle idée ce soft.

J'ai testé et petit souci: La connection ftp ne pose pas de probleme mais il ne trouve pas XBMC. J'ai pourtant mis le chemin correcte:

/E/Apps/XBMC

Par ailleurs, je me permet une suggestion, ne pourrait on pas scinder Buid et transfert par ftp? En effet, si l'on fait une modif perso sur un skin par exemple, on la pedrait avec l'uppload.

Lien vers le commentaire
Partager sur d'autres sites

Il y a une erreur dans ton chemin.

Essaie E/Apps/XBMC (sans le '/' au début).

Pour ce qui est de scinder les différents processus (MaJ/Build/Upload), je suis en train de refaire l'interface avec des onglets ce qui permettra de mettre beaucoup plus d'options sans pour autant être confus. Je vais donc essayer de mettre ça au point mais ça ne devrait pas poser de problème.

Lien vers le commentaire
Partager sur d'autres sites

Merci pour la réponse rapide,

Le pb doit etre ailleurs car j'ai éssayé avec et sans / lors de mes essais hier. Je viens de retester et j'ai toujours la même erreur.

Voici le contenu du fichier Sender.ini:

[config]

ip = 192.168.0.11

password = xbox

user = xbox

dir = E/Apps/XBMC/

Par ailleurs et juste pour info, sur une autre machine le soft ne se lance pas pour un pb de librairie apparement:

Traceback (most recent call last):

File "XBMC Skin Manager.pyw", line 26, in <module>

File "pysvn\__init__.pyc", line 104, in <module>

File "pysvn\_pysvn_2_5.pyc", line 12, in <module>

File "pysvn\_pysvn_2_5.pyc", line 10, in __load

ImportError: DLL load failed: Le module spécifié est introuvable.

Une question, vu que je n'ai pas pu aboutir dans mes testes, l'uppload par FTP va t'il ecraser les fichiers présents ou supprimer tout le dossier du skin avant uppload?

Lien vers le commentaire
Partager sur d'autres sites

Je n'ai pas bien compris ton problème : le programme ne repère pas XBMC ou il plante au milieu de l'upload ?

Parce qu'une erreur au cours de l'up peut venir du fait que tu essaie d'écraser des fichiers en cours d'utilisation : ça arrive si tu met à jour le skin que tu est en train d'utiliser.

Lors de l'upload, le dossier du skin est effacé et remplacé par la nouvelle version du skin.

Et pour l'erreur que tu m'a donné, on dirait que tu exécute le script et non l'exécutable. Si c'est le cas, il te faut la librairie PySVN qui ne fait pas partie de la librairie standard, il te faut donc l'installer, va sur la pages des téléchagements. Si par contre c'est l'exécutable qui te sort cette erreur, je ne vois pas du tout d'où peut venir le problème.

Lien vers le commentaire
Partager sur d'autres sites

1:

Voila de mémoire le message d'erreur lorsque j'essaye le soft sur la machine ou il ne pose pas de problème pour se lancer:

Connection ftp réussie

Impossible de trouver XBMC

Je suis sous évolution X lors de mes essais.

Je viens de faire un essai avec xbmc lancé (je l'ai interrompu immédiatement, je sais qu'il ne faut pas changer les skins en cours d'utilisation) et la ca fonctionne.

Conclusion, le problème vient certainement du serveur ftp de Evolution x. Je vais installer Unlesh en appli pour d'autres essais.

2/:

Pour le second problème, laisse tomber, c'est sur une autre machine et elle m'a l'air défaillante aussi bien en hard qu'en soft. J'ai essayé avec deux autres PC et pas de pb pour lancer le soft. (Mais je lancais bien l'exe)

EDIT Avec unleshX ca roule. Le problème venait bien du serveur FTP de Evox.

Sinon j'ai une derniere suggestion, un gestionnaire de connection pour ceux qui possedent plusieurs Xbox sur leur réseau.

Mes prochains test, les scripts Python directement sous linux.

@ + et bon dimanche

Shaitan

Modifié par shaitan
Lien vers le commentaire
Partager sur d'autres sites

Un probleme chasse l'autre:

Connexion...

Connexion FTP réussie

Installation de XBMC repérée

Téléchargement des skins...

Téléchargement de Vision terminé (1/1)

Constuction des skins...

Construction de Vision terminée (1/1)

Envoi des skins...

Impossible d'ouvrir le répertoire du skin

Répertoire courant:E:\XBMC Skin Manager\Skins\Vision\BUILD

Je refais une tentative et je joindrais le log.

Edit: deuxieme tentative avec meme résultat et avec un autre skin.: le log est tres cours, je le met en clair ici:

Exception in Tkinter callback

Traceback (most recent call last):

File "Tkinter.pyc", line 1403, in __call__

File "XBMC Skin Manager.pyw", line 310, in buildLoop

File "XBMC Skin Manager.pyw", line 171, in listlocal

ClientError: 'xTV' is not a working copy

A voir si ca ne vient pas du coté du serveur SVN, j'ai vu qu'il y avait eu des problèmes ces jours ci.

Modifié par shaitan
Lien vers le commentaire
Partager sur d'autres sites

Modhack, je me permet de te répondre à ce sujet étant donné que j'avais déja posé la question plus haut et que Juju0 avait définit ses projets:

Pour ce qui est de scinder les différents processus (MaJ/Build/Upload), je suis en train de refaire l'interface avec des onglets ce qui permettra de mettre beaucoup plus d'options sans pour autant être confus. Je vais donc essayer de mettre ça au point mais ça ne devrait pas poser de problème.
Lien vers le commentaire
Partager sur d'autres sites

Nouvelle version (0.3) postée :sorcerer: . Voici le changelog:

  • Vérifie si le dash utilisé est XBMC (si oui, un message d'avertissement est affiché)
  • Mode 'offline' qui permet d'utiliser le script sans être connecté à Internet
  • Refonte de l'interface
  • Possibilité de scinder les processus (MaJ, build, upload)
  • Amélioration de la gestion des contenus annexes
  • Internationalisation (français + anglais)
  • Meilleure détection de XBMC
  • Problèmes résolus avec PMI & PMII (bug avec les espaces)

Au sujet de l'internationalisation, j'ai fait un fichier 'english.lng' mais mon anglais est loin d'être parfait, donc si quelqu'un qui a un bon niveau d'anglais pouvait y jeter un oeil pour voir s'il n'y a pas de corrections à faire, je le remercie d'avance.

Pour ce qui est du gestionnaire de sessions, je vais m'y mettre mais ça risque de prendre du temps (c'est pour ça que je ne l'ai pas intégré dans cette release).

Modifié par juju0
Lien vers le commentaire
Partager sur d'autres sites

Test effectué:

Le seul problème constaté concerne le serveur FTP à utiliser sur la console, autrement dit le bon Dashboard. Lequel as tu utilisé pour tes essais?

Pour ma part il n'y a que avec XBMC que l'envoi se fait bien (je n'ai pas upploadé le skin en cours d'utilisation bien sur)

Essais infructueux avec Evox, Unleashx et Avalaunch. Pas de log d'erreur, juste Xbmc non trouvé avec Avalaunch alors qu'avec Unleshx ca indique connection ftp réussie puis plus rien.

Lien vers le commentaire
Partager sur d'autres sites

Va y, bosse, :P

Je trouve en fait ce soft hyper pratique d'une part parce qu'il permet d'automatiser une tache fastidieuse et quand bien meme tortoise est tres facile le fait d'avoir les changelogs dispos en un click est tres agréable.

C'etait la minute d'encouragement d'un testeur betâ.

@+

Lien vers le commentaire
Partager sur d'autres sites

Bonsoir à tous,

voici la version 0.3b, le seul changement est que UnleashX et Avalaunch marchent maintenant comme il faut, j'ai testé Evox et AnodX mais ils posent encore des problèmes et je ne sais pas si je les corrigerais.

Par contre il risque de ne pas y avoir d'update pendant un moment maintenant, non seulement parce que j'ai de moins en moins de temps et puis j'ai d'autres projets à bosser.

Lien vers le commentaire
Partager sur d'autres sites

  • 3 weeks later...

Bonsoir,

tout d'abord merci et félicitations pour ton script, il est très utile.

juste un conseil si lors de la première utilisation du script vous avez cette erreur dans le log, il suffit d'ajouter MSVCP71.DLL dans le dossier du script.

Traceback (most recent call last):

File "XBMCsm.pyw", line 35, in <module>

File "pysvn\__init__.pyc", line 104, in <module>

File "pysvn\_pysvn_2_5.pyc", line 12, in <module>

File "pysvn\_pysvn_2_5.pyc", line 10, in __load

ImportError: DLL load failed: The specified module could not be found.

D'ailleurs juju0, si tu pouvais ajouter la dll dans le fichier zip...

et encore merci pour le script

Donbi

Lien vers le commentaire
Partager sur d'autres sites

Salut à tous,

voici une nouvelle version avec deux petits changements :

- Tout d'abord j'ai rajouté MSVCP71.DLL dans le zip car elle n'est pas forcément présente dans le dossier de Windows (merci à donbi d'avoir signalé le problème)

- Il arrivait que le timeout de certains dash soit atteint si la mise à jour et/ou construction des skins était trop longue (5 minutes). Maintenant la connexion est initialisée en début de séquence (pour tester l'installation de la xbox), coupée puis réinitialisée lors de l'upload (à condition que vous n'ayez pas éteint la xbox entre temps :P )

Lien vers le commentaire
Partager sur d'autres sites

  • 4 weeks later...

Bonjour à tous,

Voilà une nouvelle petite mise à jour qui corrige l'adresse du serveur SVN (qui au passage est maintenant dans le fichier ini, comme ça plus besoin de tout mettre à jour si il y a un nouveau changement).

Une autre nouveauté est que j'utilise PyInstaller pour compiler le script : il n'y a maintenant plus qu'un exécutable pour le programme (plus les fichiers de langue), faites moi savoir si vous rencontrez d'éventuels problèmes de dll. Pour la mise à jour vous pouvez supprimer tout le contenu de votre répertoire d'installation (sauf le dossier Skins) et mettre les fichiers contenus dans le .zip à la place.

Pour la version 0.4, je travaille déjà sur une interface en Wx qui aura le look normal d'une application Windows mais elle ne sera pas finie tout de suite : je n'aurais pas beaucoup de temps libre avant le mois d'août .

Lien vers le commentaire
Partager sur d'autres sites

  • 1 month later...

Bonjour à tous,

Voici, après un moment sans réelle nouveauté, la version 0.4 qui apporte surtout une toute nouvelle interface en WxPython qui a le style natif de Windows et une mise à jour automatique de certains éléments via un fichier XML.

Voici le changelog complet:

  • LiveUpdate via un fichier xml qui contient des infos relatives à la contruction spécifique de certains skins
  • Interface en WxPython
  • La fonction relocate buggait avec les espaces (PM I & PM II)
  • Réécriture de la partie config (fichier ini)
  • Réécriture de la partie FTP
  • La config est enregistrée lorsque une opération est lancée (en attendant que je trouve comment on fait pour enregistrer à la sortie avec Wx)

Pour les prochaines versions, je prévois, si les créateurs de skins sont d'accord, de mettre en place un système pour télécharger les skins qui ne sont pas sur le SVN.

A bientôt !

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share