1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
## Que permet le script :
## 1 : Ouvre une alerte en ligne de commande
## 2 : ouvre une popup easygui (module easygui requis à placer dans le dossier)
## 3 : ouvre le navigateur sur la page de commande : https://www.kimsufi.com/fr/commande/kimsufi.xml?reference=xxxx
## Ne pas mettre d'interval de moins de 8 secondes, sous peine d'obtenir cette erreur : quota getAvailability2 quota can't been exceeded (500 per 3600 seconds)
## Utilisation : Mettre en argument le nom des serveurs OVH, exemple : python kimsufi.py 150sk10 150sk20 150sk22
import sys
import json
import requests
import time
import webbrowser
import easygui
INTERVAL = 8
while True:
try:
availability = requests.get("https://ws.ovh.com/dedicated/r2/ws.dispatcher/getAvailability2").json()
for serverType in availability['answer']['availability']:
if serverType['reference'] in sys.argv or len(sys.argv) == 1:
for zone in serverType['zones']:
if zone['availability'] != "unknown":
message = "%s is %s in %s " % (serverType['reference'], zone['availability'], zone['zone'])
print (message)
easygui.msgbox("Serveur présent %s is %s in %s " % (serverType['reference'], zone['availability'], zone['zone']), 'kimsufi')
webbrowser.open("https://www.kimsufi.com/fr/commande/kimsufi.xml?reference=%s" % (serverType['reference']))
time.sleep(1)
except Exception as e:
print (e)
time.sleep(INTERVAL) |