Comunidad Gambas-es
Mime types. Gambas - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Linux (https://gambas-es.org/forumdisplay.php?fid=9)
+--- Foro: Mundo Linux (https://gambas-es.org/forumdisplay.php?fid=10)
+--- Tema: Mime types. Gambas (/showthread.php?tid=767)



Mime types. Gambas - Shell - 14-12-2021

Buenos días!.

Abriendo el explorador de archivos de distintos editores y buscando un archivo script de Gambas, algunos son capaces de mostrar el icono
correspondiente que pertenece al tipo de archivo de gambas y otros no.

En el caso del explorador de Linux MInt, Caja, muestra su icono correctamente.
En el caso de otros editores tales como Xed, Gedit

Cuando se abre un archivo con Xed, muestra un "señor icono" en el propio editor.

[Imagen: M9OViXi.png]

Pero luego cuando quieres abrir otro archivo script de Gambas desde el mismo editor (Xed) no muestra icono.

[Imagen: rwozD5H.png]

Esto también ocurre con Gedit.

Tenemos una forma de conocer el tipo de mime asociado de un archivo. Podemos usar el comando file.
Supongamos que voy al directorio donde tengo las fuentes instaladas de gambas3 y en el directorio de benchmark
uso la consola. En este directorio tenemos distintos tipos de extensiones. Desde Gambas script, Python, Perl.

Hago esto en el directorio benchmark de las fuentes de Gambas3.

Bash
  1. file --mime-type *



Y me muestra esto:
 
Cita: 
benchmark.gbs:  text/html
mandelbrot.gbs: text/plain
mandelbrot.pl:  text/x-perl
mandelbrot.py:  text/x-python
nbody.gbs:      text/plain
nbody.pl:       text/x-perl
nbody.py:       text/x-python
polynom.gbs:    text/plain
polynom.pl:     text/x-perl
polynom.py:     text/x-python
primes.gbs:     text/plain
primes.pl:      text/x-perl
primes.py:      text/x-python
sort.gbs:       text/plain
sort.pl:        text/x-perl
sort.py:        text/x-python
string2.gbs:    text/plain
string2.pl:     text/x-perl
string2.py:     text/x-python
string.gbs:     text/plain
string.pl:      text/x-perl
string.py:      text/x-python

Si hacemos: (Tenemos tres archivos en este directorio).

Bash
  1. cat /usr/share/gambas3/mime/application-x-gambasscript.xml



Podemos ver:
 
Cita: 
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-gambasscript">
        <sub-class-of type="application/x-executable"/>
        <sub-class-of type="text/plain"/>
        <comment>Gambas script</comment>
        <comment xml:lang="fr">Script Gambas</comment>

        <magic priority="50">
            <match value="#!/usr/bin/env gbs3" type="string" offset="0"/>
        </magic>
        <glob pattern="*.g"/>
    </mime-type>

Se encuentra de alguna forma establecido el tipo. Si abrimos uno de los archivos gbs, la linea Shebang muestra:

"#!/usr/bin/env gbs3"

Si cambio esa línea por "#!/usr/bin/gbs3"

Y mostramos las propiedades del archivo desde el navegador, no lo reconoce como un script de Gambas, mas bien como un documento de texto sencillo.
Al volver la línea a su estado inicial instantáneamente lo reconoce el explorador.

Si en vez usar file  --mime-type, uso solo file, en un archivo script de Gambas me muestra:
 
Cita: 
string2.gbs: a /usr/bin/env gbs3 script, ASCII text executable

Pero no hace lo mismo con un archivo del tipo Python.
 
Cita: 
string2.py: Python script, ASCII text executable

¿ Está Gambas3 configurado como debe para mostrar su tipo Mime ?.
¿ Son algunas aplicaciones las que no lo entienden ?.
O no es fácil decirle al sistema o a las aplicaciones esto.

Hay una línea en el archivo xml que en otros lenguajes se repite pero para distintos idiomas, en el caso de Gambas solo existe francés
 
Cita:<comment xml:lang="fr">Script Gambas</comment>

En Perl, Python, podemos encontrar una larga lista de idiomas.
 
Cita: 

...
 <comment xml:lang="eo">Perl-skripto</comment>
  <comment xml:lang="es">secuencia de órdenes en Perl</comment>
  <comment xml:lang="eu">Perl script-a</comment>
  <comment xml:lang="fi">Perl-komentotiedosto</comment>
  <comment xml:lang="fo">Perl boðrøð</comment>
....

Lo que puedes creer, ¿ eso da problemas ?. ¿ está completo el archivo xml de Gambas3 ?. O es por algún problema ajeno a Gambas3.

Saludos


RE: Mime types. Gambas - Shell - 14-12-2021

He usado luego la Linux Mint 19.1. Anteriormente la Linux Mint 20.2.

Y usé Xed para abrir archivos fuentes de la Gambas 3.15.2, el mismo directorio benchmark y....

[Imagen: qur08Mt.png]

Así que no sé que rollo tendrá la Linux Mint 20.2 o la Gambas actual.
En este casualmente tengo instalada la 3.15.2

Saludos


RE: Mime types. Gambas - tercoide - 15-12-2021

(14-12-2021, 14:55)Shell escribió:  En este casualmente tengo instalada la 3.15.2

Con el  tiempo me di cuenta que las versiones "estables" de Gambas están deprecadas "per se"
Conviene usar la de desarrollo.


RE: Mime types. Gambas - Shell - 16-12-2021

(15-12-2021, 12:13)tercoide escribió:  Conviene usar la de desarrollo.

La 3.15.2 está más que obsoleta. La instalé en otro distro cuando el lanzamiento de una nueva versión de Gambas fue algo precipitada.
Seguía teniendo las dos estables. Una esperando a solucionar problemas y la otra antigua en otra distro con la que poder programar.

Una versión desarrollo para trastear, probar y comprobar errores y novedades, o simplemente por que quieres tener la versión más actual, no es mala idea.
Pero de cara a hacer aplicaciones para otras personas, no creo. ( Eso es un verdadero quebradero de cabeza ). Se puede dar el caso
de que falle siendo estable, indiscutiblemente, pero eso es más rebuscado.

Saludos


RE: Mime types. Gambas - tercoide - 17-12-2021

(16-12-2021, 22:24)Shell escribió:  Se puede dar el caso
de que falle siendo estable

se da mucho, y ahi olvidate que Benoit corrija errores


RE: Mime types. Gambas - Shell - 17-12-2021

(17-12-2021, 14:16)tercoide escribió:  se da mucho, y ahi olvidate que Benoit corrija errores

En mi caso no hay problema ya que según necesidad, usaría la versión de desarrollo pero si tienes usuarios que dependen de ti.
Crudo lo veo.

En caso de la versión estable con errores, si quiere otra estable, no queda otra que esperar (Siendo la ultima estable, claro).
No puedo pretender que Beonit me solucione un problema con la 3.15.2.. Big Grin 

Creo que este tema es mejor crear otro post ( Es un buen tema de discusión)  a menos que ya se haya creado.
De paso aprendemos de la experiencia de los compañeros.

Saludos