Foros del Web » Programando para Internet » Python »

Interactuar con Libmagic

Estas en el tema de Interactuar con Libmagic en el foro de Python en Foros del Web. Estoy algo perdido, en linux existe el comando file ue al pasarle un archivo como parámetro el lo consulta en una base de datos y ...
  #1 (permalink)  
Antiguo 06/04/2012, 14:43
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Interactuar con Libmagic

Estoy algo perdido, en linux existe el comando file ue al pasarle un archivo como parámetro el lo consulta en una base de datos y nos devuelve el tipo de archivo que sea..
en windows no existe nada similar, pero he encontrado una librería llamada Libmagic, que usa un concepto similar al file (Numeros magicos).
El problema es que está en C, quería saber si alguien la había usado, con cyton o c api, y como les fue, yo estoy teniendo algunos problemas para usarla. Saludos
  #2 (permalink)  
Antiguo 06/04/2012, 14:51
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Interactuar con Libmagic

No te servirá este port: https://github.com/ahupp/python-magic ??

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 06/04/2012, 14:56
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Libmagic

Cita:
Iniciado por Carlangueitor Ver Mensaje
No te servirá este port: https://github.com/ahupp/python-magic ??

Saludos
Exacto! genial y gracias
  #4 (permalink)  
Antiguo 06/04/2012, 20:08
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Libmagic

Cita:
Iniciado por Carlangueitor Ver Mensaje
No te servirá este port: https://github.com/ahupp/python-magic ??

Saludos
Bueno, algo Que no entiendo es que en github me piden que instale las .dll magic1 regex2 y zlib1 y ademas que necesito file para linux file 5.0

Cita:
You need magic1.dll from http://gnuwin32.sourceforge.net/, grab the
binaries and dependencies ZIP-file, extract magic1.dll, regex2.dll
and zlib1.dll and put it in C:\Windows\System32. You also need a
magic file from Linux, compatible with file version 5.0.
Lo instalé con gnuwin32 pero me tira error que no se pueden cargar los magic files, alguno tuvo el mismo error,?
  #5 (permalink)  
Antiguo 06/04/2012, 20:47
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Interactuar con Libmagic

Oye, será que estoy ciego pero no veo de donde bajar la magic1.dll, tienes el enlace directo para probar?
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 06/04/2012, 20:50
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Libmagic

Cita:
Iniciado por Carlangueitor Ver Mensaje
Oye, será que estoy ciego pero no veo de donde bajar la magic1.dll, tienes el enlace directo para probar?
La encontré aquí
http://www.dll-file-download.com/e/s.../?searchid=803

y luego al instalar file para windows aparece también allí
  #7 (permalink)  
Antiguo 06/04/2012, 20:58
 
Fecha de Ingreso: febrero-2012
Ubicación: México
Mensajes: 227
Antigüedad: 12 años, 1 mes
Puntos: 48
Respuesta: Interactuar con Libmagic

Prueba poniendo los dll en el mismo directorio donde está instalado el programa.
  #8 (permalink)  
Antiguo 06/04/2012, 21:24
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Libmagic

Gracias por las respuestas, hice una depuración y he visto que cython carga bien las .dll.
El error me lo tira cuando creo alguna clase, por ejemplo la clase Magic(),
el error que me tira es que no se encuentra ningún magic file.
  #9 (permalink)  
Antiguo 06/04/2012, 21:24
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Interactuar con Libmagic

Sí, a mi me tira el mismo error, estoy probando con esto, por si quieres intentarlo también: http://bytes.com/topic/python/answer...-magic-windows

Saludos
__________________
Grupo Telegram Docker en Español
  #10 (permalink)  
Antiguo 06/04/2012, 22:24
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Interactuar con Libmagic

Ya pude, al parecer hay problemas con el PATH, tanto de windows como de python, así que una manera sencilla es especificarlo desde el script, aunque quizá sea una mala forma, pero por lo menos te sirve mientras arreglas lo del path.

Primero hay que bajarse los instaladores de la página de GnuWin32, lo que pasa es que no son muy claros en las instrucciones. Primero hay que instalar este y luego este, en la carpeta C:\Program Files\GnuWin32\bin están las tres dll que se deben de instalar, por que las otras de dll files son diferentes (por lo menos en tamaño).

Ahora, para llamarlo desde tu script yo hice esto:

Código Python:
Ver original
  1. >>> import magic
  2. >>> m = magic.Magic(magic_file = 'C:\\Program Files\\GnuWin32\\share\\misc\\magic')
  3. >>> m.from_file('flisol.pdf')
  4. 'PDF document, version 1.5'
  5. >>>

El link que te pasé habla de eso pero creo que está incompleto: http://groups.google.com/group/comp....99056df8?pli=1 ahí también se ve lo del path por si quieres investigarlo más a fondo.

Saludos
__________________
Grupo Telegram Docker en Español

Última edición por Carlangueitor; 06/04/2012 a las 23:45
  #11 (permalink)  
Antiguo 06/04/2012, 23:41
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Libmagic

Gracias por tu tiempo Carlangueitor, has sido de mucha ayuda, el segundo link es incorrecto, apunta hacia un archivo local. Por todo lo demás muchas gracias
  #12 (permalink)  
Antiguo 06/04/2012, 23:45
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Interactuar con Libmagic

Ya está, se me fue el link mal, pero ya lo arreglé.

Saludos
__________________
Grupo Telegram Docker en Español
  #13 (permalink)  
Antiguo 06/04/2012, 23:46
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Interactuar con Libmagic

Ya está perfecta tu solución
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:12.