Page 1 sur 1

Python vers Lua

Publié : 10 oct. 2015, 21:52
par patrice
Bonsoir à tous

Je voudrais transformer un script python en un equivalent Lua

Ce bout de code python prend un login/password et envoie des datas au format json vers https://opentsb.... dans un post http

Code : Tout sélectionner

token_id = 'gvdddddgjjyff'
token_key = 'mggcXG-WDDdww_74iztX'

end_point = 'https://opentsdb.iot.runabove.io/api/put'

# Raw  data to send
data = [
    {
        'metric': 'tempraspberry',
        'timestamp': timestamp,
        'value': valeur,
        'tags': {
            'temp': 'ssd'
        }
    }
]

try:
    # Send request and fetch response
    response = requests.post(end_point, data=json.dumps(data),
                             auth=(token_id, token_key))

j'ai bien essayé ca mais sans succés car les librairies socket.http ne sont pas trouvées et d'autre part je ne saurais pas y envoyer mes datas json

Code : Tout sélectionner

http = require("socket.http")
mime = require("mime")
r, c = http.request {
  url = "https://opentsdb.iot.runabove.io/api/put'",
  headers = { authentication = "Basic " .. (mime.b64("gvdddddgjjyff:mggcXG-WDDdww_74iztX")) }
}
Y'aurait il une bonne âme pour me mettre sur les rails ?

Re: Python vers Lua

Publié : 12 oct. 2015, 09:51
par patrice
Bonjour

J'ai abordé la questions différemment et maintenant j’aurais aimé pouvoir passer des parametres à un script python depuis un script Lua

Du style

Code : Tout sélectionner

 os.execute('/home/pi/domoticz/scripts/python/put_iot.py a b c d')

a b c d etant les paramètres que je dois passer à put_iot.py


J'ai essayé quelques " ou ' par ci par la sans succès
Les seules références que me donnent google concernent du Lua pour windows
Merci de votre aide

Re: Python vers Lua

Publié : 12 oct. 2015, 10:01
par patrice
En cherchant au bon endroit on trouve..
Pour mémo
le passage de parametres de Lua vers python
a,b,c etant des chaines %s
et d un float (%d)

os.execute(string.format("/home/pi/domoticz/scripts/python/put_iot.py %s %s %s %d", a, b, c, d))