Update tgname.sh

This commit is contained in:
Esteban Mackay Q 2023-09-02 17:00:27 -05:00
parent 8a7e986bb3
commit 7ade558898
1 changed files with 90 additions and 1 deletions

View File

@ -103,6 +103,92 @@ with open(output_file_path, "w", newline="") as output_file:
print("Proceso completado. Archivo de salida generado en:", output_file_path)
EOF
cat > /opt/tg-name-ds.py <<- "EOF"
import csv
import requests
# URL del primer archivo de texto
url1 = "http://www.pistar.uk/downloads/TGList_BM.txt"
# URL del segundo archivo CSV
url2 = "https://freedmr.cymru/talkgroups/talkgroup_ids.csv"
# Descargar el contenido del primer archivo de texto
response1 = requests.get(url1)
content1 = response1.content.decode("utf-8")
# Descargar el contenido del segundo archivo CSV
response2 = requests.get(url2)
content2 = response2.content.decode("utf-8")
# Dividir las líneas de ambos contenidos
lines1 = content1.splitlines()
lines2 = content2.splitlines()
# Almacenar los datos de url1 en una lista
data_url1 = []
# Procesar los datos del primer archivo y agregarlos a la lista
for line in lines1:
if not line.startswith('#'):
parts = line.split(';')
if len(parts) >= 4:
data_url1.append([int(parts[0]), parts[2], parts[3]])
# Ordenar la lista de url1 por el valor de la tercera columna (alfanumérico)
data_url1.sort(key=lambda x: x[2])
# Almacenar los datos de url2 en una lista
data_url2 = []
# Procesar los datos del segundo archivo y agregarlos a la lista
csv_reader = csv.reader(lines2)
next(csv_reader) # Ignorar la primera fila de encabezado
for row in csv_reader:
if len(row) == 3:
data_url2.append([int(row[0]), row[1], int(row[2])])
else:
data_url2.append([int(row[0]), row[1]])
# Ordenar la lista de url2 por el valor de la tercera columna (numérico)
data_url2.sort(key=lambda x: x[2])
# Ruta del archivo de salida
output_file_path = "/opt/MMDVMHost-Websocketboard/html/data/TG_List.csv"
# Abrir el archivo de salida en modo escritura
with open(output_file_path, "w", newline="") as output_file:
csv_writer = csv.writer(output_file)
# Escribir la primera fila de encabezado
csv_writer.writerow(["DMR", "1", "id", "callsign tgid"])
# Escribir los datos de url1 en el formato deseado
for row in data_url1:
csv_writer.writerow(["DMR", "1", row[0], f"{row[1]} {row[2]}"])
# Escribir las líneas adicionales de url1
csv_writer.writerow(["DMR", "1", 9990, "Parrot TG9990"])
csv_writer.writerow(["DMR", "1", 6, "XLX TG6"])
# Ordenar las líneas adicionales de url1
csv_writer.writerow(["DMR", "1", 9990, "Parrot TG9990"])
csv_writer.writerow(["DMR", "1", 6, "XLX TG6"])
# Ordenar las líneas adicionales de url2
csv_writer.writerow(["DMR", "2", 9990, "Parrot TG9990"])
csv_writer.writerow(["DMR", "2", 6, "XLX TG6"])
# Escribir los datos de url2 en el formato deseado
for row in data_url2:
if len(row) == 3:
csv_writer.writerow(["DMR", "2", row[0], f"{row[1]} {row[2]}"])
else:
csv_writer.writerow(["DMR", "2", row[0], row[1]])
print("Proceso completado. Archivo de salida generado en:", output_file_path)
EOF
############
sudo cat > /bin/menu-uptg <<- "EOF"
@ -117,7 +203,8 @@ choix=$(whiptail --title "Raspbian Proyect HP3ICC / Dashboar TG Name" --menu "Se
" 17 50 4 \
1 " TG Name Branmeister " \
2 " TG Name FreeDMR " \
3 " Menu Principal " 3>&1 1>&2 2>&3)
3 " TG Name S1=BM / S2=FDMR " \
4 " Menu Principal " 3>&1 1>&2 2>&3)
exitstatus=$?
#on recupere ce choix
#exitstatus=$?
@ -133,6 +220,8 @@ python3 /opt/tg-name-bm.py ;;
2)
python3 /opt/tg-name-fdmr.py ;;
3)
python3 /opt/tg-name-ds.py ;;
4)
break;
esac
done