Meteoclimatic

Software => WeeWX => Mensaje iniciado por: Gonzalo en 06 de Abril del 2022, 20:02:45 pm

Título: Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 06 de Abril del 2022, 20:02:45 pm
Hola.
He actualizado weewx a la 4.7 y el SO a Debian 11 a 32 bits (ya que el  64 bits empieza a ir lento el navegador y casi se bloquea), en una raspberry pi 4.
La cuestion que planteo, por si alguien me puede echar una mano, es:
Antes me funcionaba el texto de grados en el resumen mensual y en el pie de foto con los valores meteorológico; ya no me sale el símbolo de grado o me escribe cosas raras.
-------------------------------------------------------------------------------------------
Tengo esto en el skin.conf:
[CheetahGenerator]

    # Possible encodings include 'html_entities', 'utf8', 'strict_ascii', or 'normalized_ascii',
    # as well as those listed in https://docs.python.org/3/library/codecs.html#standard-encodings
    encoding = html_entities

    [[SummaryByMonth]]
        # Reports that summarize "by month"
        [[[NOAA_month]]]
            encoding = normalized_ascii
##            encoding = strict_ascii
            template = NOAA/NOAA-YYYY-MM.txt.tmpl
##            template = NOAA/NOAA-%Y-%m.txt.tmpl

    [[SummaryByYear]]
        # Reports that summarize "by year"
        [[[NOAA_year]]]
            encoding = normalized_ascii
##            encoding = strict_ascii
            template = NOAA/NOAA-YYYY.txt.tmpl
##            template = NOAA/NOAA-%Y.txt.tmpl
---------------------------------------------------------------------------------------------------
Y en el pie de foto tenia esto con el grado delante de la C, y me lo escribia bien, ahora no y le he quitado el símbolo para que no salgan caracteres raros:

#encoding UTF-8
$current.dateTime, Temp.: $current.outTemp.formatted C,
---------------------------------------------------------------------------------------------
web: http://eltiempoennuevamalaga.duckdns.org/

Gracias
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 06 de Abril del 2022, 23:39:56 pm
Hola Gonzalo

Prueba poniendo encoding = utf8

El problema es que los navegadores no saben si esos archivos de texto son en UTF-8 si no llevan BOM, el cual tendría que ir en las plantillas a partir de las cuales se generan (NOAA-YYYY-MM.txt.tmpl y NOAA-YYYY.txt.tmpl) convertirlas a UTF-8 con BOM, con el problema de que weewx suelte algún error al detectar el BOM y no las genere. El BOM es una marca que dice que está codificado en UTF-8.

Puedes probar esas dos cosas y también hay una tercera y es que si usas el servidor web de la raspi para tu web edites el archivo /etc/apache2/conf-enabled/charset.conf y descomentes la línea #AddDefaultCharset UTF-8 (quitar la almohadilla primera), guardas y reinicias apache2 (sudo service apache2 restart). Con eso le añades a las cabeceras de los archivos en el servidor que todos los archivos están codificados en UTF-8 por lo que los navegadores pondrán esa codificación para ver, por ejemplo en este caso, los archivos de texto, así como todas las páginas HTML a menos que lleven en la cabecera de la página en el HTML otra codificación puesta.
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 01:30:39 am
Hola jmviper. Gracias por contestar.

He hecho lo primero (encoding = utf8) y no va, me sale esto:
        TEMPERATURA (°C), LLUVIA (mm), VELOCIDAD VIENTO (km/h)

He hecho lo tercero (AddDefaultCharset UTF-8) y no observo ningún cambio.
Lo dejare como estaba.
Gracias.
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 07 de Abril del 2022, 16:08:27 pm

He hecho lo tercero (AddDefaultCharset UTF-8) y no observo ningún cambio.


Pues yo lo he probado y funciona:

CLIMATOLOGICAL SUMMARY for year 2022


NAME: Archena, Murcia                 
ELEV: 120 meter    LAT: 38-06.00 N    LONG: 001-18.00 W


                                       TEMPERATURE (°C)

Después de descomentar la línea:

   CLIMATOLOGICAL SUMMARY for year 2022


NAME: Archena, Murcia                 
ELEV: 120 meter    LAT: 38-06.00 N    LONG: 001-18.00 W


                                       TEMPERATURE (°C)

En los encabezados de respuesta de Google Chrome:

Content-Type: text/plain; charset=UTF-8

https://meteoarchena.es/opi/NOAA/NOAA-2022.txt

Si quieres déjalo descomentado y le echo yo un vistazo desde el navegador a ver si está o no esa cabecera. Si está no debería de verse el símbolo. Si se ve es porque en el origen de la plantilla algo hay mal. Tendrías que ver cómo están codificados NOAA-YYYY-MM.txt.tmpl y NOAA-YYYY.txt.tmpl

Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 18:41:12 pm
Hola de nuevo.
Todo esto me funcionaba con versiones anteriores weewx.
Tu exactamente como lo tienes. Porque las ultimas versiones de weewx en el skins trae otras codificaciones nuevas.
Voy a cambiar dos cosas a la vez:
AddDefaultCharset UTF-8 en Apache2
encoding = utf8 en el skins
Pero tengo que resetear, porque ayer dejaba de generar plantillas con los cambios.
Lo del CHrome que me dices no lo pillo.
Uso tambien el navegador Tor para simular conxion exterior y comprobar.
Voy a hacer las dos modificaciones, y veo
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 19:07:39 pm
Ahora he generado de nuevo los NOAA y funciona:
--------------------------------------------------------------------------------------------------
                   SUMARIO CLIMATOLOGICO MENSUAL para abr 2022


NOMBRE : Nueva Malaga, Malaga                 
ALTITUD: 50 metros    LAT: 36-43.57 N    LONG: 004-26.65 W


                   TEMPERATURA (°C), LLUVIA (mm), VELOCIDAD VIENTO (km/h)

                                         GRAD   GRAD          --------VIENTO-----------
       -------------TEMP--------------   -DIA   -DIA          --------VEL-------  DESDE
DIA    MED    MAX   HORA    MIN   HORA  CALOR   FRIO   LLUV   PROM    MAX   HORA    DIR
---------------------------------------------------------------------------------------
 01   15,6   19,6  17:32   11,9  07:52    2,7    0,0    0,0   13,1   46,7  10:33    286
 02   13,9   16,3  14:01   11,6  08:00    4,4    0,0    0,0    6,4   30,6  11:29    122
 03   12,5   15,0  15:22    9,5  08:28    5,8    0,0    0,0    9,1   45,1  23:56    119
 04   13,0   14,8  12:29   11,2  08:11    5,3    0,0    0,4    8,0   48,3  01:25    138
 05   12,6   16,7  19:04   10,8  06:15    5,7    0,0   10,2    5,8   25,7  17:50    290
 06   14,0   18,1  17:28   10,8  08:02    4,4    0,0    0,2    7,8   38,6  17:18    302
 07   16,8   24,1  17:41   11,8  08:08    1,5    0,0    0,0   14,1   41,8  15:12    280
 08
 09
 10
 11
----------------------------------------------------------------------------------------------

Te pregunto tiene algun inconveniete o mejora el usar una codificacion u otra ?
Ahora voy a buscar que simbolo de grado puedo poner en el piedefoto.txt.tmpl ($current.dateTime, Temp.: $current.outTemp.formatted C, Hum.: $current.outHumidity,) a ver si ha arreglado esto tambien.
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 19:19:39 pm
En el texto de la foto con la plantilla no me sale el simbolo del grado.
Me sale esto:
Temp.: 22,8 °C,

La plantilla tiene escrito: $current.outTemp.formatted °C,
Alguna orientación
Gracias
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 07 de Abril del 2022, 20:03:08 pm
Las codificaciones pueden ser un verdadero lío, porque empezaron con la básica (ASCII) de 128 caracteres para los caracteres ingleses, pero claro hay más caracteres con acentos etc etc y se fueron creando sobre la base de 256 bits (8 bytes, ASCII usa solo 7) para cada juego de caracteres.
UTF-8 vino para engloblarlos a todos (más de 2 millones de caracteres posibles) y además de cualquier letra o símbolo se pueden poner muchos iconos (también emoticonos).

Así que, de ahora en adelante hay que codificarlo todo en UTF-8 porque es la codificación del presente-futuro.

Citar
En el texto de la foto con la plantilla no me sale el simbolo del grado.
Me sale esto:
Temp.: 22,8 °C,

Si te sale eso puede que lo genere con html_entities. Busca en ese archivo piedefoto.txt.tmpl la línea de esa codificación y cámbiala a utf8

Posiblemente tengas que cambiar la codificación en todas las plantillas en las que salgan esos símbolos extraños.
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 20:25:40 pm
Que sepa yo, me ocurre solo en este txt.tmpl

Esta es la plantilla con el grado eliminado delante de la "C", si pongo "°" me sale: Temp.: 22,8 °C,

contenido de piedefoto.txt.tmpl:
------------------------------------------------------------------------------------------------------------------------------------------
#encoding UTF-8
text 0, 0 "CIUDAD NUEVA MALAGA (Malaga), 50 msnm, $current.dateTime, Temp.: $current.outTemp.formatted C, Hum.: $current.outHumidity, Viento: $current.windSpeed - $current.windDir.ordinal_compass, Lluvia hoy: $day.rain.sum
Valores extremos para hoy: Temp-Max: $day.outTemp.max.formatted C a las $day.outTemp.maxtime, Temp-Min: $day.outTemp.min.formatted C a las $day.outTemp.mintime, Racha-Max: $day.wind.max - $day.wind.gustdir.ordinal_compass  a las $day.wind.maxtime, UV: $current.UV"

------------------------------------------------------------------------------------------------------------------------------------------
Con versiones antiguas de weewx con este pie de foto de la webcam salia correcto el simbolo grado
Perdona, pero como en otras ocasiones no quisiera abusar de ti.
Gracias
Es que soy muy mijita para tener muy pocos conocimientos. Y le he tomado cariño a Weewx y siempre he estado cabezoneando con la configuración y las traducciones hasta encontrar donde estba algo escrito para traducir. Y lo mismo me paso con querer incorporar la plantilla de Season en la Standard, y ahi esta la pestaña funcionando.
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 07 de Abril del 2022, 20:42:16 pm
Adjunta el archivo
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 21:25:36 pm
A donde se le da aqui para insertar archivo
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 21:28:49 pm
Ajunto archivo
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 07 de Abril del 2022, 22:25:15 pm
Mira a ver que el skin.conf del skin tenga la línea encoding = utf8
Por defecto el Standard y el Seasons tienen encoding = html_entities

https://www.meteoarchena.es/opi/piedefoto.txt
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 22:36:15 pm
Lo tengo puesto asi:
[CheetahGenerator]

    # Possible encodings include 'html_entities', 'utf8', 'strict_ascii', or 'normalized_ascii',
    # as well as those listed in https://docs.python.org/3/library/codecs.html#standard-encodings
    encoding = html_entities

    [[SummaryByMonth]]
        # Reports that summarize "by month"
        [[[NOAA_month]]]
##            encoding = normalized_ascii
##            encoding = strict_ascii
            encoding = utf8
            template = NOAA/NOAA-YYYY-MM.txt.tmpl
##            template = NOAA/NOAA-%Y-%m.txt.tmpl

    [[SummaryByYear]]
        # Reports that summarize "by year"
        [[[NOAA_year]]]
##            encoding = normalized_ascii
##            encoding = strict_ascii
            encoding = utf8
            template = NOAA/NOAA-YYYY.txt.tmpl
##            template = NOAA/NOAA-%Y.txt.tmpl

    [[ToDate]]
Donde he cambiado a "encoding = utf8" ha sido en los NOAA
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 22:59:31 pm
Eureka Eureka, gracias, gracias

http://ea7cl.ddns.jazztel.es/captura/copias/20220407/20220407225727.jpg

Dejo esto asi tambien:


  [[SummaryByMonth]]
        # Reports that summarize "by month"
        [[[NOAA_month]]]
##            encoding = normalized_ascii
##            encoding = strict_ascii
            encoding = utf8
            template = NOAA/NOAA-YYYY-MM.txt.tmpl
##            template = NOAA/NOAA-%Y-%m.txt.tmpl

    [[SummaryByYear]]
        # Reports that summarize "by year"
        [[[NOAA_year]]]
##            encoding = normalized_ascii
##            encoding = strict_ascii
            encoding = utf8
            template = NOAA/NOAA-YYYY.txt.tmpl
##            template = NOAA/NOAA-%Y.txt.tmpl
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 07 de Abril del 2022, 23:03:19 pm
Esto siempre lo veo asi, es normal "copied 0 files"

abr 07 23:01:18 raspberrypi python3[1179]: weewx[1179] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 07 de Abril del 2022, 23:14:21 pm
Perfecto  :)

Saludos
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: jmviper en 07 de Abril del 2022, 23:15:20 pm
Esto siempre lo veo asi, es normal "copied 0 files"

abr 07 23:01:18 raspberrypi python3[1179]: weewx[1179] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx

Sí, es normal.
Título: Re:Codificacion txt en weewx 4.7 (instalado con script meteowee) + Debian 11 32b
Publicado por: Gonzalo en 08 de Abril del 2022, 01:06:47 am
Ok. Muchas gracias por el empujon