Ok Je suis en train de programmer un moyen d'interface avec Grooveshark (http://grooveshark.com). En ce moment j'ai une classe Grooveshark et plusieurs méthodes, on obtient une session avec le serveur, un autre obtient un jeton basé sur la session et un autre est utilisé pour construire des appels api au serveur (et d'autres méthodes l'utilisent). En ce moment, je l'utilise comme si .... Remarque utilise tordu et torsadé tidefer dansConception d'une interface vers un site Web api
g = Grooveshark()
d = g.get_session()
d.addCallback(lambda x: g.get_token())
## and then something like.... ##
g.search("Song")
Je trouve ce sens unpythonic et laid, même après l'initialisation de la classe, vous devez appeler deux méthodes d'abord, ou bien les autres méthodes ne fonctionnera pas. Pour résoudre ce problème, j'essaie de faire en sorte que la méthode qui crée les appels api prenne en charge la session et le jeton. Actuellement, ces deux méthodes (les méthodes de session et de jeton) définissent des variables de classe et ne retournent rien (bien, aucune). Donc ma question est, est-ce qu'il y a un design commun utilisé pour l'interfaçage avec des sites qui nécessitent des jetons et des sessions? De plus, le jeton et session sont récupérés à partir d'un serveur, donc je ne peux pas les exécuter dans la méthode initialisation (comme il le ferait bloc ou ne peut pas être fait avant un appel api est fait)
Je pense que le titre de votre question est un peu trompeur. Je l'ai lu et je pensais que vous étiez en train de concevoir une interface utilisateur pour une API existante (quelque chose comme api.jquery.com), et non une API. –