Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
precise-creer-unity-lens [Le 21/02/2013, 13:31] – ajout tags 80.13.73.109precise-creer-unity-lens [Le 07/06/2017, 14:01] (Version actuelle) – tag, et note intro L'Africain
Ligne 1: Ligne 1:
-{{tag>Precise unity-lens programmation python quickly}}+{{tag>unity programmation python À_RECYCLER}}
  
 ====== Créer une loupe Unity ====== ====== Créer une loupe Unity ======
 +<note warning>Quickly étant abandonné cette page est obsolète, il serait utile tout de même de la recycler pour proposer une autre methode pour créer des loupes</note>
 Le Dash Unity propose une manière simple et conviviale de visionner du contenu intéressant. À l'aide des Loupes, il est désormais possible de rechercher une information en local et sur le Web. Dans cet article, nous apprendrons à construire facilement une loupe permettant de chercher confortablement un article de Wikipédia, directement depuis votre Bureau. Le Dash Unity propose une manière simple et conviviale de visionner du contenu intéressant. À l'aide des Loupes, il est désormais possible de rechercher une information en local et sur le Web. Dans cet article, nous apprendrons à construire facilement une loupe permettant de chercher confortablement un article de Wikipédia, directement depuis votre Bureau.
  
Ligne 9: Ligne 10:
 ===== Prérequis ===== ===== Prérequis =====
 Pour suivre ce tutoriel, vous aurez besoin de : Pour suivre ce tutoriel, vous aurez besoin de :
-  * [[precise|Ubuntu 12.04 LTS (« The Precise Pangolin »)]] +  * [[precise|Ubuntu 12.04]] (ou version ultérieure: 12.10,13.04,...)
-  * [[quickly|Quickly]] +
-  * [[quickly-unity-lens-template|Quickly Unity Lens Template]] +
- +
-Vous pouvez installer ces deux derniers en un clic **[[apt>quickly,quickly-unity-lens-template|ici]]**.+
  
 ===== Créer la loupe Wikipédia ===== ===== Créer la loupe Wikipédia =====
Ligne 108: Ligne 105:
 <code=python>return results[1]</code> <code=python>return results[1]</code>
  
-Notre fonction ''wikipedia_query'' devrait ressembler au code ci-dessous. On a ici ajouté un ''try'' et un ''except'' afin de prendre en compte des éventuelles erreurs qui pourraient survenir (erreur de réseau, erreur de transmission des résultats, etc.). S'il y a une erreur, un message s'affichera dans la console et une liste de résultats vide sera renvoyée.+Notre fonction ''wikipedia_query'' devrait ressembler au code ci-dessous. On a ici ajouté un ''try'' et un ''except'' afin de prendre en compte des éventuelles erreurs qui pourraient survenir (erreur de réseau, erreur de transmission des résultats, etc.). S'il y a une erreur, un message s'affichera dans la console et une liste de résultats vide sera renvoyée
 +<code=python>def wikipedia_query(self,search): 
 +    try: 
 +        search = search.replace(" ", "|"
 +        url = ("%s/w/api.php?action=opensearch&limit=25&format=json&search=%s" % (self.wiki, search)) 
 +        results = simplejson.loads(urllib2.urlopen(url).read()) 
 +        print "Searching Wikipedia" 
 +        return results[1] 
 +    except (IOError, KeyError, urllib2.URLError, urllib2.HTTPError, simplejson.JSONDecodeError): 
 +        print "Error : Unable to search Wikipedia" 
 +        return []</code>
  
 **Dès lors, tout ce que nous aurons à faire est de « brancher » cette nouvelle fonction à la fonction ''search'' définie plus haut.** **Dès lors, tout ce que nous aurons à faire est de « brancher » cette nouvelle fonction à la fonction ''search'' définie plus haut.**
Ligne 123: Ligne 130:
     pass     pass
 </code> </code>
-On pourrait traduire ce code par : « À chaque résultat renvoyé renvoyé par la fonction ''wikipedia_query'', ajouter un article à la loupe ».+On pourrait traduire ce code par : « À chaque résultat renvoyé par la fonction ''wikipedia_query'', ajouter un article à la loupe ».
 Ce qui se passe dans ''results.append'' est très important pour comprende ce que nous pourront afficher dans une loupe. Voici ce dont nous avons besoin pour passer les résultats à Unity (**ne copiez pas ce code, il ne fonctionnera pas !**) : Ce qui se passe dans ''results.append'' est très important pour comprende ce que nous pourront afficher dans une loupe. Voici ce dont nous avons besoin pour passer les résultats à Unity (**ne copiez pas ce code, il ne fonctionnera pas !**) :
 <code=python> <code=python>
Ligne 138: Ligne 145:
 ===== Utiliser votre loupe ===== ===== Utiliser votre loupe =====
 Vous pouvez maintenant faire apparaître votre loupe dans le Dash en tapant la commande suivante dans le Terminal : Vous pouvez maintenant faire apparaître votre loupe dans le Dash en tapant la commande suivante dans le Terminal :
-<code>sudo quickly install</code>+<code>sudo quickly install</code> (l'écran devrait clignoter 2-3 fois, ne pas s'inquiéter, c'est juste Unity qui se relance pour prendre en compte la nouvelle loupe fraîchement crée)
 ...et le démarrer en tapant : ...et le démarrer en tapant :
-<code>quickly run</code>+<code>quickly run</code><note>Il est possible que vous obteniez cette erreur en lançant cette commande:<code>Traceback (most recent call last): 
 +  File "bin/wikipedia", line 30, in <module> 
 +    from wikipedia import WikipediaLens 
 +  File "/home/user/wikipedia/wikipedia/__init__.py", line 41 
 +SyntaxError: Non-ASCII character '\xc3' in file /home/user/wikipedia/wikipedia/__init__.py on line 41, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details</code>Pour y remedier, il suffit juste d'ajouter la ligne suivante au début du fichier (juste avant les 'import'):<code=python># -*- coding:utf-8 -*-</code>... et de relancer la commande suivante: <code>sudo quickly install && quickly run</code></note>
 {{http://developer.ubuntu.com/wp-content/uploads/2012/04/Screenshot-from-2012-03-30-172604-700x359.png}}\\ {{http://developer.ubuntu.com/wp-content/uploads/2012/04/Screenshot-from-2012-03-30-172604-700x359.png}}\\
 Il fait ce qu'il a à faire, c'est bien, voyons maintenant comment l'améliorer… Il fait ce qu'il a à faire, c'est bien, voyons maintenant comment l'améliorer…