2010-02-21 4 views
7

Je sais qu'il existe un plugin xmlrpc pour trac. Mais je ne suis pas mon site de trac et je n'ai pas de droits d'administrateur. J'ai juste un compte utilisateur normal avec des privilèges limités. En plus du faible niveau évident de faire des choses (soumettre des requêtes en émulant un navigateur Web), y a-t-il une meilleure façon de faire?Est-ce que trac possède une API distante?

Je suis principalement intéressé dans ces:

  • Voir la page du wiki
  • page Modifier wiki
  • Soumettre un nouveau billet
  • Voir Ticket
  • Ajouter un commentaire à un billet

Répondre

4

Si vous regardez le "test fonctionnel" dans la source Trac, vous trouverez que nous avons du code qui utilise Trac en utilisant twill. Vous pourriez trouver que c'est un bon point de départ pour faire ce genre de chose.

0

Semble la seule façon de faire cela serait d'émuler le navigateur.

+0

Je serais intéressé de savoir ce que vous entendez par « émuler navigateur », car je ne suis pas au courant de ce que vous faites référence. – RjOllos

+0

Vous auriez besoin de rassembler les noms exacts des champs de formulaire, puis de forger une requête POST en utilisant ces champs (y compris ceux qui sont cachés). Ensuite, la page html revient et vous devez l'analyser pour obtenir les informations nécessaires. Pas très élégant. C'est ce qu'on appelle le webscraping. – Kugel

0

Trac ne fournit pas d'API par défaut. Vous pouvez installer le XmlRpcPlugin. Trac fournit alors un accès anonyme et authentifié à une API via deux protocoles: XML-RPC et JSON-RPC.

Une bibliothèque d'aide pour faciliter l'accès est https://github.com/jakoch/PHPTracRPC

Questions connexes