Différences entre les versions de « Utilisateur:LenaS »
(12 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 255 : | Ligne 255 : | ||
# apiKey | # apiKey | ||
− | |||
− | |||
− | |||
− | |||
− | + | def getLatLong(adresse, apiKey) : | |
− | + | adresse = quote(adresse) | |
− | + | apiURL = "https://api.tomtom.com/search/2/geocode" | |
− | + | tomtomURL = "{0}/{1}.json?limit=1&countrySet=BE,FR&language=fr-FR&key={2}".format(apiURL,adresse,apiKey) | |
− | getData = urlopen( | + | getData = urlopen(tomtomURL).read() |
− | + | result = json.loads(getData) | |
− | + | lat = result['results'][0]['position']['lat'] | |
− | + | long = result['results'][0]['position']['lon'] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | def getRoute(pointA, pointB, apiKey) : | ||
+ | lat1 = pointA[0] | ||
+ | lon1 = pointA[1] | ||
+ | lat2 = pointB[0] | ||
+ | lon2 = pointB[1] | ||
+ | apiURL = "https://api.tomtom.com/routing/1/calculateRoute" | ||
+ | tomtomURL = "{0}/{1}%2C{2}%3A{3}%2C{4}/json?instructionsType=text&language=fr-FR&computeBestOrder=false&routeRepresentation=summaryOnly§ionType=pedestrian&avoid=unpavedRoads&travelMode=pedestrian&key={5}".format(apiURL,lat1,lon1,lat2,lon2,apiKey) | ||
+ | getData = urlopen(tomtomURL).read() | ||
+ | result3 = json.loads(getData) | ||
+ | return result['routes'][0]['guidance']['instructions'] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | def getPointMilieu(route) : | |
− | + | nbPoints = len(route) | |
+ | currentPoint = int(nbPoints/2) | ||
− | print( | + | #print(route[currentPoint1]['point']['latitude']) |
− | + | #print(route[currentPoint1]['point']['longitude']) | |
+ | #1 km +- = à km_lat degrés | ||
+ | km_lat = 0.0090437173295 | ||
+ | #r correspond environ à un rayon de 25 km | ||
+ | r = 7*km_lat | ||
− | # | + | #bouger le point |
− | + | currentPointLat = ((route[currentPoint]['point']['latitude'])+r) | |
− | + | currentPointLon = ((route[currentPoint]['point']['longitude'])+r) | |
− | + | return (currentPointLat, currentPointLon) | |
− | |||
− | #1 | + | #etape 1 |
− | + | pointDepart = getLatLong("87 rue du page, Bruxelles", apiKey) | |
− | + | pointArrivee = getLatLong("9 rue du métal, Bruxelles", apiKey) | |
− | |||
− | |||
− | |||
− | |||
− | # | + | #etape 2 |
− | + | route = getRoute(pointDepart, pointArrivee, apiKey) | |
− | |||
− | + | print(route[0]['point']['latitude']) | |
− | + | #donne le nombre d epoint présent dans le tableau | |
− | # | + | print(len(route)) |
− | |||
− | |||
− | |||
− | + | #etape 3 | |
− | + | pointMilieu = getPointMilieu(route) | |
− | |||
− | |||
− | # | + | #etape 4 |
− | + | route2 = getRoute(pointDepart, pointMilieu, apiKey) | |
− | + | #stoker trajet dans tableau | |
− | # | + | trajet.append(route2) |
− | |||
− | |||
− | + | #etape 5 | |
− | + | route3 = getRoute(pointMilieu, pointArrivee, apiKey) | |
− | |||
− | |||
− | |||
− | # | + | #etape 6 |
− | + | pointMilieu2 = getPointMilieu(route3) | |
− | |||
− | |||
− | |||
− | |||
− | # | + | #etape 7 |
+ | route4 = getRoute(pointMilieu, pointMilieu2, apiKey) | ||
+ | trajet.append(route4) | ||
− | trajet | + | route5 = getRoute(pointMilieu2, pointArrivee, apiKey) |
− | + | trajet.append(route5) | |
− | + | #etape 8 | |
+ | print(trajet[0]['route'][0]['guidance']['instruction'][0]['message']) | ||
+ | |||
+ | |||
+ | </source> | ||
+ | |||
+ | Version corrigée: | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | |||
+ | |||
+ | #!/usr/bin/env python3 | ||
+ | # coding: utf-8 | ||
+ | |||
+ | import requests | ||
+ | import json | ||
+ | import sys | ||
+ | import time | ||
+ | import datetime | ||
+ | import random | ||
+ | |||
+ | from urllib.request import urlopen | ||
+ | from urllib.parse import quote | ||
+ | |||
+ | #créer un tableau pour stocker les trajets | ||
+ | trajet = [] | ||
+ | |||
+ | # apiKey | ||
+ | |||
+ | def getLatLong(adresse, apiKey) : | ||
+ | adresse = quote(adresse) | ||
+ | apiURL = "https://api.tomtom.com/search/2/geocode" | ||
+ | tomtomURL = "{0}/{1}.json?limit=1&countrySet=BE,FR&language=fr-FR&key={2}".format(apiURL,adresse,apiKey) | ||
+ | |||
+ | getData = urlopen(tomtomURL).read() | ||
+ | result = json.loads(getData) | ||
+ | |||
+ | lat = result['results'][0]['position']['lat'] | ||
+ | long = result['results'][0]['position']['lon'] | ||
+ | return(lat, long) | ||
+ | |||
+ | def getRoute(pointA, pointB, apiKey) : | ||
+ | lat1 = pointA[0] | ||
+ | lon1 = pointA[1] | ||
+ | lat2 = pointB[0] | ||
+ | lon2 = pointB[1] | ||
+ | apiURL = "https://api.tomtom.com/routing/1/calculateRoute" | ||
+ | tomtomURL = "{0}/{1}%2C{2}%3A{3}%2C{4}/json?instructionsType=text&language=fr-FR&computeBestOrder=false&routeRepresentation=summaryOnly§ionType=pedestrian&avoid=unpavedRoads&travelMode=pedestrian&key={5}".format(apiURL,lat1,lon1,lat2,lon2,apiKey) | ||
+ | getData = urlopen(tomtomURL).read() | ||
+ | result = json.loads(getData) | ||
+ | #print("##################calcul de route") | ||
+ | #print(result) | ||
+ | #print("##################fin calcul de route") | ||
+ | return result['routes'][0]['guidance']['instructions'] | ||
+ | |||
+ | |||
+ | def getPointMilieu(route) : | ||
+ | nbPoints = len(route) | ||
+ | currentPoint = int(nbPoints/2) | ||
+ | |||
+ | |||
+ | #print(route[currentPoint]['point']['latitude']) | ||
+ | #print(route[currentPoint]['point']['longitude']) | ||
+ | |||
+ | #1 km +- = à km_lat degrés | ||
+ | km_lat = 0.0090437173295 | ||
+ | #r correspond environ à un rayon de 25 km | ||
+ | r = (0.1 + random.random() * 0.9 ) *km_lat | ||
+ | |||
+ | #bouger le point | ||
+ | currentPointLat = ((route[currentPoint]['point']['latitude'])+r) | ||
+ | currentPointLon = ((route[currentPoint]['point']['longitude'])+r) | ||
+ | |||
+ | #print(currentPointLat) | ||
+ | #print(currentPointLon) | ||
+ | |||
+ | return (currentPointLat, currentPointLon) | ||
+ | |||
+ | #etape 1 | ||
+ | pointDepart = getLatLong("87 rue du page, Bruxelles", apiKey) | ||
+ | pointArrivee = getLatLong("9 rue du métal, Bruxelles", apiKey) | ||
+ | |||
+ | #etape 2 | ||
+ | route = getRoute(pointDepart, pointArrivee, apiKey) | ||
+ | |||
+ | print(route[0]['point']['latitude']) | ||
+ | #donne le nombre d epoint présent dans le tableau | ||
+ | print(len(route)) | ||
+ | |||
+ | |||
+ | |||
+ | for i in range(0, 10): | ||
+ | print("calcul de section %s" % i) | ||
+ | |||
+ | pointMilieu = getPointMilieu(route) | ||
+ | route2 = getRoute(pointDepart, pointMilieu, apiKey) | ||
+ | print("nombre d'étapes dans cette portion: %s " % len(route2)) | ||
+ | |||
+ | if(i > 0): | ||
+ | del route2[0] | ||
+ | |||
+ | del route2[-1] | ||
+ | |||
+ | #stoker trajet dans tableau | ||
+ | ''' | ||
+ | for etape in route2: | ||
+ | print(etape['message']) | ||
+ | ''' | ||
+ | |||
+ | trajet.append(route2) | ||
+ | #etape 5 | ||
+ | route = getRoute(pointMilieu, pointArrivee, apiKey) | ||
+ | pointDepart = pointMilieu | ||
+ | |||
+ | |||
+ | del route[0] | ||
+ | for etape in route: | ||
+ | print(etape['message']) | ||
+ | trajet.append(route) | ||
+ | |||
+ | print(len(trajet)) | ||
+ | |||
+ | |||
+ | #etape 8 | ||
+ | #le premier 0 correspond à la première portion du trajet et le deuxième au premier message de cette portion. | ||
+ | |||
+ | for portion in trajet : | ||
+ | for etape in portion : | ||
+ | print (etape['message']) | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | Lister les messages qui citent l'utilisateur | ||
+ | <syntaxhighlight lang="python"> | ||
+ | tweets = tweepy.Cursor(api.search, q='@par_labas', tweet_mode='extended').items(10) | ||
+ | for tweet in tweets: | ||
+ | print(tweet.full_text) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | OU | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | tweets = api.mentions_timeline() | ||
+ | for tweet in tweets: | ||
+ | print(tweet.created_at) | ||
+ | print(tweet.user.screen_name) | ||
+ | print(tweet.full_text) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Récupérer les messages et l'adresse | ||
+ | <syntaxhighlight lang="python"> | ||
+ | #!/usr/bin/env python3 | ||
+ | # coding: utf-8 | ||
+ | |||
+ | from accès import * | ||
+ | import tweepy | ||
+ | import time | ||
+ | import parser | ||
+ | |||
+ | def saveTweetMoment(moment): | ||
+ | file = open("execution.txt", "w") | ||
+ | file.write(moment) | ||
+ | file.close() | ||
+ | |||
+ | |||
+ | auth = tweepy.OAuthHandler(consumer_key, consumer_secret) | ||
+ | auth.set_access_token(access_token, access_token_secret) | ||
+ | |||
+ | api = tweepy.API(auth) | ||
+ | |||
+ | |||
+ | tweets = api.mentions_timeline(tweet_mode='extended') | ||
+ | |||
+ | tweetATraiter = False | ||
+ | |||
+ | file = open("execution.txt", "r") | ||
+ | dernierMomentTweet = file.read() | ||
+ | |||
+ | for tweet in tweets: | ||
+ | #vérifier si ce tweet a déjà été traité | ||
+ | if(str(tweet.created_at) == dernierMomentTweet): | ||
+ | #si c'est le cas, alors on quitte la boucle | ||
+ | break | ||
+ | #si ce n'est pas le cas | ||
+ | tweetATraiter = tweet | ||
+ | |||
+ | print(tweet.created_at) | ||
+ | print(tweet.user.screen_name) | ||
+ | print(tweet.full_text) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | #si la variable tweetAtraiter est égale à False alors on n'a rien à traiter | ||
+ | if(tweetATraiter == False): | ||
+ | exit() | ||
+ | |||
+ | #sinon on doit commencer le traitement | ||
+ | print(tweetATraiter.full_text) | ||
+ | |||
+ | adresses = tweetATraiter.full_text.split('à') | ||
+ | |||
+ | adresses[0] = adresses[0].replace('@par_labas\nDe ', '') | ||
+ | |||
+ | if(len(adresses) != 2): | ||
+ | print("problème: le tweet n'est pas compatible") | ||
+ | saveTweetMoment(str(tweetATraiter.created_at)) | ||
+ | exit() | ||
+ | |||
+ | |||
+ | ####ICI on a deux adresses à envoyer à TomTom | ||
+ | print("adresse de départ:"+adresses[0]) | ||
+ | print("adresse d'arrivée:"+adresses[1]) | ||
+ | |||
+ | saveTweetMoment(str(tweetATraiter.created_at)) | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Changer le texte en image | ||
+ | <syntaxhighlight lang="python"> | ||
+ | #!/usr/bin/env python3 | ||
+ | # coding: utf-8 | ||
+ | ''' | ||
+ | from PIL import Image, ImageDraw, ImageFont | ||
+ | ''' | ||
+ | |||
+ | img = Image.new('RGB', (200, 100)) | ||
+ | d = ImageDraw.Draw(img) | ||
+ | d.text((20, 20), 'Hello', fill=(255, 0, 0)) | ||
+ | |||
+ | |||
+ | text_width, text_height = d.textsize('Hello') | ||
+ | |||
+ | img = Image.new('RGB', (200, 100), (255, 255, 255)) | ||
+ | |||
+ | |||
+ | import io | ||
+ | s = io.BytesIO() | ||
+ | img.save(s, 'png') | ||
+ | in_memory_file = s.getvalue() | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Combien de boucle a faire (essai) | ||
+ | <syntaxhighlight lang="python"> | ||
+ | #faire une boucle pour demander combien de fois l'on veut calculer le trajet | ||
+ | |||
+ | print("Combien de fois tu veux te perdre?") | ||
+ | i = raw_input() | ||
+ | for i in range(0, i) : | ||
+ | getRoute | ||
+ | </syntaxhighlight> |
Version actuelle datée du 25 mai 2020 à 14:04
Python
Pourquoi ne pas essayer d'inverser le premier et dernier mot de chaque phrases. Ainsi que la première et la dernière lettre du premier mot de chaque phrases.
Résultats programmes :
Les editions
m'avaient donne
un grand roman
Cest vrai ou faux
Cest nomr ou blanc
le code binaire
L ORDINATEUR
Zeros et uns
Repetition,
Saut a la ligne,
«Le Canape»
une mission :
transformiste.
un ou zero
larme amme bien
touts est tres claire
Circuits Immenses
Rythment le cod(e).
Zeros et uns
C’est un secret.
Les :
«Le un
ou donne
une un editions
Canape» grand roman
ou
Cest vrai m’avaient faux
mission transformiste. zero
Cest nomr binaire blanc
larme amme bien
claire code ou
touts est tres le
ORDINATEUR L
et le
Zeros Circuits uns
et Immenses a
la
Zeros Rythment uns
Saut cod(e). Repetition, un
C’est ligne, :
Les editions
«Le Caaouuuuunaaouuuuupe»
m’aaouuuuuvaaouuuuuient donne
une mission :
un Grrrrraaouuuuund romaaouuuuun
traaouuuuunsformiste.
Cest vraaouuuuui ou faaouuuuuux
un ou zero
Cest nomr ou blaaouuuuunc
laaouuuuurme aaouuuuumme bien
le code binaaouuuuuire
touts est tres claaouuuuuire
L ORDINATEUR
Circuits Immenses
Zeros et uns
Rythment le cod(e).
Repetition,
Zeros et uns
Saaouuuuuut aaouuuuu laaouuuuu liGrrrrne,
C’est un secret.
- par lena
Tu veux un lysopaine ?
oui
lEs eDiTiOnS
«lE CaAaAhNaAaAhPe»
M’AaAaHvAaAaHiEnT DoNnE
UnE MiSsIoN :
Un gRaAaAhNd rOmAaAaHn
tRaAaAhNsFoRmIsTe.
CeSt vRaAaAhI Ou fAaAaHuX
Un oU ZeRo
cEsT NoMr oU BlAaAaHnC
LaAaAhRmE AaAaHmMe bIeN
Le cOdE BiNaAaAhIrE
ToUtS EsT TrEs cLaAaAhIrE
L OrDiNaAaAhTeUr
cIrCuItS ImMeNsEs
zErOs eT UnS
RyThMeNt lE CoD(E).
RePeTiTiOn,
ZeRoS Et uNs
sAaAaHuT AaAaH LaAaAh lIgNe,
C’EsT Un sEcReT.
L!s !d!t!!ns
«L! C!n!p!»
m’!v!!!nt d!nn!
!n! m!ss!!n :
!n gr!nd r!m!n
tr!nsf!rm!st!.
C!st vr!! !! f!!x
!n !! z!r!
C!st n!mr !! bl!nc
l!rm! !mm! b!!n
l! c!d! b!n!!r!
t!!ts !st tr!s cl!!r!
L !RD!N!T!!R
C!rc!!ts !mm!ns!s
Z!r!s !t !ns
Rythm!nt l! c!d(!).
R!p!t!t!!n,
Z!r!s !t !ns
S!!t ! l! l!gn!,
C’!st !n s!cr!t.
Quel temps pourri...
Le programme exercice de vacances :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import random
a = input("Bienvenue, combien de vers voulez vous recevoir ? : ")
'''
if type(a) != int :
print("Désolé, ce n'est pas un nombre :(")
exit()
'''
rgv1 = int(a)
article = ["touts","Les","Le","Un", "Une", "L'", "ou"]
nom = ["Canape","transformiste","larme", "editions","mission", "roman", "secret", "circuit", "code", "ligne", "ORDINATEUR", "Repetition" "cod(e)", "saut", "zero", "Zeros", "uns"]
complement = ["amme","grand", "vrai", "faux", "noir", "blanc", "binaire", "bien", "claire", "tres", "Immenses"]
verbe = ["m'avaient", "est", "Rythment", "C'est", "donne"]
i = 0
while i < rgv1:
résultat1 = random.choice(article)
résultat2 = random.choice(nom)
résultat3 = random.choice(complement)
résultat4 = random.choice(verbe)
str_a_rendre = résultat1 + " " + résultat2 + " " + résultat3 + " " + résultat4
print(str_a_rendre)
i += 1
J'ai essayer de faire que si on ne met pas un chiffre, cela écrit "désolé mais ce n'est pas un nombre", or, sur l'ordi avec lequel j'ai fais ça marchait, sur le mien plus (pour cela qu'il est en commentaire)...
Bienvenue, combien de vers voulez vous recevoir ? : 10
Un editions vrai m'avaient
Le code Immenses C'est
Le ORDINATEUR tres donne
Une larme grand donne
Les ligne bien est
Le secret vrai C'est
ou Canape grand est
Un Zeros tres m'avaient
Une mission faux m'avaient
Une saut tres donne
Bienvenue, combien de vers voulez vous recevoir ? : 15
Un editions amme donne
Une ligne blanc donne
Le roman noir C'est
ou editions claire est
Un secret amme donne
ou circuit tres C'est
Les code amme C'est
L' circuit blanc est
Une transformiste bien C'est
touts transformiste amme C'est
Une Zeros noir C'est
ou Repetitioncod(e) amme est
L' transformiste binaire donne
Les transformiste vrai m'avaient
Le secret faux C'est
BOT
Créer un bot qui publie tout seul du texte.
Idées
- Un bot qui fait se perdre dans une ville : en prenant les données google map d'une ville (possible ?), et donne des directions (droite, gauche, tout droit, nom de rue, etc.) ?? de manière aléatoire ou en suivant un chemin ?? Automatiquement toutes les ? minutes ou heures.
- Un bot qui flatte : dit des compliments. Automatiquement ou quand quelqu'un s'abonne à lui ?
- Un bot qui dit bonne nuit. Panel de mots se référant au domaine. Automatiquement à une heure précise chaque jour.
- Un bot qui compte. Automatiquement - qui compte les heures ? -. De manière infinie ?
- Un bot qui ressort des titres d'articles trouvés sur internet possédant tous un mot en commun (art ? ou autre). - pour résultats plus fou, quand les trois lettres art sont présentes, donc dans des mots aussi (ex: ARTichaut) - Lorsqu'un article sort, ou de manière automatique ?
- Un bot pas content qui manifeste : annonce "stop aux" ou "stop au" et introduit un titre d'article de fais divers trouvé sur internet, ou dans thème spécifique. De manière automatique. (peu être mal interprété ?)
- Un bot qui prend la version numérique de "la disparition" de George Perec et qui rajoute des "e" à certains endroits. Une phrase par jours ou quelques mots par jours (vue que les phrases sont très longues).
code BOT :
#!/usr/bin/env python3
# coding: utf-8
import requests
import json
import sys
import time
import datetime
from urllib.request import urlopen
from urllib.parse import quote
#créer un tableau pour stocker les trajets
trajet = []
# apiKey
def getLatLong(adresse, apiKey) :
adresse = quote(adresse)
apiURL = "https://api.tomtom.com/search/2/geocode"
tomtomURL = "{0}/{1}.json?limit=1&countrySet=BE,FR&language=fr-FR&key={2}".format(apiURL,adresse,apiKey)
getData = urlopen(tomtomURL).read()
result = json.loads(getData)
lat = result['results'][0]['position']['lat']
long = result['results'][0]['position']['lon']
def getRoute(pointA, pointB, apiKey) :
lat1 = pointA[0]
lon1 = pointA[1]
lat2 = pointB[0]
lon2 = pointB[1]
apiURL = "https://api.tomtom.com/routing/1/calculateRoute"
tomtomURL = "{0}/{1}%2C{2}%3A{3}%2C{4}/json?instructionsType=text&language=fr-FR&computeBestOrder=false&routeRepresentation=summaryOnly§ionType=pedestrian&avoid=unpavedRoads&travelMode=pedestrian&key={5}".format(apiURL,lat1,lon1,lat2,lon2,apiKey)
getData = urlopen(tomtomURL).read()
result3 = json.loads(getData)
return result['routes'][0]['guidance']['instructions']
def getPointMilieu(route) :
nbPoints = len(route)
currentPoint = int(nbPoints/2)
#print(route[currentPoint1]['point']['latitude'])
#print(route[currentPoint1]['point']['longitude'])
#1 km +- = à km_lat degrés
km_lat = 0.0090437173295
#r correspond environ à un rayon de 25 km
r = 7*km_lat
#bouger le point
currentPointLat = ((route[currentPoint]['point']['latitude'])+r)
currentPointLon = ((route[currentPoint]['point']['longitude'])+r)
return (currentPointLat, currentPointLon)
#etape 1
pointDepart = getLatLong("87 rue du page, Bruxelles", apiKey)
pointArrivee = getLatLong("9 rue du métal, Bruxelles", apiKey)
#etape 2
route = getRoute(pointDepart, pointArrivee, apiKey)
print(route[0]['point']['latitude'])
#donne le nombre d epoint présent dans le tableau
print(len(route))
#etape 3
pointMilieu = getPointMilieu(route)
#etape 4
route2 = getRoute(pointDepart, pointMilieu, apiKey)
#stoker trajet dans tableau
trajet.append(route2)
#etape 5
route3 = getRoute(pointMilieu, pointArrivee, apiKey)
#etape 6
pointMilieu2 = getPointMilieu(route3)
#etape 7
route4 = getRoute(pointMilieu, pointMilieu2, apiKey)
trajet.append(route4)
route5 = getRoute(pointMilieu2, pointArrivee, apiKey)
trajet.append(route5)
#etape 8
print(trajet[0]['route'][0]['guidance']['instruction'][0]['message'])
Version corrigée:
#!/usr/bin/env python3
# coding: utf-8
import requests
import json
import sys
import time
import datetime
import random
from urllib.request import urlopen
from urllib.parse import quote
#créer un tableau pour stocker les trajets
trajet = []
# apiKey
def getLatLong(adresse, apiKey) :
adresse = quote(adresse)
apiURL = "https://api.tomtom.com/search/2/geocode"
tomtomURL = "{0}/{1}.json?limit=1&countrySet=BE,FR&language=fr-FR&key={2}".format(apiURL,adresse,apiKey)
getData = urlopen(tomtomURL).read()
result = json.loads(getData)
lat = result['results'][0]['position']['lat']
long = result['results'][0]['position']['lon']
return(lat, long)
def getRoute(pointA, pointB, apiKey) :
lat1 = pointA[0]
lon1 = pointA[1]
lat2 = pointB[0]
lon2 = pointB[1]
apiURL = "https://api.tomtom.com/routing/1/calculateRoute"
tomtomURL = "{0}/{1}%2C{2}%3A{3}%2C{4}/json?instructionsType=text&language=fr-FR&computeBestOrder=false&routeRepresentation=summaryOnly§ionType=pedestrian&avoid=unpavedRoads&travelMode=pedestrian&key={5}".format(apiURL,lat1,lon1,lat2,lon2,apiKey)
getData = urlopen(tomtomURL).read()
result = json.loads(getData)
#print("##################calcul de route")
#print(result)
#print("##################fin calcul de route")
return result['routes'][0]['guidance']['instructions']
def getPointMilieu(route) :
nbPoints = len(route)
currentPoint = int(nbPoints/2)
#print(route[currentPoint]['point']['latitude'])
#print(route[currentPoint]['point']['longitude'])
#1 km +- = à km_lat degrés
km_lat = 0.0090437173295
#r correspond environ à un rayon de 25 km
r = (0.1 + random.random() * 0.9 ) *km_lat
#bouger le point
currentPointLat = ((route[currentPoint]['point']['latitude'])+r)
currentPointLon = ((route[currentPoint]['point']['longitude'])+r)
#print(currentPointLat)
#print(currentPointLon)
return (currentPointLat, currentPointLon)
#etape 1
pointDepart = getLatLong("87 rue du page, Bruxelles", apiKey)
pointArrivee = getLatLong("9 rue du métal, Bruxelles", apiKey)
#etape 2
route = getRoute(pointDepart, pointArrivee, apiKey)
print(route[0]['point']['latitude'])
#donne le nombre d epoint présent dans le tableau
print(len(route))
for i in range(0, 10):
print("calcul de section %s" % i)
pointMilieu = getPointMilieu(route)
route2 = getRoute(pointDepart, pointMilieu, apiKey)
print("nombre d'étapes dans cette portion: %s " % len(route2))
if(i > 0):
del route2[0]
del route2[-1]
#stoker trajet dans tableau
'''
for etape in route2:
print(etape['message'])
'''
trajet.append(route2)
#etape 5
route = getRoute(pointMilieu, pointArrivee, apiKey)
pointDepart = pointMilieu
del route[0]
for etape in route:
print(etape['message'])
trajet.append(route)
print(len(trajet))
#etape 8
#le premier 0 correspond à la première portion du trajet et le deuxième au premier message de cette portion.
for portion in trajet :
for etape in portion :
print (etape['message'])
Lister les messages qui citent l'utilisateur
tweets = tweepy.Cursor(api.search, q='@par_labas', tweet_mode='extended').items(10)
for tweet in tweets:
print(tweet.full_text)
OU
tweets = api.mentions_timeline()
for tweet in tweets:
print(tweet.created_at)
print(tweet.user.screen_name)
print(tweet.full_text)
Récupérer les messages et l'adresse
#!/usr/bin/env python3
# coding: utf-8
from accès import *
import tweepy
import time
import parser
def saveTweetMoment(moment):
file = open("execution.txt", "w")
file.write(moment)
file.close()
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
tweets = api.mentions_timeline(tweet_mode='extended')
tweetATraiter = False
file = open("execution.txt", "r")
dernierMomentTweet = file.read()
for tweet in tweets:
#vérifier si ce tweet a déjà été traité
if(str(tweet.created_at) == dernierMomentTweet):
#si c'est le cas, alors on quitte la boucle
break
#si ce n'est pas le cas
tweetATraiter = tweet
print(tweet.created_at)
print(tweet.user.screen_name)
print(tweet.full_text)
#si la variable tweetAtraiter est égale à False alors on n'a rien à traiter
if(tweetATraiter == False):
exit()
#sinon on doit commencer le traitement
print(tweetATraiter.full_text)
adresses = tweetATraiter.full_text.split('à')
adresses[0] = adresses[0].replace('@par_labas\nDe ', '')
if(len(adresses) != 2):
print("problème: le tweet n'est pas compatible")
saveTweetMoment(str(tweetATraiter.created_at))
exit()
####ICI on a deux adresses à envoyer à TomTom
print("adresse de départ:"+adresses[0])
print("adresse d'arrivée:"+adresses[1])
saveTweetMoment(str(tweetATraiter.created_at))
Changer le texte en image
#!/usr/bin/env python3
# coding: utf-8
'''
from PIL import Image, ImageDraw, ImageFont
'''
img = Image.new('RGB', (200, 100))
d = ImageDraw.Draw(img)
d.text((20, 20), 'Hello', fill=(255, 0, 0))
text_width, text_height = d.textsize('Hello')
img = Image.new('RGB', (200, 100), (255, 255, 255))
import io
s = io.BytesIO()
img.save(s, 'png')
in_memory_file = s.getvalue()
Combien de boucle a faire (essai)
#faire une boucle pour demander combien de fois l'on veut calculer le trajet
print("Combien de fois tu veux te perdre?")
i = raw_input()
for i in range(0, i) :
getRoute