Exemple #1
0
#print ("<td>")
#print ("<b>Chiavi selezionate per l'eliminazione:</b>")
#print ("</td>")
#print ("<td>")
#for i in range (len(flt.DecodeList(MyDB.keys(RedisKey)))):
#	print (mhl.MyTextForm(FormName,flt.DecodeList(MyDB.keys(RedisKey))[i],"50","required","readonly"))
#print ("</td>")
#print ("</tr>")

# .. o questa versione, dove, oltre al filtro, si devono anche selezionare una per una:
print("<tr>")
print("<td>")
print("<b>Seleziona le chiavi da eliminare:</b>")
print("</td>")
print("<td>")
for i in range(len(flt.DecodeList(MyDB.keys(RedisKey)))):
    print(mhl.MyCheckboxForm(FormName,
                             flt.DecodeList(MyDB.keys(RedisKey))[i]),
          flt.DecodeList(MyDB.keys(RedisKey))[i], "<br/>")
print("</td>")
print("</tr>")

print("<tr>")
print("<td colspan=\"2\">")
#print ("<hr/>") # La linea orizzontale
print("</td>")
print("</tr>")

print("<tr>")
print("<td>")
print("")  # Testo nella 1a colonna
Exemple #2
0
#print ("<hr>")
print("</fieldset>")

# NON FUNZIONA, credo per un'istruzione del programma, quel cilent.loop_forever()
#print (mhl.MyActionForm("/cgi-bin/mqtt2redis_webstart.py","POST"))
#print (mhl.MyButtonForm("submit","Start"))
#print (mhl.MyActionForm("/cgi-bin/mqtt2redis_webstop.py","POST"))
#print (mhl.MyButtonForm("submit","Stop"))

print("<br/>")  # Riga vuota / no linea orizzonatale
print("<br/>")  # Riga vuota / no linea orizzonatale

# Gruppi Redis
# Non riesco a filtrare con una normale 'regex', mi son stufato e allora prendo tutti
# quelli che hanno "sets:*:Config" e poi eliminero` il finale ":Config"
SetsRedis = flt.DecodeList(MyDB.keys("sets:*:Config"))
for i in range(len(SetsRedis)):
    # La lista e` (uguale alla lista puntata da i [i]),
    # presa per tutta la sua lunghezza di caratteri [:L-7],
    # tolto 7, che e` la lunghezza di ":Config"
    SetsRedis[i] = SetsRedis[i][:len(SetsRedis[i]) - 7]
SetsRedisOn = []
SetsRedisOff = []
print("<fieldset>")
print("<legend>Gruppi GRAPH</legend>")
for i in range(len(SetsRedis)):
    Appoggio = flt.Decode(
        subprocess.check_output(
            ['/var/www/cgi-bin/setsgraph_init.d.sh', 'status', SetsRedis[i]]))
    print("<b>", SetsRedis[i], "</b>", Appoggio, "<br/><hr/>")
    # .split()	Divido le parole
Exemple #3
0
# Controllo se piu` di un argomento o se richiesto l'help
if len(sys.argv) != 4 or sys.argv[1] == "-h":
    print("\n\tUso: %s <RedisKey> <Start> <Stop>" % sys.argv[0])
    print("""
Questo programma prende una chiave Redis di gruppo (sets:*), elabora,
e crea il rispettivo file .csv
""")
    exit()

if len(sys.argv) == 4 and MyDB.exists(sys.argv[1]):
    # Setto le variabili per comodita` e chiarezza di programma
    KeyVal = sys.argv[1]
    Key = KeyVal[:-7]  # Toglie ":Valori"
    KeySort = flt.DecodeList(
        MyDB.sort(Key, alpha=1)
    )  # Devo mantenerla sempre ordinata, altrimenti i dati non coincidono, e` una stringa, quindi "alpha=1"
    print("Input sets: \t\t", KeyVal)
    print("Key: \t\t\t", Key)
    print("Key contents: \t\t", KeySort)
    # Ho usato il secondo e terzo valore (sets:NOME:ID), perche potrebbero esserci dei duplicati fra allarmi e grafici e .. altro (se ci sara`)
    FileName = DirBase + "/" + Key.split(":")[1] + Key.split(":")[2] + ".csv"
    if os.path.isfile(FileName):
        print("Deleting: \t\t\"%s\"" % FileName)
        os.remove(FileName)  # Elimino il file se esiste
    # Creazione dell'intestazione: DATA, Descrizione1, Descrizione2, .., DescrizioneN
    IntestazioneCSV = "Data"
    for i in range(len(KeySort)):
        Descrizione = "none"  # Metto qualcosa nel caso mancasse la descrizione
        if MyDB.hexists(KeySort[i], "Descrizione"):
            Descrizione = flt.Decode(MyDB.hget(KeySort[i], "Descrizione"))
Exemple #4
0
print ("<hr/><br/>")


print ("<h2>","<center>","Modifica chiave Redis","</center>","</h2>")

# Inizio del form
print (mhl.MyActionForm("/cgi-bin/changesetredis.py","POST"))

print ("<table>")   # 2 colonne

print ("<tr>")
print ("<td>")
print ("Seleziona la chiave da modificare:")
print ("</td>")
print ("<td>")
print (mhl.MyDropDown(FormName,flt.DecodeList(MyDB.keys(RedisKey)),""))   #
print ("</td>")
print ("</tr>")

print ("<tr>")
print ("<td colspan=\"2\">")
#print ("<hr/>") # La linea orizzontale
print ("</td>")
print ("</tr>")

print ("<tr>")
print ("<td>")
print ("")  # Testo nella 1a colonna
print ("</td>")
print ("<td>")
print (mhl.MyButtonForm("submit","Modifica"))
Exemple #5
0
    print("<td>")
    print("Key: ")
    print("</td>")
    print("<td>")
    print(mhl.MyTextForm(FormName, RedisKey, "40", "required", "readonly"))
    print("</td>")
    print("</tr>")

    # A dire la verita`, per come ho sistemato ora .. questa parte e` inutile.
    print("<tr>")
    print("<td>")
    print("Contenuto:")
    print("</td>")
    print("<td>")
    #print (str(flt.DecodeList(MyDB.smembers(RedisKey))))	# Meglio se lo visualizzo tutto, col form sarei limitato.
    LISTA = flt.DecodeList(
        MyDB.smembers(RedisKey))  # Appoggio a variabile l'elenco/lista
    print("<fieldset>")  # Ho usato il "fieldset" come separatore/raggruppatore
    #print ("<legend>Contenuto</legend>")
    for i in range(len(LISTA)):
        print(LISTA[i], "<br/>")
    print("</fieldset>")
    print("</td>")
    print("</tr>")

    print("<br/>")  # Aggiungo uno spazio (una riga)

    print("<tr>")
    print("<td>")
    print("Elimina:")
    print("</td>")
    print("<td>")
Exemple #6
0
print ("Key: ")
print ("</td>")
print ("<td>")
print (mhl.MyTextForm(FormName,RedisKey,"40","required",""))
print ("</td>")
print ("</tr>")

print ("<tr>")
print ("<td>")
print ("Aggiungi:")
print ("</td>")
print ("<td>")
#print (mhl.MyDropDown("add",flt.DecodeList(MyDB.keys("?:*:*:*:*:*[^:Valori]")),""))   # Sto` provando a filtrare le chiavi, questa e` la meglio che ho trovato.
# Non riesco a filtrare con una normale 'regex', mi son stufato e allora prendo tutti
# quelli che hanno ":Valori" e poi eliminero` il finale ":Valori"
LISTA = flt.DecodeList(MyDB.keys("?:*:*:*:*:Valori"))
for i in range (len(LISTA)):
	# La lista e` (uguale alla lista puntata da i [i]),
	# presa per tutta la sua lunghezza di caratteri [:L-7],
	# tolto 7, che e` la lunghezza di ":Valori"
	LISTAi=LISTA[i][:len(LISTA[i])-7]
	print (mhl.MyCheckboxForm("add",LISTAi), LISTAi, "<br/>")
print ("</td>")
print ("</tr>")

print ("<tr>")
print ("<td colspan=\"2\">")
print ("<hr/>") # La linea orizzontale
print ("</td>")
print ("</tr>")