Notificaciones no vinculantes al descargar o copiar archivos por red con Growl y Applescript

test_applescript_disco.jpgCalamidad nos cuenta: "Hola: trabajamos en una oficina donde estamos contínuamente pasándonos archivos de un ordenador a otro. El problema es que tenemos que estar a gritos preguntando si el archivo ha terminado de copiarse, porque si lo intentas abrir creyendo que ha terminado da error ... y esto es un fastidio y una molestia. Hemos probado varios métodos, pero todos ellos son bastante intrusivos. ¿Podéis echarnos una mano?".

Una buena solución a este problema es usar las Acciones de Carpeta, una característica del sistema que "se usa poco" pero que es una gran adición de Mac OS X. Las acciones de carpeta determinan que se puede hacer con un archivo una vez que se incluye dentro de una carpeta y permite, usando Applescript, modificarlo o realizar acciones de todo tipo con el.

Para activar las Acciones de Carpeta de una carpeta solo hay que acceder al menú contextual de la misma y en la parte de abajo dispondremos de la opción correspondiente: al activarla tendremos un cuadro de diálogo con la gestión de las diferentes carpetas que tienen las Acciones de Carpeta activadas y los Scripts que ejecutan.

Apple ofrece por defecto varias acciones de todo tipo, algunas de ellas orientadas al tratamiento de imágenes y otras, avisos como el caso que nos ocupa. Estos scripts se almacenan en Librería > Scripts > Folder Action Scripts.

Captura-de-pantalla-2009-11-30-a-las-13.10.27.jpg

La solución mas sencilla para el caso que nos ocupa es usar un script que viene por defecto: add - New item alert.scpt, que nos mostrará un cuadro de diálogo una vez se haya añadido un archivo a esta carpeta.

Sin embargo este script es bastante intrusivo, porque requiere una acción por parte del usuario (pulsar un botón) y en muchos casos lo que necesitamos es simplemente saber que el archivo ya ha llegado y que está disponible para usarlo en el momento que lo necesitemos.

Una buena opción para solucionar este problema es usar Growl.

Este software, gratuito, es un sistema de avisos no vinculante, es decir, solo informa pero no requiere ninguna decisión por nuestra parte. La ventaja de Growl, es que es compatible, vía plug ins o soporte integrado con un listado mucho más amplio de aplicaciones, incluido iTunes, la mayoría de clientes de correo del mercado, clientes de FTP, etc.

Growl básicamente nos informa de las aciones que toma el programa y de sus resultados si los hubiera. Resulta muy cómodo porque los avisos pueden tomar diferentes formas y aspectos, e incluso puede guardar un log de lo que ha hecho el programa y enviar correos electrónicos con los diferentes resultados. Y además trabaja muy bien con AppleScript. La aplicación mantiene informado al usuario de ciertas operaciones que realiza el ordenador ofreciéndome confirmaciones de tareas hechas o de su estado. Se maneja desde un panel de control dentro de las preferencias del sistema de una manera sencilla y transparente. Es Binario Universal. Puedes descargar Growl desde la Web del desarrollador.

Un vez descargado e instalado Growl, lo que vamos a hacer es aprovecharnos de su soporte Applescript para recibir la información oportuna sin necesidad de realizar ninguna acción.

Partiremos de un script de Cocoa Forge:

on adding folder items to this_folder after receiving added_items
try
set notification to ""
set fileList to ("") as Unicode text
set notifyTitle to ("") as Unicode text

tell application "Finder"
--get the name of the folder
set the folder_name to the name of this_folder
end tell
set the item_count to the number of items in the added_items
repeat with thisFile in added_items
tell application "Finder"
--get the name of the folder
set the file_name to the name of thisFile
end tell
if the fileList is "" then
set the fileList to the fileList & file_name
else
set the fileList to the fileList & ", " & file_name
end if
end repeat
if the item_count is 1 then
set notifyTitle to "Nuevo archivo en la carpeta " & the folder_name & ""
set notification to fileList & " ha sido añadido a la carpeta " & the folder_name & "."
else
set notifyTitle to "Nuevo archivo/s en la carpeta " & the folder_name & ""
set notification to fileList & " ha sido añadido a la carpeta " & the folder_name & "."
end if

tell application "System Events"
if (application processes whose name is "GrowlHelperApp") is not {} then
tell application "GrowlHelperApp"
register as application ¬
"Folder Actions" all notifications {"Added File"} ¬
default notifications {"Added File"} ¬
icon of application "Finder"

notify with name "Added File" title notifyTitle description notification application name "Folder Actions" icon of file this_folder with sticky
end tell
end if
end tell

end try
end adding folder items to

Copia y pega el script en un documento nuevo del Editor de Scripts, guárdalo en Librería > Scripts > Folder Action Scripts. Ahora en Acciones de Carpeta selecciona este nuevo script y cuando el archivo termine de copiarse, recibirás una notificación de Growl sin la necesidad de tener que pulsar ningún botón.



Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios. (es necesario iniciar sesión)
Imagen de Calamidad

Muchas gracias

Muchas gracias, de verdad. Sois muy, muy buenos. Funciona de maravilla.

Imagen de faqmaquer@

Buenisimo!

Buenisimo!

Imagen de Javi Dominguez

iChat

Nosotros usamos iChat para comunicación y envío de archivos.
Tienes controlada la comunicación y el envío es claro y directo entre usuarios.

Imagen de Inquisidor Mayor

El título es espesísimo,

El título es espesísimo, pero el truco es MUY, MUY bueno. Es más, creo que sería posible reenviar estas notificaciones vía el servidor de Growl para que se supiera el final de la copia si estás en otro ordenador.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
CAPTCHA
Este servicio evita el envío automatizado de comentarios
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.

Los comentarios que vulneren los derechos de otros usuarios, estén relacionados con actividades ilegales , supongan un claro ejemplo de interés comercial o sean ajenos al contenido de la noticia serán borrados sin aviso previo. Una buena ortografía y sintaxis ayudará a otros usuarios a entender mucho mejor sus inquietudes. Los comentarios anónimos sin correo electrónico de referencia (que en ningún caso será mostrado) son susceptibles de ser borrados o editados independientemente de su contenido.
Una vez enviado el comentario, se hará visible en unos minutos. Si cree que alguno de los comentarios publicados vulnera sus derechos legales, por favor, envíenos unas líneas a través de nuestro formulario de contacto. Al colocar un comentario en esta web, acepta que sus datos queden recogidos en una base de datos propiedad de Entremaqueros, SL., ubicada en EE.UU., cuya finalidad es el exclusivo almacenamiento de los mismos.


Necesitará iniciar sesión o registrarse para publicar comentarios o acceder a otros servicios de www.faq-mac.com