Jump to content

PaulF

Member
  • Posts

    19
  • Joined

  • Last visited

Everything posted by PaulF

  1. Just wanted to add my thanks for sharing this workflow. I recently moved from OmniFocus to Reminders after it added tags, smart lists, etc. I was wondering if you had any plans to support tagging to agenda, especially as a search mode in your workflow.
  2. I did just reboot to be sure, but the behavior is the same. I have been running this workflow for some time with the initial glitch and only yesterday spent the time to characterize the problem - i.e. fails first time unless Numbers is in focus. I see no difference in behavior between my AppleScript based WF and your JXA version. They both produce the same results when they succeed. But they both fail (for me) if I have the Alfred Preferences Window, or any other window other than Numbers, in focus when I run either workflow. As I have said the second time is then successful in both cases so long as I keep Numbers in focus. I get the same behavior with my Safari Tabs workflow as well so it doesn't seem to be app-specific. 🤔
  3. Thanks for the quick response and your clean JXA code. I have tried your "really fixed" workflow but unfortunately the behavior is the same for me as my original workflow. Does my workflow show the symptoms that I describe - fails, but only when Numbers is not in focus? If so, then maybe my machine is broken but I have no idea in what way and how I might proceed to "fix" it 😞
  4. I have a very similar workflow with the same structure that works with Safari instead of Numbers. This workflow shows the same behavior, requiring Safari to be in focus when the workflow is invoked in order for it to present the list of open tabs. Otherwise it just shifts the focus to Safari. Running a second time then works as expected because Safari now has focus. https://www.dropbox.com/s/e9g6oxom4igvln9/Safari Tabs - pmf.alfredworkflow?dl=0 Thanks for your help.
  5. Thanks @vitor for your explanation. Is there a better way to call a script filter from within another workflow and append the return to continue the processing in that other workflow. The external trigger is a "fire and forget" mechanism as noted by @deanishe in another post.
  6. Thanks @vitor for responding. I have just simplified my AppleScript code to remove some extraneous code that was very specific to my process. This workflow fails in the same way as before. The keyword for this public version of the workflow is 'nsp'. This is my first time sharing a workflow so I hope this dropbox link works for you. https://www.dropbox.com/s/9vzrll6pfjx8t81/Numbers Sheets - public.alfredworkflow?dl=0 Thanks again for offering to take a look.
  7. I think that I have solved my own problem with help from an old post on this forum. Calling a Workflow from another Workflow - Workflow Help & Questions - Alfred App Community Forum To trigger "1p" from my AppleScript I use the "search" method instead of the "runTrigger" method. If I have a variable "sheetName" in my AppleScript this becomes: tell application id "com.runningwithcrayons.Alfred" to search "1p " & sheetName delay 0.2 tell application "System Events" to keystroke return Note the space after 1p. When I added two of these calls in my script I found that I needed a short delay between the calls to get everything to "fire" properly. tell application id "com.runningwithcrayons.Alfred" to search "1p " & sheetName delay 0.2 tell application "System Events" to keystroke return delay 0.2 tell application id "com.runningwithcrayons.Alfred" to search "1p " & sheetName delay 0.2 tell application "System Events" to keystroke return I don't really understand the need for the delays but without them the subsequent code doesn't run.
  8. I am trying to debug (my first) script filter. I am using the option where Alfred filters the results (screenshot attached). If I understand correctly that means that my script runs only once. On my Mac I already have Numbers running with a number of sheets open that are being shown with those windows merged in a tab view before I invoke the workflow. My script filter uses AppleScript (getSheetList.scpt) to query Numbers for the names of those sheets. Scenarios: If I have focus on Numbers when I launch my workflow, the list is populated with the sheet names, as expected, and there is no issue. However, if the focus is elsewhere, the first time that I run the workflow the only response is to shift focus to Numbers - no list is generated - and the workflow ends. The second time I run the workflow all runs as expected, with a list being returned, since the first invocation set up the focus. I thought that I just had a focus issue so I investigated that further ... Attempts to force focus: If I manually force focus from Script Editor by running tell application "Numbers" to activate the workflow produces a list and there is no issue If I try to force focus by adding open -a Numbers or osascript -e 'activate application “Numbers”' to my filter script then Numbers gets focus, but no list is generated. I can't see what to do at this point, so here is the debug information that hopefully will help someone steer me in the right direction. Alfred debug window: for a "failed" run [15:28:57.162] Numbers Sheets - pmf[Script Filter] Queuing argument '(null)' for a "successful" run [15:30:36.081] Numbers Sheets - pmf[Script Filter] Queuing argument '(null)' [15:30:36.389] Numbers Sheets - pmf[Script Filter] Script with argv '(null)' finished [15:30:36.392] Numbers Sheets - pmf[Script Filter] {"items": [{"uid":"nBaseline Running Costs","title":"re_20 ... Any help would be much appreciated.
  9. I would like to call the 1Password 1Click Bookmarks integration (1p keyword in my case) from AppleScript. I do this to call other workflows using an External Trigger. Is this possible with the 1p integration? For context, I regularly launch a website and open a specific group in DEVONthink and a specific sheet in Numbers as part of a finance workflow. I have used an external trigger to have the Numbers workflow call the DEVONthink workflow with the same argument taken from the Numbers workflow script filter. I would like to also fire 1p from that same AppleScript.
  10. I just downloaded your workflow and quickly stepped through all the options - it looks really good, thank you for sharing your work. I did get one error though ... I then read about the use-of options and ran use-of-3, but the result was the same. I am running Omnifocus 3.6.4 and Alfred 4.0.9 on macOS Mojave 10.14.6
  11. Sorry to hear that. As I stated earlier, the only change that I made was to escape quotes (") in group names, so if deleting your groups with quotes (") didn't help then I don't have any more insight. I made the change in the script, dtp-list-groups.applescript, which I believe is the only AppleScript in the WorkFlow. If this doesn't make sense, best wait for @brunoc but it isn't going to help with your other groups.
  12. @nestorito any changes that I made will only address group names with quotes(") which break the workflow according to @brunoc Here is how I found my groups that contain quotes (") Hope this helps.
  13. @brunoc I think this works: The strategy is to escape the quote (") as (\") as required for JSON. All I did was introduce a "findAndReplaceInText" generic routine for replacing text in strings from the Mac Automation Scripting Guide which can then be used to escape the group name strings. I used that routine in your "addToGroups" to replace any quotes (") within "theName" to (\"). The routine string parameters are actually "\"", and "\\\" To add a single quote to a string in AppleScript already requires it be specified as \" To specify the required output means adding two backslashes, I think the first escapes the second! When I look at the JSON output, your original code using "theName" gives: "2019-08-19: 3" tie in west pasture" which causes a problem for JSON. However, using the modified code with "theEscapedName" gives: "2019-08-19: 3\" tie in west pasture" which is accepted by JSON and doesn't seem to affect the functioning of the rest of your code.
  14. @brunoc from what I can see, you're much better than me! Maybe someone else will be able to help out, and I will take a look myself. If I make any progress I will share it with you.
  15. @brunoc I just did a proof of concept test using my small test database that has the problematic group name 1. I ran "dtp" and forced the cache to update - it failed, as usual, because of the extra quote ("). 2. I then went to the cache and edited the "broken" jsonOutput by inserting a backslash (\) in front of the extra quote (") 3. I then reran "dtp" and this time there was no error and everything works as expected ... until the cache updates. Here is the window showing the group name with the internal quote ("). Selecting this group works as expected and the group is opened within DEVONthink correctly!
  16. @brunoc I have looked at my databases and I do have some groups with a quote (") in the name, and that is causing the problem. I created a small test database containing a group with a quote (") in the name. I then stepped through your script: dtp-list-groups.applescript (outside of Alfred) and captured the jsonOutput. I then looked at that data with a JSON formatter and I get an error unless: 1. I manually delete the extra quote (") 2. I manually insert a backslash (\) in front of the quote (") I see how an extra quote would cause problems given the reliance of the quote (") in the JSON format itself. However, I did find that people are using backslashes to escape the quote (") in similar situations How to escape double quotes in JSON. I don't know if you can encode the strings to protect the quote (") going into the jsonOutput or how this might affect the query side of your script. In the meantime, I will remove the quotes (") from those group names. Thanks again for providing this very useful workflow.
  17. ... not working again (no DT groups are listed as indicated in previous screenshots) and now I have enabled debug and get the following error: [18:00:14.034] ERROR: DEVONthink Browser[Script Filter] JSON error: Badly formed object around character 185584. in JSON: {"items": [{"uid":"C6CB480C-35A4-4C ... ... ...[truncated] This is the first and only debug message after "logging started" and is thrown as soon as dtp is typed within Alfred. If I hit return to force the cache to refresh, clear the debug window and type dtp a second time I still get the same error. Any help for how to proceed would be most welcome. In the meantime, I am trying to find the cache file location so that I can parse the json file and see if the "badly formed" object is obvious to me. I see the environment; variable ${alfred_workflow_cache} but being new to workflows am still trying to see where that variable is defined since it isn't one of the user settings.
  18. I tried again today and all seems well. I really don't know what changed. I did see a "waiting for DEVONthink" message just before it "dropped out" of the dtp workflow before. I saw that same message today, but this time all went well. I really love the "Move to DEVONthink" file functionality combined with the group search - thanks again @brunoc!
  19. Thanks @brunoc - I downloaded your workflow a few days ago and, after waiting for the cache to refresh, all seemed well. However, a few days later I went to use the workflow again and unfortunately couldn't get it to work correctly as it had before. Here is a sequence of screenshots that show how it is failing for me. I haven't tried to debug the workflow on my end because I have no expertise but would be happy to run any tests that might help you understand what is going on. I was particularly excited by the file actions and am motivated to do whatever I can on my end to make this work. Thanks for developing and sharing the workflow. Here is the sequence of events as I type dtp <space>. After the space, I seem to have dropped out of your workflow.
×
×
  • Create New...