Querer ayuda para crear un AppleScript que se ejecuta cuando cambia el contenido de una carpeta

Agradecería mucho ayuda con lo siguiente.

Mi escenario:

  • AppleScript para habilitar VPN roto después de la actualización a 10.9.3
  • ¿Cómo uso AppleScript o Automator para activar o desactivar el anuncio de time en momentos específicos?
  • ¿Hay alguna forma de desencadenar Acción de carpeta al agregar un file a cualquier subcarpeta?
  • Recortar nombres de file en el automatizador w. concha o manzanas
  • Tengo una aplicación para Mac que genera files RTF. Tengo una aplicación para Android que trata con files MultiMarkdown / Markdown.

    La aplicación Mac trabaja con proyectos, y estos tienen una cantidad de files en ellos. Puede sincronizar automáticamente los files en un proyecto dado a una carpeta. Esencialmente, colocará en la carpeta un montón de files cada vez que se sincronice (al abrir y cerrar, y manualmente). Cualquier cambio en esa carpeta se sincroniza automáticamente con mi dispositivo Android.

    Sin embargo, necesito que se conviertan a files .mmd antes de que eso suceda, y se convierten nuevamente a RTF cuando los files vienen cambiados (o nuevos) desde el dispositivo Android.

    Entonces esto es lo que tengo en mente. Lo que me gustaría es configurar las cosas de tal manera que cuando los files se sincronizan desde la aplicación Mac a su carpeta de destino, esos files se conviertan automáticamente de RTF a MMD. Ya tengo los scripts que harán la conversión real. Y cuando cambien los files MMD, se convertirán automáticamente a files RTF. También tengo un guion para esto.

    Las preguntas que tengo son estas:

    1. ¿Cómo puedo controlar automáticamente una carpeta para ver los cambios en su contenido y ejecutar una secuencia de commands si los files cambian en esa carpeta?
    2. ¿Cómo podría hacer que esto funcione de dos maneras, sin tirar todo en un bucle sin fin? Al principio pensé que podría hacer lo siguiente:

    Conversión bidireccional:

    1. Crea dos carpetas en la Mac. Una es para files RTF, la otra es para files MMD.
    2. Configure la aplicación Mac para sincronizar sus datos desde y hacia la carpeta RTF
    3. Configure el sistema de synchronization de Mac a Android (Dropbox, Bittorrent Sync, etc.) para sincronizar el contenido de la carpeta MMD con una carpeta en el dispositivo Android.
    4. Cuando el contenido de las carpetas RTF cambia, convierte los files a MMD y coloca los resultados en la carpeta MMD. Y viceversa.

    Pero, obviamente, esto creará un ciclo infinito, porque cada acción activará la acción inversa, sin fin.

    Una posible forma de sortear este ciclo sin fin podría ser esta:

    • La carpeta RTF tiene una secuencia de commands R asignada. Cuando el contenido cambia, el script R se ejecuta.
    • La carpeta MMD tiene el script M asignado. Cuando el contenido cambia, el script M se ejecuta.
    • Cuando se detecta un cambio en la carpeta RTF, lo primero que hace el script R es desactivar el script M de la activación. Lo último que hace el script R antes de salir es habilitar el script M nuevamente. De esta forma, M no "notará" que el contenido de la carpeta estaba cambiando mientras R estaba actualizando su contenido con los files recién convertidos.
    • Lo mismo se aplicaría a la inversa.

    Pero tal vez hay una mejor manera?

    Tengo muchas ganas de aprender más sobre scripting y, en el process, resolver este problema.

    ¿Hay alguna persona con ideas factibles sobre cómo lograr lo que espero que funcione aquí?

  • ¿Cómo uso AppleScript o Automator para activar o desactivar el anuncio de time en momentos específicos?
  • Recortar nombres de file en el automatizador w. concha o manzanas
  • AppleScript para habilitar VPN roto después de la actualización a 10.9.3
  • ¿Hay alguna forma de desencadenar Acción de carpeta al agregar un file a cualquier subcarpeta?
  • 2 Solutions collect form web for “Querer ayuda para crear un AppleScript que se ejecuta cuando cambia el contenido de una carpeta”

    Crearía una secuencia de commands que supervisa ambas carpetas. Mi idioma de elección para esto es Python. AppleScript no es muy adecuado para este tipo de operaciones. La idea básica es escuchar FSEvents en las dos carpetas en cuestión, y cuando se produce uno, desmarcar rápidamente la secuencia de events para la otra carpeta, realizar alguna operación de conversión y synchronization, y reprogtwigr la secuencia de events previamente no progtwigda.

    El script completo, descargado aquí, con versiones modificadas de esos scripts que me mostró. La installation de MacFSEvents ahora es automática: https://www.dropbox.com/s/oylvewk90ezwb3s/File%20Sync.app.zip?dl=1

    Estos son los pasos para usarlo:

    Extraiga el applet, haga clic derecho sobre él y select "Mostrar contenido del package", abra Contenido y Recursos, luego edite el text dentro con sus emparejamientos de carpetas RTF y MMD. Podrás especificar tantos pares como necesites para mantenerte sincronizado, solo mantente en el mismo formatting que usé en el plist: una matriz por par, cada una con dos elementos, el primer elemento es la ruta a la carpeta RTF, la segunda es la ruta a la carpeta MMD. Verás esto cuando abras el plist.

    Esto debería funcionar sin ningún problema. Las carpetas se verán ahora para cualquier tipo de modificación, y tendrán los files convertidos y transferidos a la otra carpeta.

    Estoy totalmente a favor de que las personas aprendan cómo guiar las cosas, pero para el uso diario y la flexibilidad, la reimplementación de partes de Hazel by NoodleSoft es less poderosa y eficiente para una solución de propósito general.

    Hazel icon small

    Nuevamente, felicitaciones a Froggard y a Inspinetworking Life por la respuesta excelente y la pregunta práctica.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).