{"workflows": [{"url": "http://editorial-app.appspot.com/workflow/5906428657139712/Q480KgRFRlE", "workflow_data": {"username": "yt", "description": "After picking a tag from the list of tags in the current document, only tasks that contain this tag are shown, everything else is hidden (folded).", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"script": "#coding: utf-8\nimport workflow\nimport editor\nimport re\n\ntext = editor.get_text()\ntags = sorted(set(re.findall('@\\w+', text)))\nif len(tags) == 0:\n\timport console\n\tconsole.hud_alert('No Tags Found', 'error')\n\tworkflow.stop()\nelse:\n\tworkflow.set_output('\\n'.join(tags))\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"list": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "title": "Select Tag", "showInPopover": false, "allowMultipleSelection": false}, "class": "WorkflowActionSelectFromList"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionRegexEscape"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"pattern": {"text": "?\\b", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "invert": true}, "class": "WorkflowActionFoldLinesMatchingPattern"}], "name": "Focus on Tag...", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone9,1", "systemVersion": "12.1.4"}, "type": "wkflw", "public": true, "icon": "minicons-icons-datas-funnel.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22yt%22%2C%20%22description%22%3A%20%22After%20picking%20a%20tag%20from%20the%20list%20of%20tags%20in%20the%20current%20document%2C%20only%20tasks%20that%20contain%20this%20tag%20are%20shown%2C%20everything%20else%20is%20hidden%20%28folded%29.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20editor%5Cnimport%20re%5Cn%5Cntext%20%3D%20editor.get_text%28%29%5Cntags%20%3D%20sorted%28set%28re.findall%28%27%40%5C%5Cw%2B%27%2C%20text%29%29%29%5Cnif%20len%28tags%29%20%3D%3D%200%3A%5Cn%5Ctimport%20console%5Cn%5Ctconsole.hud_alert%28%27No%20Tags%20Found%27%2C%20%27error%27%29%5Cn%5Ctworkflow.stop%28%29%5Cnelse%3A%5Cn%5Ctworkflow.set_output%28%27%5C%5Cn%27.join%28tags%29%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22list%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22Select%20Tag%22%2C%20%22showInPopover%22%3A%20false%2C%20%22allowMultipleSelection%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionSelectFromList%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionRegexEscape%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22pattern%22%3A%20%7B%22text%22%3A%20%22%3F%5C%5Cb%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22invert%22%3A%20true%7D%2C%20%22class%22%3A%20%22WorkflowActionFoldLinesMatchingPattern%22%7D%5D%2C%20%22name%22%3A%20%22Focus%20on%20Tag...%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone9%2C1%22%2C%20%22systemVersion%22%3A%20%2212.1.4%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-datas-funnel.png%22%7D", "description": "After picking a tag from the list of tags in the current document, only tasks that contain this tag are shown, everything else is hidden (folded).", "title": "Focus on Tag..."}, {"url": "http://editorial-app.appspot.com/workflow/5774998027370496/2sGRn1gUnmE", "workflow_data": {"username": "", "description": "", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionGetClipboard"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"html": {"text": "\n\n\n\n?\n\n", "tokenRanges": {"{67, 1}": "Input"}, "type": "advancedText"}, "baseURL": "", "title": "Preview HTML"}, "class": "WorkflowActionShowHTMLPreview"}], "name": "Preview_html_from_clipboard", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad7,4", "systemVersion": "12.1"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_SPANNER.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%22%2C%20%22description%22%3A%20%22%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionGetClipboard%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22html%22%3A%20%7B%22text%22%3A%20%22%3C%21DOCTYPE%20html%3E%5Cn%3Chtml%3E%5Cn%3Chead%3E%3Cmeta%20charset%3D%5C%22utf-8%5C%22%2F%3E%3C%2Fhead%3E%5Cn%3Cbody%3E%5Cn%3F%5Cn%3C%2Fbody%3E%5Cn%3C%2Fhtml%3E%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B67%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22baseURL%22%3A%20%22%22%2C%20%22title%22%3A%20%22Preview%20HTML%22%7D%2C%20%22class%22%3A%20%22WorkflowActionShowHTMLPreview%22%7D%5D%2C%20%22name%22%3A%20%22Preview_html_from_clipboard%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad7%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_SPANNER.png%22%7D", "description": "", "title": "Preview_html_from_clipboard"}, {"url": "http://editorial-app.appspot.com/workflow/5887711122554880/XVlX7jhsmvI", "workflow_data": {"username": "pursuitofefficiency", "name": "Get Quote", "description": "Type a few words from a quote and an author's last name to pull the quote from GoodReads.\n\nIf no text is selected, it will use the current line.\nIf there are no results on GoodReads, it will run a Google Search on the In-App Browser.\n\nI like to use the workflow inline by using the abbreviation \"gqt\". You can also select text and send it to the workflow using a shortcut key via a keyboard or manually tapping it.", "actions": [{"customTitle": "No Text Selected - Select Line", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:selection"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "pauseWithoutShowingParameters": false, "colorLabel": 2, "subActions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"numberOfSteps": {"text": "1", "tokenRanges": {}, "type": "advancedText"}, "direction": 2, "unit": 1}, "class": "WorkflowActionExtendSelection"}, {"customTitle": "", "parameters": {}, "pauseWithoutShowingParameters": false, "colorLabel": 2, "class": "WorkflowActionConditionEnd", "pauseBeforeRunning": false}], "class": "WorkflowActionCondition", "pauseBeforeRunning": false}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "emptySelectionOption": 0, "foldedTextOption": 0, "selectEntireLines": true}, "class": "WorkflowActionGetSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionURLEscape"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "userQuote", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"text": {"text": "https://www.goodreads.com/search?utf8=%E2%9C%93&q=?&search_type=quotes", "tokenRanges": {"{50, 1}": "userQuote"}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "fullLink", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"customTitle": "BS4 generate dictionary", "parameters": {"script": "#coding: utf-8\nimport workflow\nfrom bs4 import BeautifulSoup\nimport requests\nimport console\nimport re\n\nfullLink = workflow.get_variable('fullLink')\n\nr = requests.get(fullLink)\n\ndata = r.text\n\nsoup = BeautifulSoup(data)\n\nsource = {}\n\nquote_soup = soup.find(\"div\", {\"class\": \"quoteText\"})\n\ndef cleanhtml(raw_html):\n cleanr = re.compile('<.*?>')\n cleantext = re.sub(cleanr, '', raw_html)\n return cleantext\n\nquote_soup_string = cleanhtml(str(quote_soup))\n\nworkflow.set_output(quote_soup_string)\n"}, "pauseWithoutShowingParameters": false, "colorLabel": 4, "class": "WorkflowActionRunScript", "pauseBeforeRunning": false}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionRemoveWhitespace"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"findOption": 2, "find": {"text": "\\s", "tokenRanges": {}, "type": "advancedText"}, "replace": {"text": " ", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionFindReplace"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "originalResult", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"findOption": 0, "find": {"text": " \u2014 ", "tokenRanges": {}, "type": "advancedText"}, "replace": {"text": " \n- ", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionFindReplace"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"text": {"text": "\n> ?\n[[More Results](?)]", "tokenRanges": {"{3, 1}": "Input", "{21, 1}": "fullLink"}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "fullOutput", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "originalResult"}, "type": "advancedText"}, "expression2": {"text": "None", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "pauseWithoutShowingParameters": false, "subActions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": false, "HUDTitle": ""}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}], "class": "WorkflowActionCondition", "pauseBeforeRunning": false}, {"customTitle": "Google selection", "parameters": {"expression1": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "pauseWithoutShowingParameters": false, "colorLabel": 1, "subActions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"duration": 0, "HUDText": {"text": "No result found", "tokenRanges": {}, "type": "advancedText"}, "icon": 1}, "class": "WorkflowActionShowHUD"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:selection"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"searchTerm": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:selection"}, "type": "advancedText"}}, "class": "WorkflowActionSearchInBrowser"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:selection"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"numberOfSteps": {"text": "1", "tokenRanges": {}, "type": "advancedText"}, "direction": 2, "unit": 1}, "class": "WorkflowActionExtendSelection"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"searchTerm": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:selection"}, "type": "advancedText"}}, "class": "WorkflowActionSearchInBrowser"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"customTitle": "", "parameters": {}, "pauseWithoutShowingParameters": false, "colorLabel": 1, "class": "WorkflowActionConditionEnd", "pauseBeforeRunning": false}], "class": "WorkflowActionCondition", "pauseBeforeRunning": false}], "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone10,2", "systemVersion": "12.1.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_MESSAGE.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22pursuitofefficiency%22%2C%20%22name%22%3A%20%22Get%20Quote%22%2C%20%22description%22%3A%20%22Type%20a%20few%20words%20from%20a%20quote%20and%20an%20author%27s%20last%20name%20to%20pull%20the%20quote%20from%20GoodReads.%5Cn%5CnIf%20no%20text%20is%20selected%2C%20it%20will%20use%20the%20current%20line.%5CnIf%20there%20are%20no%20results%20on%20GoodReads%2C%20it%20will%20run%20a%20Google%20Search%20on%20the%20In-App%20Browser.%5Cn%5CnI%20like%20to%20use%20the%20workflow%20inline%20by%20using%20the%20abbreviation%20%5C%22gqt%5C%22.%20You%20can%20also%20select%20text%20and%20send%20it%20to%20the%20workflow%20using%20a%20shortcut%20key%20via%20a%20keyboard%20or%20manually%20tapping%20it.%22%2C%20%22actions%22%3A%20%5B%7B%22customTitle%22%3A%20%22No%20Text%20Selected%20-%20Select%20Line%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Aselection%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%202%2C%20%22subActions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22numberOfSteps%22%3A%20%7B%22text%22%3A%20%221%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22direction%22%3A%202%2C%20%22unit%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionExtendSelection%22%7D%2C%20%7B%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%202%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%5D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22emptySelectionOption%22%3A%200%2C%20%22foldedTextOption%22%3A%200%2C%20%22selectEntireLines%22%3A%20true%7D%2C%20%22class%22%3A%20%22WorkflowActionGetSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionURLEscape%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22userQuote%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22https%3A%2F%2Fwww.goodreads.com%2Fsearch%3Futf8%3D%25E2%259C%2593%26q%3D%3F%26search_type%3Dquotes%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B50%2C%201%7D%22%3A%20%22userQuote%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22fullLink%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22customTitle%22%3A%20%22BS4%20generate%20dictionary%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnfrom%20bs4%20import%20BeautifulSoup%5Cnimport%20requests%5Cnimport%20console%5Cnimport%20re%5Cn%5CnfullLink%20%3D%20workflow.get_variable%28%27fullLink%27%29%5Cn%5Cnr%20%3D%20requests.get%28fullLink%29%5Cn%5Cndata%20%3D%20r.text%5Cn%5Cnsoup%20%3D%20BeautifulSoup%28data%29%5Cn%5Cnsource%20%3D%20%7B%7D%5Cn%5Cnquote_soup%20%3D%20soup.find%28%5C%22div%5C%22%2C%20%7B%5C%22class%5C%22%3A%20%5C%22quoteText%5C%22%7D%29%5Cn%5Cndef%20cleanhtml%28raw_html%29%3A%5Cn%20%20cleanr%20%3D%20re.compile%28%27%3C.%2A%3F%3E%27%29%5Cn%20%20cleantext%20%3D%20re.sub%28cleanr%2C%20%27%27%2C%20raw_html%29%5Cn%20%20return%20cleantext%5Cn%5Cnquote_soup_string%20%3D%20cleanhtml%28str%28quote_soup%29%29%5Cn%5Cnworkflow.set_output%28quote_soup_string%29%5Cn%22%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%204%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionRemoveWhitespace%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22findOption%22%3A%202%2C%20%22find%22%3A%20%7B%22text%22%3A%20%22%5C%5Cs%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22replace%22%3A%20%7B%22text%22%3A%20%22%20%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFindReplace%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22originalResult%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22findOption%22%3A%200%2C%20%22find%22%3A%20%7B%22text%22%3A%20%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cu2014%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22replace%22%3A%20%7B%22text%22%3A%20%22%20%20%20%5Cn-%20%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFindReplace%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22%5Cn%3E%20%3F%5Cn%5B%5BMore%20Results%5D%28%3F%29%5D%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B3%2C%201%7D%22%3A%20%22Input%22%2C%20%22%7B21%2C%201%7D%22%3A%20%22fullLink%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22fullOutput%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22originalResult%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22None%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22subActions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20false%2C%20%22HUDTitle%22%3A%20%22%22%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%5D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22customTitle%22%3A%20%22Google%20selection%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%201%2C%20%22subActions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22duration%22%3A%200%2C%20%22HUDText%22%3A%20%7B%22text%22%3A%20%22No%20result%20found%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22icon%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionShowHUD%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Aselection%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22searchTerm%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Aselection%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionSearchInBrowser%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Aselection%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22numberOfSteps%22%3A%20%7B%22text%22%3A%20%221%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22direction%22%3A%202%2C%20%22unit%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionExtendSelection%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22searchTerm%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Aselection%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionSearchInBrowser%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%201%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%5D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%5D%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone10%2C2%22%2C%20%22systemVersion%22%3A%20%2212.1.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_MESSAGE.png%22%7D", "description": "Type a few words from a quote and an author's last name to pull the quote from GoodReads.\n\nIf no text is selected, it will use the current line.\nIf there are no results on GoodReads, it will run a Google Search on the In-App Browser.\n\nI like to use the workflow inline by using the abbreviation \"gqt\". You can also select text and send it to the workflow using a shortcut key via a keyboard or manually tapping it.", "title": "Get Quote"}, {"url": "http://editorial-app.appspot.com/workflow/5867327274876928/UkAFn6qfZXE", "workflow_data": {"username": "", "description": "This Workflow accepts TaskPaper text with \u00abplaceholder\u00bb tokens and prompts for you to enter final values, then creates a project in OmniFocus 2.14 for iOS using those tokens.\n\nFor example, given this input:\n\n- \u00abproject_name\u00bb @parallel(false) @due(\u00abdue\u00bb)\n - This task needs to be done at least 1 week before \u00abproject_name\u00bb is due @due(\u00abdue\u00bb -1w)\n - This task needs to be done at least 2 days before \u00abproject_name\u00bb is due @due(\u00abdue\u00bb -2d)\n\nYou'll be prompted to enter values for \u00abproject_name\u00bb and \u00abdue\u00bb. If you enter \"Phonewave 1.2\" and \"next Thursday\", it will create a new \"Phonewave 1.2\" project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "emptySelectionOption": 1, "foldedTextOption": 0, "selectEntireLines": false}, "class": "WorkflowActionGetSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"script": "#coding: utf-8\nimport workflow\nimport dialogs\nimport re\n\naction_in = workflow.get_input()\n\n# Find placeholders\nknown_placeholders = set()\nplaceholders = []\nfields = []\nfor placeholder_match in re.finditer(u\"\u00ab(.+?)\u00bb\", action_in):\n\tplaceholder = placeholder_match.group(1)\n\tif placeholder not in known_placeholders:\n\t\tknown_placeholders.add(placeholder)\n\t\tplaceholders.append(placeholder)\n\t\tfields.append({'type': 'text', 'title': placeholder, 'key': placeholder})\n\naction_out = action_in\n\n# Substitute the placeholders\nif len(placeholders) == 0:\n\tif dialogs.alert(u\"No template placeholders were found.\", u\"\"\"\nIf your project text has placeholders (that look like \u00abthis\u00bb), this script will prompt for values you'd like to substitute for them.\n\"\"\", u\"Continue\") != 1:\n\t workflow.stop()\n\nelse:\n\tvalues = dialogs.form_dialog(title='', fields=fields, sections=None)\n\tif values:\n\t\tfor key in values:\n\t\t\taction_out = re.sub(u\"\u00ab\" + key + \"\u00bb\", values[key], action_out)\n\nworkflow.set_output(action_out)\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionURLEscape"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "encodedContent", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"URL": {"text": "omnifocus://x-callback-url/paste?target=projects&content=?", "tokenRanges": {"{57, 1}": "encodedContent"}, "type": "advancedText"}, "waitUntilLoaded": false, "revealBrowserAutomatically": true, "openIn": 0, "tabOption": 0}, "class": "WorkflowActionOpenURL"}], "name": "New OmniFocus Project", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone11,2", "systemVersion": "12.1.3"}, "type": "wkflw", "public": true, "icon": "minicons-icons-validation-tick-circle-3.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%22%2C%20%22description%22%3A%20%22This%20Workflow%20accepts%20TaskPaper%20text%20with%20%5Cu00abplaceholder%5Cu00bb%20tokens%20and%20prompts%20for%20you%20to%20enter%20final%20values%2C%20then%20creates%20a%20project%20in%20OmniFocus%202.14%20for%20iOS%20using%20those%20tokens.%5Cn%5CnFor%20example%2C%20given%20this%20input%3A%5Cn%5Cn-%20%5Cu00abproject_name%5Cu00bb%20%40parallel%28false%29%20%40due%28%5Cu00abdue%5Cu00bb%29%5Cn%20%20%20%20%20%20%20%20-%20This%20task%20needs%20to%20be%20done%20at%20least%201%20week%20before%20%5Cu00abproject_name%5Cu00bb%20is%20due%20%40due%28%5Cu00abdue%5Cu00bb%20-1w%29%5Cn%20%20%20%20%20%20%20%20-%20This%20task%20needs%20to%20be%20done%20at%20least%202%20days%20before%20%5Cu00abproject_name%5Cu00bb%20is%20due%20%40due%28%5Cu00abdue%5Cu00bb%20-2d%29%5Cn%5CnYou%27ll%20be%20prompted%20to%20enter%20values%20for%20%5Cu00abproject_name%5Cu00bb%20and%20%5Cu00abdue%5Cu00bb.%20If%20you%20enter%20%5C%22Phonewave%201.2%5C%22%20and%20%5C%22next%20Thursday%5C%22%2C%20it%20will%20create%20a%20new%20%5C%22Phonewave%201.2%5C%22%20project%20in%20OmniFocus%20that%20is%20due%20next%20Thursday%2C%20and%20has%20two%20tasks%20already%20filled%20with%20due%20dates%20of%20this%20Thursday%20and%20next%20Tuesday.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22emptySelectionOption%22%3A%201%2C%20%22foldedTextOption%22%3A%200%2C%20%22selectEntireLines%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionGetSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20dialogs%5Cnimport%20re%5Cn%5Cnaction_in%20%3D%20workflow.get_input%28%29%5Cn%5Cn%23%20Find%20placeholders%5Cnknown_placeholders%20%3D%20set%28%29%5Cnplaceholders%20%3D%20%5B%5D%5Cnfields%20%3D%20%5B%5D%5Cnfor%20placeholder_match%20in%20re.finditer%28u%5C%22%5Cu00ab%28.%2B%3F%29%5Cu00bb%5C%22%2C%20action_in%29%3A%5Cn%5Ctplaceholder%20%3D%20placeholder_match.group%281%29%5Cn%5Ctif%20placeholder%20not%20in%20known_placeholders%3A%5Cn%5Ct%5Ctknown_placeholders.add%28placeholder%29%5Cn%5Ct%5Ctplaceholders.append%28placeholder%29%5Cn%5Ct%5Ctfields.append%28%7B%27type%27%3A%20%27text%27%2C%20%27title%27%3A%20placeholder%2C%20%27key%27%3A%20placeholder%7D%29%5Cn%5Cnaction_out%20%3D%20action_in%5Cn%5Cn%23%20Substitute%20the%20placeholders%5Cnif%20len%28placeholders%29%20%3D%3D%200%3A%5Cn%5Ctif%20dialogs.alert%28u%5C%22No%20template%20placeholders%20were%20found.%5C%22%2C%20u%5C%22%5C%22%5C%22%5CnIf%20your%20project%20text%20has%20placeholders%20%28that%20look%20like%20%5Cu00abthis%5Cu00bb%29%2C%20this%20script%20will%20prompt%20for%20values%20you%27d%20like%20to%20substitute%20for%20them.%5Cn%5C%22%5C%22%5C%22%2C%20u%5C%22Continue%5C%22%29%20%21%3D%201%3A%5Cn%5Ct%20%20workflow.stop%28%29%5Cn%5Cnelse%3A%5Cn%5Ctvalues%20%3D%20dialogs.form_dialog%28title%3D%27%27%2C%20fields%3Dfields%2C%20sections%3DNone%29%5Cn%5Ctif%20values%3A%5Cn%5Ct%5Ctfor%20key%20in%20values%3A%5Cn%5Ct%5Ct%5Ctaction_out%20%3D%20re.sub%28u%5C%22%5Cu00ab%5C%22%20%2B%20key%20%2B%20%5C%22%5Cu00bb%5C%22%2C%20values%5Bkey%5D%2C%20action_out%29%5Cn%5Cnworkflow.set_output%28action_out%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionURLEscape%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22encodedContent%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22URL%22%3A%20%7B%22text%22%3A%20%22omnifocus%3A%2F%2Fx-callback-url%2Fpaste%3Ftarget%3Dprojects%26content%3D%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B57%2C%201%7D%22%3A%20%22encodedContent%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22waitUntilLoaded%22%3A%20false%2C%20%22revealBrowserAutomatically%22%3A%20true%2C%20%22openIn%22%3A%200%2C%20%22tabOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenURL%22%7D%5D%2C%20%22name%22%3A%20%22New%20OmniFocus%20Project%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone11%2C2%22%2C%20%22systemVersion%22%3A%20%2212.1.3%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-validation-tick-circle-3.png%22%7D", "description": "This Workflow accepts TaskPaper text with \u00abplaceholder\u00bb tokens and prompts for you to enter final values, then creates a project in OmniFocus 2.14 for iOS using those tokens.\n\nFor example, given this input:\n\n- \u00abproject_name\u00bb @parallel(false) @due(\u00abdue\u00bb)\n - This task needs to be done at least 1 week before \u00abproject_name\u00bb is due @due(\u00abdue\u00bb -1w)\n - This task needs to be done at least 2 days before \u00abproject_name\u00bb is due @due(\u00abdue\u00bb -2d)\n\nYou'll be prompted to enter values for \u00abproject_name\u00bb and \u00abdue\u00bb. If you enter \"Phonewave 1.2\" and \"next Thursday\", it will create a new \"Phonewave 1.2\" project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday.", "title": "New OmniFocus Project"}, {"url": "http://editorial-app.appspot.com/workflow/5794810308853760/BfYl7aBLnco", "workflow_data": {"username": "", "description": "Strip everything but the content of the Wrestling Observer Newsletter from the new website.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": false, "filename": "Observer Triage.md"}, "class": "WorkflowActionOpenDocument"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Clear Document", "parameters": {"11552F95-7E82-4F81-8675-EB075C363FA6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F57AB033-7DA2-4C21-B0E6-599C2EFDD2A9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AC53CBCA-B77E-485C-AA76-7B8528EE10AC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "71C2B25B-D91B-4E8B-BD40-538439419F7E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E6EABCE9-62D3-445F-A72F-E1DD7CE849F1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A6D5E49E-B3FB-4973-8041-FCA43A3CDACD": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5916DCAE-ABFD-4946-9204-4044920B3F0F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F400F19E-2225-46AF-A8F5-BB84C1B06113": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [], "FB0E231A-2EF7-4AB1-97EE-D1CD21D7194F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "83171AC8-D3A9-43F4-B811-4409C6C90F24": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "24ED7E3B-E39E-4F7E-9875-D5E5BA95F12F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F730E2E4-26ED-4248-9046-D3BE36AE1C22": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "46317020-D2EE-45CB-967A-A22223D213E9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "DC10CEFD-4C26-42A2-B26C-DDB3EFDDB6E1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E126D42C-8943-4BD2-8FAF-56B6C87CA520": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9DCB6C20-340B-413B-BEE4-1D1F668ACF3D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9BF7CB4E-7876-4603-A02F-170F37E4CBE3": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B8FF89EA-3946-4068-8A55-5E233605EF9E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AB137BBC-D43B-44BC-B7F8-E3118D44C5F8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8A17CD36-6156-4BA3-B07F-F13C55B7F3FD": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "#coding: utf-8\nimport workflow\nimport editor\n\nparams = workflow.get_parameters()\naction_in = workflow.get_input()\n\ndoc_text = editor.get_text()\nreplacement = ''\n\neditor.replace_text(0,len(doc_text), replacement)\n\n\n", "2523DAEF-CB68-4968-A5F6-B149EFA75BE6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "16410601-7DC0-4BD1-938B-65545C336505": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "582A1AEA-85AE-44C5-85BA-3FD056CDEE6E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5FE7A2FB-690F-4A5D-8A4E-ABA1419A89F4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "6793984D-2DDF-4DFB-BE09-F0C22B30C2AC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F0B2818D-0560-4CF3-AA91-BC21369B2733": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "DF0D7458-E4D3-4BA9-8C62-7E04E2CB5A89": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AF05067B-C1E5-4AAC-AE2B-836405D19869": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "FEAC2448-F49E-495F-B561-DF00DF8D84BA": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9D233694-8084-4ACD-97C4-21DB3AD165A5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "713A587A-8F88-4AEF-97E0-B461BD5038FB": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AF145A8A-FEB9-46A8-95C9-7EB9AB596461": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CE6D0450-02CE-427D-8211-6D2BDE4E2B4B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "19AAE58E-6486-4A81-8F79-5239FFE9FB07": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F7291BAC-A688-47AB-BBFC-1B9256AD1315": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "BAC6DCCA-22A8-49F2-9D97-E9ECF80B928C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "7632BD69-40F2-43B3-B9D1-EB15C863008D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "ED9A35B9-30FB-43AA-94BE-CE541FD38E0A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "27C01BF9-D953-4985-AF5D-67F0975E3D46": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "97213812-73D6-48EF-BD24-1CDF4291A7D5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9EBEA8F4-C689-4F6C-8B33-DE00454294BB": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AECB7E96-999A-411D-A931-9FDE3413AF30": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3A67D70B-A8C6-4D49-A2FC-84927D2DDA63": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5BD1A794-95EB-43C7-AF80-AAC7B16D2995": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "DC6027AB-9B75-4455-8688-7949FFD60FE8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5655CE02-91D2-4D6B-9862-5268D05B6536": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "50849896-8B91-40CE-A3AA-610F8D022B3B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3B339123-0C47-4AEE-B446-68CF8CAA311B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "884C50AD-772A-432E-884D-B070AD29D973": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E742BA66-27E5-42C4-BAA4-D2BA026BC8FE": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_subtitle__": "Clears all text in the current document", "5CAE3CC3-0C14-45DC-9CB9-243593708B56": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8FB80ED1-49D2-4C04-A87E-0DE94C6368CE": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8DDEADB7-5BA2-4FFB-9C5B-62E85B8D4C5F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "17D86554-CBF9-4B7F-9442-851A4B0C150F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A908D646-BC7D-45B9-94FE-BDDA9EF29720": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "67A3867E-3B51-4E7F-A436-B1A5AE4D9F3A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CED7FEE6-E399-4332-8619-FA904E413860": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3B305999-79BF-45B7-8780-E7B1FE8233B5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "318D8C71-AF02-49D0-8FC3-936FBC9D38B5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionGetClipboard"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"outputOption": 1, "regex": {"text": "
", "tokenRanges": {}, "type": "advancedText"}, "matchGroup": "", "searchTypeOption": 2}, "class": "WorkflowActionMatchRegularExpression"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"findOption": 2, "find": {"text": "\\W\\d+", "tokenRanges": {}, "type": "advancedText"}, "replace": {"text": "", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionFindReplace"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "bottom", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"outputOption": 1, "regex": {"text": "
", "tokenRanges": {}, "type": "advancedText"}, "matchGroup": "", "searchTypeOption": 2}, "class": "WorkflowActionMatchRegularExpression"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"findOption": 2, "find": {"text": "\\d+\\W", "tokenRanges": {}, "type": "advancedText"}, "replace": {"text": "", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionFindReplace"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "top", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"range": {"text": "?:9999999999", "tokenRanges": {"{0, 1}": "bottom"}, "type": "advancedText"}}, "class": "WorkflowActionSelectRange"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"range": {"text": "0:?", "tokenRanges": {"{2, 1}": "top"}, "type": "advancedText"}}, "class": "WorkflowActionSelectRange"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "final", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionSetClipboard"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Clear Document", "parameters": {"0527F0CA-BD8C-402E-AD9B-CAEE4C1ADBFC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A6D5E49E-B3FB-4973-8041-FCA43A3CDACD": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_subtitle__": "Clears all text in the current document", "F57AB033-7DA2-4C21-B0E6-599C2EFDD2A9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AB137BBC-D43B-44BC-B7F8-E3118D44C5F8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "71C2B25B-D91B-4E8B-BD40-538439419F7E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "95D39812-A36B-4334-939B-9520E97E51F8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E6EABCE9-62D3-445F-A72F-E1DD7CE849F1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "11552F95-7E82-4F81-8675-EB075C363FA6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [], "FB0E231A-2EF7-4AB1-97EE-D1CD21D7194F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B9EC12CC-C37F-4420-8ED2-C8A156558961": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E126D42C-8943-4BD2-8FAF-56B6C87CA520": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9DCB6C20-340B-413B-BEE4-1D1F668ACF3D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CED7FEE6-E399-4332-8619-FA904E413860": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B8FF89EA-3946-4068-8A55-5E233605EF9E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5FE7A2FB-690F-4A5D-8A4E-ABA1419A89F4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8FB80ED1-49D2-4C04-A87E-0DE94C6368CE": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "#coding: utf-8\nimport workflow\nimport editor\n\nparams = workflow.get_parameters()\naction_in = workflow.get_input()\n\ndoc_text = editor.get_text()\nreplacement = ''\n\neditor.replace_text(0,len(doc_text), replacement)\n\n\n", "7DD93167-D478-429A-9F64-36E971B28B93": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "2745F037-C8C3-4EAD-A9E6-637C2B3CEF89": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E0C21818-CBE5-4785-9E07-FABA8C259E79": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A9297A4F-CEE9-4158-AB18-2C5BBD6D82A9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "DF0D7458-E4D3-4BA9-8C62-7E04E2CB5A89": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "DC6027AB-9B75-4455-8688-7949FFD60FE8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "FEAC2448-F49E-495F-B561-DF00DF8D84BA": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9D233694-8084-4ACD-97C4-21DB3AD165A5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "22E99EA6-6594-4F81-BF7C-8BE1E5F160DD": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "713A587A-8F88-4AEF-97E0-B461BD5038FB": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "83171AC8-D3A9-43F4-B811-4409C6C90F24": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F7291BAC-A688-47AB-BBFC-1B9256AD1315": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "BAC6DCCA-22A8-49F2-9D97-E9ECF80B928C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "83DB92CB-E1B2-4B1D-8132-4374A9AC1FC4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "2CE109E4-C05E-452B-BFA8-5E08DC1FA64E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "27C01BF9-D953-4985-AF5D-67F0975E3D46": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "28A8A40C-FA57-4105-9F09-06C30FCB5803": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9EBEA8F4-C689-4F6C-8B33-DE00454294BB": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3A67D70B-A8C6-4D49-A2FC-84927D2DDA63": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B8BB40F6-D295-4473-9776-4C0846B1A52E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5655CE02-91D2-4D6B-9862-5268D05B6536": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "ED9A35B9-30FB-43AA-94BE-CE541FD38E0A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "15EA79B3-5D6B-473E-B02C-35F1DF4BF1DB": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E742BA66-27E5-42C4-BAA4-D2BA026BC8FE": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "50849896-8B91-40CE-A3AA-610F8D022B3B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5916DCAE-ABFD-4946-9204-4044920B3F0F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9F0BCF1D-5663-48A2-816E-9E7AA30E1A4A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3B339123-0C47-4AEE-B446-68CF8CAA311B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8DDEADB7-5BA2-4FFB-9C5B-62E85B8D4C5F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "501EB775-D530-4B68-A1FD-27A2AF060CA3": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A908D646-BC7D-45B9-94FE-BDDA9EF29720": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3B305999-79BF-45B7-8780-E7B1FE8233B5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "579A8769-ADCC-45D8-B2E9-2DCEC73BBD89": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "318D8C71-AF02-49D0-8FC3-936FBC9D38B5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}], "name": "Process Observer", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad4,1", "systemVersion": "10.0.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_SPANNER.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%22%2C%20%22description%22%3A%20%22Strip%20everything%20but%20the%20content%20of%20the%20Wrestling%20Observer%20Newsletter%20from%20the%20new%20website.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20false%2C%20%22filename%22%3A%20%22Observer%20Triage.md%22%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenDocument%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Clear%20Document%22%2C%20%22parameters%22%3A%20%7B%2211552F95-7E82-4F81-8675-EB075C363FA6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F57AB033-7DA2-4C21-B0E6-599C2EFDD2A9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AC53CBCA-B77E-485C-AA76-7B8528EE10AC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2271C2B25B-D91B-4E8B-BD40-538439419F7E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E6EABCE9-62D3-445F-A72F-E1DD7CE849F1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A6D5E49E-B3FB-4973-8041-FCA43A3CDACD%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225916DCAE-ABFD-4946-9204-4044920B3F0F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F400F19E-2225-46AF-A8F5-BB84C1B06113%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%5D%2C%20%22FB0E231A-2EF7-4AB1-97EE-D1CD21D7194F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2283171AC8-D3A9-43F4-B811-4409C6C90F24%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2224ED7E3B-E39E-4F7E-9875-D5E5BA95F12F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F730E2E4-26ED-4248-9046-D3BE36AE1C22%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2246317020-D2EE-45CB-967A-A22223D213E9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22DC10CEFD-4C26-42A2-B26C-DDB3EFDDB6E1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E126D42C-8943-4BD2-8FAF-56B6C87CA520%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229DCB6C20-340B-413B-BEE4-1D1F668ACF3D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229BF7CB4E-7876-4603-A02F-170F37E4CBE3%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B8FF89EA-3946-4068-8A55-5E233605EF9E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AB137BBC-D43B-44BC-B7F8-E3118D44C5F8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228A17CD36-6156-4BA3-B07F-F13C55B7F3FD%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20editor%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cnaction_in%20%3D%20workflow.get_input%28%29%5Cn%5Cndoc_text%20%3D%20editor.get_text%28%29%5Cnreplacement%20%3D%20%27%27%5Cn%5Cneditor.replace_text%280%2Clen%28doc_text%29%2C%20replacement%29%5Cn%5Cn%5Cn%22%2C%20%222523DAEF-CB68-4968-A5F6-B149EFA75BE6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2216410601-7DC0-4BD1-938B-65545C336505%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22582A1AEA-85AE-44C5-85BA-3FD056CDEE6E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225FE7A2FB-690F-4A5D-8A4E-ABA1419A89F4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%226793984D-2DDF-4DFB-BE09-F0C22B30C2AC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F0B2818D-0560-4CF3-AA91-BC21369B2733%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22DF0D7458-E4D3-4BA9-8C62-7E04E2CB5A89%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AF05067B-C1E5-4AAC-AE2B-836405D19869%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22FEAC2448-F49E-495F-B561-DF00DF8D84BA%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229D233694-8084-4ACD-97C4-21DB3AD165A5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22713A587A-8F88-4AEF-97E0-B461BD5038FB%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AF145A8A-FEB9-46A8-95C9-7EB9AB596461%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CE6D0450-02CE-427D-8211-6D2BDE4E2B4B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2219AAE58E-6486-4A81-8F79-5239FFE9FB07%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F7291BAC-A688-47AB-BBFC-1B9256AD1315%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22BAC6DCCA-22A8-49F2-9D97-E9ECF80B928C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%227632BD69-40F2-43B3-B9D1-EB15C863008D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22ED9A35B9-30FB-43AA-94BE-CE541FD38E0A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2227C01BF9-D953-4985-AF5D-67F0975E3D46%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2297213812-73D6-48EF-BD24-1CDF4291A7D5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229EBEA8F4-C689-4F6C-8B33-DE00454294BB%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AECB7E96-999A-411D-A931-9FDE3413AF30%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223A67D70B-A8C6-4D49-A2FC-84927D2DDA63%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225BD1A794-95EB-43C7-AF80-AAC7B16D2995%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22DC6027AB-9B75-4455-8688-7949FFD60FE8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225655CE02-91D2-4D6B-9862-5268D05B6536%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2250849896-8B91-40CE-A3AA-610F8D022B3B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223B339123-0C47-4AEE-B446-68CF8CAA311B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22884C50AD-772A-432E-884D-B070AD29D973%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E742BA66-27E5-42C4-BAA4-D2BA026BC8FE%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_subtitle__%22%3A%20%22Clears%20all%20text%20in%20the%20current%20document%22%2C%20%225CAE3CC3-0C14-45DC-9CB9-243593708B56%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228FB80ED1-49D2-4C04-A87E-0DE94C6368CE%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228DDEADB7-5BA2-4FFB-9C5B-62E85B8D4C5F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2217D86554-CBF9-4B7F-9442-851A4B0C150F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A908D646-BC7D-45B9-94FE-BDDA9EF29720%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2267A3867E-3B51-4E7F-A436-B1A5AE4D9F3A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CED7FEE6-E399-4332-8619-FA904E413860%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223B305999-79BF-45B7-8780-E7B1FE8233B5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22318D8C71-AF02-49D0-8FC3-936FBC9D38B5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionGetClipboard%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22outputOption%22%3A%201%2C%20%22regex%22%3A%20%7B%22text%22%3A%20%22%3Cdiv%20id%3D%5C%22related-articles%5C%22%3E%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22matchGroup%22%3A%20%22%22%2C%20%22searchTypeOption%22%3A%202%7D%2C%20%22class%22%3A%20%22WorkflowActionMatchRegularExpression%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22findOption%22%3A%202%2C%20%22find%22%3A%20%7B%22text%22%3A%20%22%5C%5CW%5C%5Cd%2B%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22replace%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFindReplace%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22bottom%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22outputOption%22%3A%201%2C%20%22regex%22%3A%20%7B%22text%22%3A%20%22%3Cdiv%20class%3D%5C%22line-break%5C%22%3E%3C%2Fdiv%3E%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22matchGroup%22%3A%20%22%22%2C%20%22searchTypeOption%22%3A%202%7D%2C%20%22class%22%3A%20%22WorkflowActionMatchRegularExpression%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22findOption%22%3A%202%2C%20%22find%22%3A%20%7B%22text%22%3A%20%22%5C%5Cd%2B%5C%5CW%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22replace%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFindReplace%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22top%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22range%22%3A%20%7B%22text%22%3A%20%22%3F%3A9999999999%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22bottom%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionSelectRange%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22range%22%3A%20%7B%22text%22%3A%20%220%3A%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B2%2C%201%7D%22%3A%20%22top%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionSelectRange%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22final%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionSetClipboard%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Clear%20Document%22%2C%20%22parameters%22%3A%20%7B%220527F0CA-BD8C-402E-AD9B-CAEE4C1ADBFC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A6D5E49E-B3FB-4973-8041-FCA43A3CDACD%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_subtitle__%22%3A%20%22Clears%20all%20text%20in%20the%20current%20document%22%2C%20%22F57AB033-7DA2-4C21-B0E6-599C2EFDD2A9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AB137BBC-D43B-44BC-B7F8-E3118D44C5F8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2271C2B25B-D91B-4E8B-BD40-538439419F7E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2295D39812-A36B-4334-939B-9520E97E51F8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E6EABCE9-62D3-445F-A72F-E1DD7CE849F1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2211552F95-7E82-4F81-8675-EB075C363FA6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%5D%2C%20%22FB0E231A-2EF7-4AB1-97EE-D1CD21D7194F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B9EC12CC-C37F-4420-8ED2-C8A156558961%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E126D42C-8943-4BD2-8FAF-56B6C87CA520%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229DCB6C20-340B-413B-BEE4-1D1F668ACF3D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CED7FEE6-E399-4332-8619-FA904E413860%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B8FF89EA-3946-4068-8A55-5E233605EF9E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225FE7A2FB-690F-4A5D-8A4E-ABA1419A89F4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228FB80ED1-49D2-4C04-A87E-0DE94C6368CE%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20editor%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cnaction_in%20%3D%20workflow.get_input%28%29%5Cn%5Cndoc_text%20%3D%20editor.get_text%28%29%5Cnreplacement%20%3D%20%27%27%5Cn%5Cneditor.replace_text%280%2Clen%28doc_text%29%2C%20replacement%29%5Cn%5Cn%5Cn%22%2C%20%227DD93167-D478-429A-9F64-36E971B28B93%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%222745F037-C8C3-4EAD-A9E6-637C2B3CEF89%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E0C21818-CBE5-4785-9E07-FABA8C259E79%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A9297A4F-CEE9-4158-AB18-2C5BBD6D82A9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22DF0D7458-E4D3-4BA9-8C62-7E04E2CB5A89%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22DC6027AB-9B75-4455-8688-7949FFD60FE8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22FEAC2448-F49E-495F-B561-DF00DF8D84BA%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229D233694-8084-4ACD-97C4-21DB3AD165A5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2222E99EA6-6594-4F81-BF7C-8BE1E5F160DD%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22713A587A-8F88-4AEF-97E0-B461BD5038FB%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2283171AC8-D3A9-43F4-B811-4409C6C90F24%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F7291BAC-A688-47AB-BBFC-1B9256AD1315%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22BAC6DCCA-22A8-49F2-9D97-E9ECF80B928C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2283DB92CB-E1B2-4B1D-8132-4374A9AC1FC4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%222CE109E4-C05E-452B-BFA8-5E08DC1FA64E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2227C01BF9-D953-4985-AF5D-67F0975E3D46%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2228A8A40C-FA57-4105-9F09-06C30FCB5803%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229EBEA8F4-C689-4F6C-8B33-DE00454294BB%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223A67D70B-A8C6-4D49-A2FC-84927D2DDA63%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B8BB40F6-D295-4473-9776-4C0846B1A52E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225655CE02-91D2-4D6B-9862-5268D05B6536%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22ED9A35B9-30FB-43AA-94BE-CE541FD38E0A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2215EA79B3-5D6B-473E-B02C-35F1DF4BF1DB%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E742BA66-27E5-42C4-BAA4-D2BA026BC8FE%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2250849896-8B91-40CE-A3AA-610F8D022B3B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225916DCAE-ABFD-4946-9204-4044920B3F0F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229F0BCF1D-5663-48A2-816E-9E7AA30E1A4A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223B339123-0C47-4AEE-B446-68CF8CAA311B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228DDEADB7-5BA2-4FFB-9C5B-62E85B8D4C5F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22501EB775-D530-4B68-A1FD-27A2AF060CA3%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A908D646-BC7D-45B9-94FE-BDDA9EF29720%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223B305999-79BF-45B7-8780-E7B1FE8233B5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22579A8769-ADCC-45D8-B2E9-2DCEC73BBD89%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22318D8C71-AF02-49D0-8FC3-936FBC9D38B5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%5D%2C%20%22name%22%3A%20%22Process%20Observer%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad4%2C1%22%2C%20%22systemVersion%22%3A%20%2210.0.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_SPANNER.png%22%7D", "description": "Strip everything but the content of the Wrestling Observer Newsletter from the new website.", "title": "Process Observer"}, {"url": "http://editorial-app.appspot.com/workflow/5862341220499456/TE9K02l6jEE", "workflow_data": {"username": "ROBERT SUMNER JR", "description": "", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"content": {"text": "?", "tokenRanges": {"{0, 1}": "%cursor"}, "type": "advancedText"}, "open": true, "filename": {"text": "Untitled.txt?", "tokenRanges": {"{12, 1}": "Clipboard"}, "type": "advancedText"}}, "class": "WorkflowActionCreateNewDocument"}], "name": "My Template", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone8,4", "systemVersion": "12.1.2"}, "type": "edtpl", "public": true, "icon": "minicons-icons-text-left-align.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22ROBERT%20SUMNER%20JR%22%2C%20%22description%22%3A%20%22%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22content%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25cursor%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22open%22%3A%20true%2C%20%22filename%22%3A%20%7B%22text%22%3A%20%22Untitled.txt%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B12%2C%201%7D%22%3A%20%22Clipboard%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCreateNewDocument%22%7D%5D%2C%20%22name%22%3A%20%22My%20Template%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone8%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1.2%22%7D%2C%20%22type%22%3A%20%22edtpl%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-text-left-align.png%22%7D", "description": "", "title": "My Template"}, {"url": "http://editorial-app.appspot.com/workflow/5821259388551168/3oAXgG4gakU", "workflow_data": {"username": "ROBERT SUMNER JR", "description": "This is a collection of several unrelated custom actions.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "READ ME\u2757", "parameters": {"text": {"text": "This is not an actual workflow, it just contains a collection of custom actions that are meant to be saved as presets.\n\nRunning this won't do anything because of the following 'Stop' action.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "---------------------------------------------------------------------------------------", "parameters": {"showHUD": false, "HUDTitle": ""}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Send to Drafts", "parameters": {"0217F8EB-80EF-4A2C-A9E5-7E18DC6C3248": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "1C841272-0445-4065-853D-785C8DBE61D3": true, "__custom_action_parameters__": [{"title": "Text", "type": "advancedText", "key": "EC988DCA-5C83-43C2-9CD6-1DF50A0A448D", "height": 120}, {"type": "switch", "key": "1C841272-0445-4065-853D-785C8DBE61D3", "title": "Return to Editorial"}], "30D112E0-6074-4B9E-9F59-5EFA908FC9A1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AECCCF4E-41A4-4C07-ABB0-45DF485AFD2D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9A5C7E4F-0E3F-4918-A7B2-A9F790F8BF54": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A035F565-D7EA-4F35-86F2-74B8B91721C2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F19F7720-C188-42BA-B4F7-8A94251CBB62": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "291DA446-1159-45ED-AE69-FB0F73E3CB04": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "7EC41E5D-8181-43D3-90A6-BA7A729AD37A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E05EB8C4-3C06-48D4-91C9-E5EA271879E5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "D890C0A9-6A00-4D3F-A997-40B6614EB9E2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "FD8A2171-5D14-4E7B-BEE4-4440DBA53C6C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "EC988DCA-5C83-43C2-9CD6-1DF50A0A448D": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "39FDFB9D-8D85-4A8B-A546-D7451F978EDC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "6091BAEA-7008-4A83-BC09-8B5515F8E323": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "30B1D86A-AC53-4145-8ABB-481688A09E30": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "#NOTE: Drafts doesn't support a 'success' callback URL when no action is triggered, so if 'Return to Editorial' is on, the text is also copied to the clipboard.\n\nimport workflow\nimport webbrowser\nfrom urllib import quote\n\nparams = workflow.get_parameters()\ntext = params.get('Text', None)\ncallback = params.get('Return to Editorial', False)\n\nif text:\n\turl = 'drafts://x-callback-url/create?text=' + quote(text)\n\tif callback:\n\t\turl += '&action=' + quote('Copy to Clipboard')\n\t\turl += '&x-success=' + quote('editorial://')\n\tsuccess = webbrowser.open(url)\n\tif not success:\n\t\timport console\n\t\tconsole.hud_alert('Drafts not installed', 'error', 1.5)\n", "1E231904-26B6-41A8-BB69-7583AFB757A8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "6FA027B3-2E1F-46DA-9CF8-D4EEA393730D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "7A90A31B-EC7D-44F5-89B5-63A8CB4C207F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A0980BAA-E704-49D7-962E-DAB627E9F402": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Post with TweetBot", "parameters": {"DF194431-87BB-4812-80C3-9E5AB43F2C37": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CAE1B3C9-DF24-4AA3-8BE6-C1068A34CE7C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"placeholder": "(Default Account)", "type": "basicText", "key": "CEB04CDB-BADD-4409-9B8F-8E073222E446", "title": "Account"}, {"title": "Tweet", "type": "advancedText", "key": "0A5A0AF9-F928-44FC-B995-EC4087050735", "height": 100}, {"type": "switch", "key": "99FAF415-0381-4238-B15F-4D5C50F6B413", "title": "Return to Editorial"}], "EE6DFE6A-3257-42AF-AFA6-C11ADE65559D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "99FAF415-0381-4238-B15F-4D5C50F6B413": true, "CDB2FAE9-2230-4B4B-ABA2-673267CA0166": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3F5656FF-CA7E-42BF-9B5A-56ACD9F7E5A7": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "7ABE0A9A-6749-4C3B-8719-915584215A14": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A494C1C1-6722-401A-ACE9-7A18E4E74E55": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CEB04CDB-BADD-4409-9B8F-8E073222E446": "", "534B636B-1D5F-4A10-B4C5-32CBFC0AF3C6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A3B2161D-4604-43D8-A6B9-18A62C7CA6C9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F09FE15E-180F-4C30-9ADF-008BFC540D2B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "D0AB689E-465F-4E6B-A61D-AFED521EE8E9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "49F9F435-2FDE-463F-BCBB-AE681D4578B2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "0C4BA658-9E6E-4404-83DE-F909D40CDEF1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E511A644-13BE-47B1-9D71-511D750D6BB4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "0A5A0AF9-F928-44FC-B995-EC4087050735": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "222622CB-9B38-42A7-847F-43A98BA19764": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "import workflow\nimport webbrowser\nfrom urllib import quote\n\nparams = workflow.get_parameters()\n\naccount = params.get('Account', None)\ntweet = params.get('Tweet', None)\ncallback = params.get('Return to Editorial', False)\n\n#tweetbot:///post?text=&callback_url=&in_reply_to_status_id=\n\nif tweet:\n\turl = 'tweetbot://'\n\tif account:\n\t\turl += quote(account)\n\turl += '/post?text=' + quote(tweet)\n\tif callback:\n\t\turl += '&callback_url=' + quote('editorial://')\n\twebbrowser.open(url)\n\n", "156F61D9-0566-48F6-A7B9-4D349BE78AE3": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "674B8A7B-F599-45F0-BAB8-71ED1E45A19E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "36D42353-DB32-4C63-B266-EC5AADA5B00D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9EB2C8A0-07D7-436C-92BA-7B74777BBD34": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "81A29078-05D8-4975-B647-77E494DBF3BC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "204F7CD1-A4FF-41FD-AAA0-DDC598476C04": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "51D1C493-CFCE-44F5-BA52-108C97E54933": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Add to Evernote", "parameters": {"0352C55C-3F35-44FA-AB29-7E6A904A0613": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "456E0613-00B2-48DC-B291-21B2EC27D75A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "82720418-3940-4B9C-A2D1-3B70204D2304": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E110AD21-BE84-432A-B0EC-386C3C44352E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9631D935-B88F-4C69-8BCC-3F049AF483F0": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "AE2F6C40-53E2-404F-A846-8A29D40E6CF7": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "EB421585-1A18-45FD-8ABC-1DBE5E8619B6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"type": "basicText", "key": "B2C9A8F4-4F8A-401E-B133-BC44EEEEF2AE", "title": "Title"}, {"title": "Content", "type": "advancedText", "key": "D59D3667-23C6-4ABB-B75F-0B13990D775B", "height": 120}, {"placeholder": "(Get your token here: www.evernote.com/api/DeveloperToken.action)", "type": "basicText", "key": "10BB6296-7848-4280-ADB5-635C64224DE9", "title": "Dev Token"}], "7ACA768E-8A89-4415-B07C-B31BCE83FA3D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "04457BA2-8D74-4741-A93D-0B6D5205BF49": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "69F42725-4A73-4167-8B1E-A09D2BA9E24F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F54B0353-898D-4DCA-B92D-1BEB3BF7758D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "DAF66F40-F705-43B9-92AB-D5A92CEFA442": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "EEC5B36C-C818-4F5C-82D5-41AC5A6E1BA9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CFC86F37-AB60-42D5-B646-80E6FE691A77": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C57AA5DE-33C8-4B45-AE6E-6064A62F742C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "85840AA5-5C07-4FA1-8692-53694FB83B2C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "796C9ABC-17C4-4F6C-8AC5-279AFE86D058": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "885E0585-088C-4C83-B82F-77577537286D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "10BB6296-7848-4280-ADB5-635C64224DE9": "", "1B77F140-097C-4127-BEE2-BB01184FC14E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "679ED8AF-7896-4C04-AC9F-E9461ABDB007": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "774B128A-6DC2-476C-B440-F3758AA39A78": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B2C9A8F4-4F8A-401E-B133-BC44EEEEF2AE": "", "A3719759-62CC-4C4B-9AB5-4BCD38B0F3C7": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "4C710287-CB44-471C-AD45-433C9EC90D02": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "# To get a developer token, visit\n# https://www.evernote.com/api/DeveloperToken.action\nimport workflow\nimport console\n\nparams = workflow.get_parameters()\nauth_token = params.get('Dev Token', None)\nnote_title = params.get('Title', '')\nnote_content = params.get('Content', '')\n\nif not auth_token:\n\tconsole.hud_alert('Evernote Dev Token Missing', 'error', 2.0)\n\tworkflow.stop()\nelif note_title or note_content:\n\timport evernote.edam.userstore.constants as UserStoreConstants\n\timport evernote.edam.type.ttypes as Types\n\tfrom evernote.api.client import EvernoteClient\n\tfrom xml.sax.saxutils import escape\n\t\n\tclient = EvernoteClient(token=auth_token, sandbox=False)\n\tnote_store = client.get_note_store()\n\t\n\t# To create a new note, simply create a new Note object and fill in\n\t# attributes such as the note's title.\n\tnote = Types.Note()\n\tnote.title = note_title\n\tnote.content = ''\n\tnote.content += ''\n\tnote.content += ''\n\tnote.content += escape(note_content)\n\tnote.content += ''\n\t\n\t# Finally, send the new note to Evernote using the createNote method\n\t# The new Note object that is returned will contain server-generated\n\t# attributes such as the new note's unique GUID.\n\tcreated_note = note_store.createNote(note)\n\tconsole.hud_alert('Note Created', 'success', 1.5)\n", "D59D3667-23C6-4ABB-B75F-0B13990D775B": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "3BE8EFF8-FBD7-4DF8-B567-518194D148BA": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "29EB2687-683D-4A58-AB6B-A941402DAEF1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A32EA424-A040-4AE5-84E9-591A2D1FF2B4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3DECDA1F-D3D2-4E90-AB8C-D12C08B58373": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "CDF9DE95-858F-4647-A126-AEF9625125A9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "EBA59274-B1ED-4393-BFE8-E98ED9128A25": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "510DBD6D-2689-4417-AC04-9553B9272267": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8F6FDF93-1B6C-4FA6-95B7-A6C477D5FFFE": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F053FE50-E285-4077-B111-325A769238C3": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Define with DuckDuckGo", "parameters": {"BE534FC3-F6BA-481E-B1D8-8E62D34EFD66": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "A0C2918D-A916-40BB-92FE-6A44E2D5B045": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "575D606B-7F49-4DD6-8C1D-DD3B46840316": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8E6B3440-584F-4C2E-BA50-C11A313DB63B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C6CB5F0F-C999-4888-9B56-541AECEC2E8B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "684BBA4F-E350-4D8E-8DF3-89378A91D452": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "# http://api.duckduckgo.com/?q=define+ostensibly&format=json&pretty=1\n\nimport workflow\nimport console\nimport requests\nimport json\nfrom urllib import quote\nparams = workflow.get_parameters()\nterm = params.get('Define', '')\nif term:\n\ttry:\n\t\turl = 'http://api.duckduckgo.com/?q=define+' + quote(term) + '&format=json'\n\t\tr = requests.get(url)\n\t\td = json.loads(r.text)\n\t\tdefinition = d.get('Definition', None)\n\t\tif definition:\n\t\t\tworkflow.set_output(definition)\n\t\telse:\n\t\t\tconsole.hud_alert('No Definition Found', 'error', 1.5)\n\texcept:\n\t\tconsole.hud_alert('Definition Request Failed', 'error', 1.5)\n", "A807F7DF-164C-446F-B977-F49A20A0C26E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "330A45F9-77BA-46CA-B278-74920BE46FC3": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "E1202951-73CE-4C09-8DCD-D0E79D2A61C9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "479BBA56-96B7-4BD5-A5F1-21EF22E5AF0F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F917E5C7-E300-4EF2-ABDB-2A508DCCF365": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"title": "Define", "type": "advancedText", "key": "8B8F3A1E-B83C-4B67-B3EC-87B36AB458E3", "height": 60}], "8B8F3A1E-B83C-4B67-B3EC-87B36AB458E3": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "2FBB12DC-F65C-4656-A60A-1F43B4A264FD": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8E8129E4-FC24-40FE-B647-CF0B8362FB8B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "67C57B94-3E46-49FC-8FB3-27A942833489": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "729287BB-4E46-4A54-85D1-ADAC5D25480F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5B74E06E-E622-4F10-A7BD-EBE753AB7A86": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "EE1CF495-4B2D-4D8B-9061-18E0E5B0DBA4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Get RSS Feed Titles", "parameters": {"C0F90D6C-DFBA-446A-A233-535E4B3B32B9": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C841B051-92A1-47B6-959B-C899CB1991ED": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "BB25125C-D24B-493F-A340-D1A962600596": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B15FA92A-12FC-4B68-B520-420DC4E4D595": "", "A51B78B1-A5EA-48D3-861D-ECC8F00B8831": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "D110DEC1-2DF8-43F4-8A6F-2AE932CE4AF1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5D8F6E03-6800-4D06-803A-A97C9908D48B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C859FD90-A76E-448F-8B36-1402E3C876E2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "BDDBB8C4-EBD9-473A-B51A-A28DA62A88C4": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "4DE980FD-DA6B-4143-8809-9556986C511C": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3AFE1DCB-DF5E-46D9-8633-9D9563578386": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3788EDC6-BB26-462B-9260-352157C6005A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "12ABF778-3390-4340-9E21-38453DC6C783": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"placeholder": "http://example.com/rss.xml", "type": "basicText", "key": "B15FA92A-12FC-4B68-B520-420DC4E4D595", "title": "Feed URL"}], "AF9E2606-3AE4-41A1-A840-EC9453370702": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8B14AE50-B0C9-4B1B-A2E8-447B307D5EF1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5A07BA4D-C17C-4CF0-B30E-21A06F44DA92": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "74CEF61F-4266-4770-A855-48937BD16B15": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "import workflow\nimport console\n\nparams = workflow.get_parameters()\nurl = params.get('Feed URL', None)\n\nif url:\n\tconsole.show_activity()\n\timport feedparser\n\tfeed = feedparser.parse(url)\n\tentries = feed.get('entries', None)\n\tif not entries:\n\t\tentries = feed.get('articles', None)\n\toutput_list = []\n\tif entries:\n\t\tfor entry in entries:\n\t\t\toutput_list.append(entry['title'])\n\tconsole.hide_activity()\n\toutput = '\\n'.join(output_list)\n\tworkflow.set_output(output)\n", "8910E9D6-F501-4575-8BE9-2130BD9271D6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "BACDC10E-897F-4EAE-8278-8C34EE88DCA2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Select Next Occurrence", "parameters": {"9F407BE1-E65A-47B7-BA64-505855FDB3E8": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "B35A3AA0-A70C-4EDD-AFCC-76DEB2187D16": false, "D3C6CFF4-1AC1-4ABA-B0FE-B42FC65988B2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F39BBD2E-F3A5-429E-BA3A-ABBFFB6D2659": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "6AAB6208-3B16-438C-893E-AC46A8A92D39": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "3D67FEDB-7684-4231-971F-6D15190B7D02": true, "775CB321-0094-41DE-B86E-1C11AC3E3085": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "82159FC6-A7C5-4049-8215-773BBB1D33EA": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "D92825A3-4B7D-470E-9226-E7E77652EA77": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "7D5686AE-7498-48AA-8E47-330E4379FFCA": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C39223D9-340E-49BB-90C4-745703A27A1A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "254C16B9-A450-4F1B-BE59-208F8787B4B1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "217C9D51-D748-459F-A3E8-C9F39A07CE5B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "import workflow\nimport editor\nimport re\n\nstart, end = editor.get_selection()\ntext = editor.get_text()\nparams = workflow.get_parameters()\nterm = params.get('Select Next Occurrence of', '')\nwrap = params.get('Wrap Around', False)\nregex = params.get('Regular Expression', False)\npattern = term if regex else re.escape(term)\n\nif term and text:\n\tmatch = re.search(pattern, text[end:])\n\toffset = end\n\tif not match and wrap:\n\t\tmatch = re.search(pattern, text)\n\t\toffset = 0\n\tif match:\n\t\teditor.set_selection(match.start(0) + offset, match.end(0) + offset)\n\n", "3AE5EB6F-F72B-403D-8BB8-81A5FBD26CD7": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "9D596A84-F9A6-464A-90C1-756CE9A9FBFC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"title": "Select Next Occurrence of", "type": "advancedText", "key": "6AAB6208-3B16-438C-893E-AC46A8A92D39", "height": 60}, {"type": "switch", "key": "B35A3AA0-A70C-4EDD-AFCC-76DEB2187D16", "title": "Regular Expression"}, {"type": "switch", "key": "3D67FEDB-7684-4231-971F-6D15190B7D02", "title": "Wrap Around"}]}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Get Stock Price", "parameters": {"8DD4E127-9BC3-4E71-9906-8183EB22A71E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "0D20CE31-7551-4856-9C94-BC7A3244BEFD": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C6323715-08C9-43ED-A293-7B33AB24D6A2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "591C26D4-766E-4427-AB5D-D3D6E0E55328": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8206FDA1-3695-44AD-8815-96DB8FD43C52": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "20AFA058-634C-4681-BEDB-0959D4D853BC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "4019B3A5-FF90-4BC3-BFE7-6D66516AB001": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"placeholder": "Example: AAPL", "type": "basicText", "key": "61E0B385-F668-463D-B0F8-1C6447815C44", "title": "Symbol"}], "6ACBE726-A3A4-4644-95CA-690DDDC1C920": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F7F44F24-B811-4091-B706-2524D9641317": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "import workflow\nimport urllib\ns = workflow.get_parameters().get('Symbol')\nif s:\n\ttry:\n\t\turl = 'http://finance.yahoo.com/d/quotes.csv?s=' + s + '&f=l1'\n\t\tf = urllib.urlopen(url)\n\t\tprice = f.read()\n\t\tworkflow.set_output(price)\n\texcept IOError:\n\t\timport console\n\t\tconsole.hud_alert('Could not get stock price', 'error', 1.5)\n", "61E0B385-F668-463D-B0F8-1C6447815C44": "AAPL", "E4D83CC2-C054-4003-AD92-2AEE7C6C0435": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Create Short URL (is.gd)", "parameters": {"10B1B7A9-80C5-4F95-9EAA-F07972B0EBFC": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "5E93090E-6437-4C55-B094-83DE96B52703": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "C567E82B-ACB7-405D-970E-72C0A2B441E3": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "import workflow\nimport clipboard\nimport re\nimport console\n\nlong_url = workflow.get_parameters()['URL']\nif re.match('http(s)?://.*', long_url):\n\timport urllib\n\ttry:\n\t\tshort_url = urllib.urlopen('http://is.gd/create.php?format=simple&url=' + urllib.quote(long_url, '')).read()\n\t\tif re.match('http://is.gd.*', short_url):\n\t\t\tworkflow.set_output(short_url)\n\t\telse:\n\t\t\tconsole.hud_alert('Failed to shorten URL', 'error', 1.5)\n\texcept IOError:\n\t\tconsole.hud_alert('Failed to shorten URL', 'error', 1.5)\nelse:\n\tconsole.hud_alert('Invalid URL', 'error', 1.5)\n", "1C90F8A2-BE1A-4A55-8233-DF038A895A06": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "4FF30A71-E12D-4EBD-8123-1F53728EC2CF": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "5B0BD096-62FD-4EAF-B723-9AC8358E2760": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "76F230D3-33FD-450E-A16B-0E5E56EDE069": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "36C39F67-72E5-47C7-8BDA-0197133DF4C5": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F9FFC76E-0679-475D-AA09-FF2CD72EF00B": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"type": "advancedText", "key": "4FF30A71-E12D-4EBD-8123-1F53728EC2CF", "title": "URL"}]}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Schedule Notification", "parameters": {"6CEEE437-165D-440A-8740-3507A8C9F330": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8BEE2000-20CF-42D9-B9C6-DFD168BBAA1D": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "862FB2F6-1EE9-4C29-A300-9CEE71BA9EF0": 2, "CE644B5C-69B0-49A0-BF4A-75A36498757C": "3", "7D651A4D-2FB1-40FF-8D5A-BD229BD1932D": {"text": "Hello", "tokenRanges": {}, "type": "advancedText"}, "E73307C2-86EA-416F-958C-515B8C50D99E": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "359B956D-9411-4CD8-99EF-C0B7B526C83A": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "9045C4C2-C0C2-45F8-94CA-FD67A056FA67": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"optionTitles": ["(None)", "Beep", "Bleep", "Coin", "Error", "Spaceship"], "type": "selectOption", "key": "862FB2F6-1EE9-4C29-A300-9CEE71BA9EF0", "title": "Sound"}, {"keyboardType": 2, "type": "basicText", "key": "CE644B5C-69B0-49A0-BF4A-75A36498757C", "title": "Delay (Minutes)"}, {"title": "Text", "type": "advancedText", "key": "7D651A4D-2FB1-40FF-8D5A-BD229BD1932D", "height": 100}, {"title": "Launch URL (optional)", "keyboardType": 3, "type": "advancedText", "key": "359B956D-9411-4CD8-99EF-C0B7B526C83A", "height": 60}], "D867DE9C-6751-493F-AB9E-7E3D66073EC2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "#coding: utf-8\nimport workflow\nimport notification\nimport console\n\nsounds = ['Beep', 'Bleep', 'Coin_1', 'Error', 'Spaceship']\nparams = workflow.get_parameters()\neffect_index = params['Sound']\neffect_name = sounds[effect_index - 1] if effect_index > 0 else None\nmessage = params['Text']\nlaunch_url = params['Launch URL (optional)']\n\ntry:\n\tdelay = float(params['Delay (Minutes)'])\nexcept ValueError:\n\tconsole.hud_alert('Invalid Delay', 'error')\nnotification.schedule(message, delay * 60, effect_name, launch_url)\nconsole.hud_alert('Scheduled', 'success', 1.0)\n\n", "D7F3FA22-DCF5-4A30-A139-B68783ECAD05": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Cancel All Notifications", "parameters": {"E34ED55B-FBEB-4F8F-9D0C-95FFD1DE039A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "3A9BEAB2-2B3E-406C-B42B-265D62E483DA": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "F4F4B693-ADE6-47A2-B415-E0146DD88F1A": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "8F7F4DC8-A93E-4780-985C-25820AB2A56F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [], "714E0559-7484-49D8-A9DC-6010611669A6": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "#coding: utf-8\nimport workflow\nimport notification\n\nnotification.cancel_all()\n\nworkflow.set_output = workflow.get_input()\n", "85306C9A-B368-4B73-8857-FBE3ECB0922F": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "41F5C805-5E66-4A77-BC05-BBA84DC22DC2": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "2828814B-7EB1-4CD1-A5EB-9793C1A47792": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionCustom"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Compare (Diff)", "parameters": {"DD6CA9FD-BFC3-4E2A-9B4C-B00F5B046BA8": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "A25A8AE4-C956-4D2C-BF0D-4C9D247DB7D6": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "5EB394D4-92F6-4DE5-9806-6064D74F2232": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "60C613B4-0902-4F5F-9659-6CE06E71E752": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "33A0A4E3-1D89-4418-8A36-1015D59A61D7": 0, "DBAD4725-4CE7-4CD3-8F1D-109B7A1C4056": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_parameters__": [{"title": "Text A", "type": "advancedText", "key": "A25A8AE4-C956-4D2C-BF0D-4C9D247DB7D6", "height": 100}, {"title": "Text B", "type": "advancedText", "key": "DD6CA9FD-BFC3-4E2A-9B4C-B00F5B046BA8", "height": 100}, {"optionTitles": ["HTML", "Critic Markup"], "type": "selectOption", "key": "33A0A4E3-1D89-4418-8A36-1015D59A61D7", "title": "Output Format"}], "E97BF5C5-8263-49D2-9A89-007C3D4B57A1": {"text": "This action runs a Python script that can be configured with your own parameters. Tap the options (\u25bc) button to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "25384A12-A759-4853-AD50-28D2E72D3B49": {"text": "This action runs a Python script that can be configured with your own parameters. Tap and hold the action to edit the script or the parameters that are shown here. This comment is actually a text parameter itself \u2013 feel free to remove it.", "tokenRanges": {}, "type": "advancedText"}, "__custom_action_script__": "#coding: utf-8\nimport workflow\nimport difflib\nfrom StringIO import StringIO\n\ndef diff(a, b, del1, del2, ins1, ins2):\n\tseq = difflib.SequenceMatcher(None, a, b)\n\topcodes = seq.get_opcodes()\n\tout = StringIO()\n\tfor op, a0, a1, b0, b1 in opcodes:\n\t\tif op == 'equal':\n\t\t\tout.write(a[a0:a1])\n\t\tif op == 'insert' or op == 'replace':\n\t\t\tout.write(ins1 + b[b0:b1] + ins2)\n\t\tif op == 'delete' or op == 'replace':\n\t\t\tout.write(del1 + a[a0:a1] + del2)\n\treturn out.getvalue()\n\nparams = workflow.get_parameters()\na = params['Text A']\nb = params['Text B']\nif params['Output Format'] == 0:\n\timport cgi\n\ta = cgi.escape(a)\n\tb = cgi.escape(b)\n\thtml = diff(a, b, '', '', '', '')\n\tworkflow.set_output(html)\nelse:\n\tcritic_markup = diff(a, b, '{--', '--}', '{++', '++}')\n\tworkflow.set_output(critic_markup)\n"}, "class": "WorkflowActionCustom"}], "name": "Custom Actions Pack", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone8,4", "systemVersion": "12.1.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_SPANNER.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22ROBERT%20SUMNER%20JR%22%2C%20%22description%22%3A%20%22This%20is%20a%20collection%20of%20several%20unrelated%20custom%20actions.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22READ%20ME%5Cu2757%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22This%20is%20not%20an%20actual%20workflow%2C%20it%20just%20contains%20a%20collection%20of%20custom%20actions%20that%20are%20meant%20to%20be%20saved%20as%20presets.%5Cn%5CnRunning%20this%20won%27t%20do%20anything%20because%20of%20the%20following%20%27Stop%27%20action.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22---------------------------------------------------------------------------------------%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20false%2C%20%22HUDTitle%22%3A%20%22%22%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Send%20to%20Drafts%22%2C%20%22parameters%22%3A%20%7B%220217F8EB-80EF-4A2C-A9E5-7E18DC6C3248%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%221C841272-0445-4065-853D-785C8DBE61D3%22%3A%20true%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22title%22%3A%20%22Text%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%22EC988DCA-5C83-43C2-9CD6-1DF50A0A448D%22%2C%20%22height%22%3A%20120%7D%2C%20%7B%22type%22%3A%20%22switch%22%2C%20%22key%22%3A%20%221C841272-0445-4065-853D-785C8DBE61D3%22%2C%20%22title%22%3A%20%22Return%20to%20Editorial%22%7D%5D%2C%20%2230D112E0-6074-4B9E-9F59-5EFA908FC9A1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AECCCF4E-41A4-4C07-ABB0-45DF485AFD2D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229A5C7E4F-0E3F-4918-A7B2-A9F790F8BF54%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A035F565-D7EA-4F35-86F2-74B8B91721C2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F19F7720-C188-42BA-B4F7-8A94251CBB62%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22291DA446-1159-45ED-AE69-FB0F73E3CB04%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%227EC41E5D-8181-43D3-90A6-BA7A729AD37A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E05EB8C4-3C06-48D4-91C9-E5EA271879E5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22D890C0A9-6A00-4D3F-A997-40B6614EB9E2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22FD8A2171-5D14-4E7B-BEE4-4440DBA53C6C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22EC988DCA-5C83-43C2-9CD6-1DF50A0A448D%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2239FDFB9D-8D85-4A8B-A546-D7451F978EDC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%226091BAEA-7008-4A83-BC09-8B5515F8E323%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2230B1D86A-AC53-4145-8ABB-481688A09E30%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23NOTE%3A%20Drafts%20doesn%27t%20support%20a%20%27success%27%20callback%20URL%20when%20no%20action%20is%20triggered%2C%20so%20if%20%27Return%20to%20Editorial%27%20is%20on%2C%20the%20text%20is%20also%20copied%20to%20the%20clipboard.%5Cn%5Cnimport%20workflow%5Cnimport%20webbrowser%5Cnfrom%20urllib%20import%20quote%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cntext%20%3D%20params.get%28%27Text%27%2C%20None%29%5Cncallback%20%3D%20params.get%28%27Return%20to%20Editorial%27%2C%20False%29%5Cn%5Cnif%20text%3A%5Cn%5Cturl%20%3D%20%27drafts%3A%2F%2Fx-callback-url%2Fcreate%3Ftext%3D%27%20%2B%20quote%28text%29%5Cn%5Ctif%20callback%3A%5Cn%5Ct%5Cturl%20%2B%3D%20%27%26action%3D%27%20%2B%20quote%28%27Copy%20to%20Clipboard%27%29%5Cn%5Ct%5Cturl%20%2B%3D%20%27%26x-success%3D%27%20%2B%20quote%28%27editorial%3A%2F%2F%27%29%5Cn%5Ctsuccess%20%3D%20webbrowser.open%28url%29%5Cn%5Ctif%20not%20success%3A%5Cn%5Ct%5Ctimport%20console%5Cn%5Ct%5Ctconsole.hud_alert%28%27Drafts%20not%20installed%27%2C%20%27error%27%2C%201.5%29%5Cn%22%2C%20%221E231904-26B6-41A8-BB69-7583AFB757A8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%226FA027B3-2E1F-46DA-9CF8-D4EEA393730D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%227A90A31B-EC7D-44F5-89B5-63A8CB4C207F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A0980BAA-E704-49D7-962E-DAB627E9F402%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Post%20with%20TweetBot%22%2C%20%22parameters%22%3A%20%7B%22DF194431-87BB-4812-80C3-9E5AB43F2C37%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CAE1B3C9-DF24-4AA3-8BE6-C1068A34CE7C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22placeholder%22%3A%20%22%28Default%20Account%29%22%2C%20%22type%22%3A%20%22basicText%22%2C%20%22key%22%3A%20%22CEB04CDB-BADD-4409-9B8F-8E073222E446%22%2C%20%22title%22%3A%20%22Account%22%7D%2C%20%7B%22title%22%3A%20%22Tweet%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%220A5A0AF9-F928-44FC-B995-EC4087050735%22%2C%20%22height%22%3A%20100%7D%2C%20%7B%22type%22%3A%20%22switch%22%2C%20%22key%22%3A%20%2299FAF415-0381-4238-B15F-4D5C50F6B413%22%2C%20%22title%22%3A%20%22Return%20to%20Editorial%22%7D%5D%2C%20%22EE6DFE6A-3257-42AF-AFA6-C11ADE65559D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2299FAF415-0381-4238-B15F-4D5C50F6B413%22%3A%20true%2C%20%22CDB2FAE9-2230-4B4B-ABA2-673267CA0166%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223F5656FF-CA7E-42BF-9B5A-56ACD9F7E5A7%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%227ABE0A9A-6749-4C3B-8719-915584215A14%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A494C1C1-6722-401A-ACE9-7A18E4E74E55%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CEB04CDB-BADD-4409-9B8F-8E073222E446%22%3A%20%22%22%2C%20%22534B636B-1D5F-4A10-B4C5-32CBFC0AF3C6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A3B2161D-4604-43D8-A6B9-18A62C7CA6C9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F09FE15E-180F-4C30-9ADF-008BFC540D2B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22D0AB689E-465F-4E6B-A61D-AFED521EE8E9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2249F9F435-2FDE-463F-BCBB-AE681D4578B2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%220C4BA658-9E6E-4404-83DE-F909D40CDEF1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E511A644-13BE-47B1-9D71-511D750D6BB4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%220A5A0AF9-F928-44FC-B995-EC4087050735%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22222622CB-9B38-42A7-847F-43A98BA19764%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22import%20workflow%5Cnimport%20webbrowser%5Cnfrom%20urllib%20import%20quote%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cn%5Cnaccount%20%3D%20params.get%28%27Account%27%2C%20None%29%5Cntweet%20%3D%20params.get%28%27Tweet%27%2C%20None%29%5Cncallback%20%3D%20params.get%28%27Return%20to%20Editorial%27%2C%20False%29%5Cn%5Cn%23tweetbot%3A%2F%2F%3Cscreenname%3E%2Fpost%3Ftext%3D%3Ctext%3E%26callback_url%3D%3Curl%3E%26in_reply_to_status_id%3D%3Ctweet_id%3E%5Cn%5Cnif%20tweet%3A%5Cn%5Cturl%20%3D%20%27tweetbot%3A%2F%2F%27%5Cn%5Ctif%20account%3A%5Cn%5Ct%5Cturl%20%2B%3D%20quote%28account%29%5Cn%5Cturl%20%2B%3D%20%27%2Fpost%3Ftext%3D%27%20%2B%20quote%28tweet%29%5Cn%5Ctif%20callback%3A%5Cn%5Ct%5Cturl%20%2B%3D%20%27%26callback_url%3D%27%20%2B%20quote%28%27editorial%3A%2F%2F%27%29%5Cn%5Ctwebbrowser.open%28url%29%5Cn%5Cn%22%2C%20%22156F61D9-0566-48F6-A7B9-4D349BE78AE3%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22674B8A7B-F599-45F0-BAB8-71ED1E45A19E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2236D42353-DB32-4C63-B266-EC5AADA5B00D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229EB2C8A0-07D7-436C-92BA-7B74777BBD34%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2281A29078-05D8-4975-B647-77E494DBF3BC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22204F7CD1-A4FF-41FD-AAA0-DDC598476C04%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2251D1C493-CFCE-44F5-BA52-108C97E54933%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Add%20to%20Evernote%22%2C%20%22parameters%22%3A%20%7B%220352C55C-3F35-44FA-AB29-7E6A904A0613%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22456E0613-00B2-48DC-B291-21B2EC27D75A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2282720418-3940-4B9C-A2D1-3B70204D2304%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E110AD21-BE84-432A-B0EC-386C3C44352E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229631D935-B88F-4C69-8BCC-3F049AF483F0%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22AE2F6C40-53E2-404F-A846-8A29D40E6CF7%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22EB421585-1A18-45FD-8ABC-1DBE5E8619B6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22type%22%3A%20%22basicText%22%2C%20%22key%22%3A%20%22B2C9A8F4-4F8A-401E-B133-BC44EEEEF2AE%22%2C%20%22title%22%3A%20%22Title%22%7D%2C%20%7B%22title%22%3A%20%22Content%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%22D59D3667-23C6-4ABB-B75F-0B13990D775B%22%2C%20%22height%22%3A%20120%7D%2C%20%7B%22placeholder%22%3A%20%22%28Get%20your%20token%20here%3A%20www.evernote.com%2Fapi%2FDeveloperToken.action%29%22%2C%20%22type%22%3A%20%22basicText%22%2C%20%22key%22%3A%20%2210BB6296-7848-4280-ADB5-635C64224DE9%22%2C%20%22title%22%3A%20%22Dev%20Token%22%7D%5D%2C%20%227ACA768E-8A89-4415-B07C-B31BCE83FA3D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2204457BA2-8D74-4741-A93D-0B6D5205BF49%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2269F42725-4A73-4167-8B1E-A09D2BA9E24F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F54B0353-898D-4DCA-B92D-1BEB3BF7758D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22DAF66F40-F705-43B9-92AB-D5A92CEFA442%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22EEC5B36C-C818-4F5C-82D5-41AC5A6E1BA9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CFC86F37-AB60-42D5-B646-80E6FE691A77%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C57AA5DE-33C8-4B45-AE6E-6064A62F742C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2285840AA5-5C07-4FA1-8692-53694FB83B2C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22796C9ABC-17C4-4F6C-8AC5-279AFE86D058%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22885E0585-088C-4C83-B82F-77577537286D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2210BB6296-7848-4280-ADB5-635C64224DE9%22%3A%20%22%22%2C%20%221B77F140-097C-4127-BEE2-BB01184FC14E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22679ED8AF-7896-4C04-AC9F-E9461ABDB007%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22774B128A-6DC2-476C-B440-F3758AA39A78%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B2C9A8F4-4F8A-401E-B133-BC44EEEEF2AE%22%3A%20%22%22%2C%20%22A3719759-62CC-4C4B-9AB5-4BCD38B0F3C7%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%224C710287-CB44-471C-AD45-433C9EC90D02%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23%20To%20get%20a%20developer%20token%2C%20visit%5Cn%23%20https%3A%2F%2Fwww.evernote.com%2Fapi%2FDeveloperToken.action%5Cnimport%20workflow%5Cnimport%20console%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cnauth_token%20%3D%20params.get%28%27Dev%20Token%27%2C%20None%29%5Cnnote_title%20%3D%20params.get%28%27Title%27%2C%20%27%27%29%5Cnnote_content%20%3D%20params.get%28%27Content%27%2C%20%27%27%29%5Cn%5Cnif%20not%20auth_token%3A%5Cn%5Ctconsole.hud_alert%28%27Evernote%20Dev%20Token%20Missing%27%2C%20%27error%27%2C%202.0%29%5Cn%5Ctworkflow.stop%28%29%5Cnelif%20note_title%20or%20note_content%3A%5Cn%5Ctimport%20evernote.edam.userstore.constants%20as%20UserStoreConstants%5Cn%5Ctimport%20evernote.edam.type.ttypes%20as%20Types%5Cn%5Ctfrom%20evernote.api.client%20import%20EvernoteClient%5Cn%5Ctfrom%20xml.sax.saxutils%20import%20escape%5Cn%5Ct%5Cn%5Ctclient%20%3D%20EvernoteClient%28token%3Dauth_token%2C%20sandbox%3DFalse%29%5Cn%5Ctnote_store%20%3D%20client.get_note_store%28%29%5Cn%5Ct%5Cn%5Ct%23%20To%20create%20a%20new%20note%2C%20simply%20create%20a%20new%20Note%20object%20and%20fill%20in%5Cn%5Ct%23%20attributes%20such%20as%20the%20note%27s%20title.%5Cn%5Ctnote%20%3D%20Types.Note%28%29%5Cn%5Ctnote.title%20%3D%20note_title%5Cn%5Ctnote.content%20%3D%20%27%3C%3Fxml%20version%3D%5C%221.0%5C%22%20encoding%3D%5C%22UTF-8%5C%22%3F%3E%27%5Cn%5Ctnote.content%20%2B%3D%20%27%3C%21DOCTYPE%20en-note%20SYSTEM%20%27%20%5C%5C%5Cn%20%20%20%20%27%5C%22http%3A%2F%2Fxml.evernote.com%2Fpub%2Fenml2.dtd%5C%22%3E%27%5Cn%5Ctnote.content%20%2B%3D%20%27%3Cen-note%3E%27%5Cn%5Ctnote.content%20%2B%3D%20escape%28note_content%29%5Cn%5Ctnote.content%20%2B%3D%20%27%3C%2Fen-note%3E%27%5Cn%5Ct%5Cn%5Ct%23%20Finally%2C%20send%20the%20new%20note%20to%20Evernote%20using%20the%20createNote%20method%5Cn%5Ct%23%20The%20new%20Note%20object%20that%20is%20returned%20will%20contain%20server-generated%5Cn%5Ct%23%20attributes%20such%20as%20the%20new%20note%27s%20unique%20GUID.%5Cn%5Ctcreated_note%20%3D%20note_store.createNote%28note%29%5Cn%5Ctconsole.hud_alert%28%27Note%20Created%27%2C%20%27success%27%2C%201.5%29%5Cn%22%2C%20%22D59D3667-23C6-4ABB-B75F-0B13990D775B%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223BE8EFF8-FBD7-4DF8-B567-518194D148BA%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2229EB2687-683D-4A58-AB6B-A941402DAEF1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A32EA424-A040-4AE5-84E9-591A2D1FF2B4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223DECDA1F-D3D2-4E90-AB8C-D12C08B58373%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22CDF9DE95-858F-4647-A126-AEF9625125A9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22EBA59274-B1ED-4393-BFE8-E98ED9128A25%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22510DBD6D-2689-4417-AC04-9553B9272267%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228F6FDF93-1B6C-4FA6-95B7-A6C477D5FFFE%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F053FE50-E285-4077-B111-325A769238C3%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Define%20with%20DuckDuckGo%22%2C%20%22parameters%22%3A%20%7B%22BE534FC3-F6BA-481E-B1D8-8E62D34EFD66%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A0C2918D-A916-40BB-92FE-6A44E2D5B045%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22575D606B-7F49-4DD6-8C1D-DD3B46840316%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228E6B3440-584F-4C2E-BA50-C11A313DB63B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C6CB5F0F-C999-4888-9B56-541AECEC2E8B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22684BBA4F-E350-4D8E-8DF3-89378A91D452%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23%20http%3A%2F%2Fapi.duckduckgo.com%2F%3Fq%3Ddefine%2Bostensibly%26format%3Djson%26pretty%3D1%5Cn%5Cnimport%20workflow%5Cnimport%20console%5Cnimport%20requests%5Cnimport%20json%5Cnfrom%20urllib%20import%20quote%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cnterm%20%3D%20params.get%28%27Define%27%2C%20%27%27%29%5Cnif%20term%3A%5Cn%5Cttry%3A%5Cn%5Ct%5Cturl%20%3D%20%27http%3A%2F%2Fapi.duckduckgo.com%2F%3Fq%3Ddefine%2B%27%20%2B%20quote%28term%29%20%2B%20%27%26format%3Djson%27%5Cn%5Ct%5Ctr%20%3D%20requests.get%28url%29%5Cn%5Ct%5Ctd%20%3D%20json.loads%28r.text%29%5Cn%5Ct%5Ctdefinition%20%3D%20d.get%28%27Definition%27%2C%20None%29%5Cn%5Ct%5Ctif%20definition%3A%5Cn%5Ct%5Ct%5Ctworkflow.set_output%28definition%29%5Cn%5Ct%5Ctelse%3A%5Cn%5Ct%5Ct%5Ctconsole.hud_alert%28%27No%20Definition%20Found%27%2C%20%27error%27%2C%201.5%29%5Cn%5Ctexcept%3A%5Cn%5Ct%5Ctconsole.hud_alert%28%27Definition%20Request%20Failed%27%2C%20%27error%27%2C%201.5%29%5Cn%22%2C%20%22A807F7DF-164C-446F-B977-F49A20A0C26E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22330A45F9-77BA-46CA-B278-74920BE46FC3%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E1202951-73CE-4C09-8DCD-D0E79D2A61C9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22479BBA56-96B7-4BD5-A5F1-21EF22E5AF0F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F917E5C7-E300-4EF2-ABDB-2A508DCCF365%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22title%22%3A%20%22Define%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%228B8F3A1E-B83C-4B67-B3EC-87B36AB458E3%22%2C%20%22height%22%3A%2060%7D%5D%2C%20%228B8F3A1E-B83C-4B67-B3EC-87B36AB458E3%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%222FBB12DC-F65C-4656-A60A-1F43B4A264FD%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228E8129E4-FC24-40FE-B647-CF0B8362FB8B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2267C57B94-3E46-49FC-8FB3-27A942833489%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22729287BB-4E46-4A54-85D1-ADAC5D25480F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225B74E06E-E622-4F10-A7BD-EBE753AB7A86%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22EE1CF495-4B2D-4D8B-9061-18E0E5B0DBA4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Get%20RSS%20Feed%20Titles%22%2C%20%22parameters%22%3A%20%7B%22C0F90D6C-DFBA-446A-A233-535E4B3B32B9%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C841B051-92A1-47B6-959B-C899CB1991ED%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22BB25125C-D24B-493F-A340-D1A962600596%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B15FA92A-12FC-4B68-B520-420DC4E4D595%22%3A%20%22%22%2C%20%22A51B78B1-A5EA-48D3-861D-ECC8F00B8831%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22D110DEC1-2DF8-43F4-8A6F-2AE932CE4AF1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225D8F6E03-6800-4D06-803A-A97C9908D48B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C859FD90-A76E-448F-8B36-1402E3C876E2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22BDDBB8C4-EBD9-473A-B51A-A28DA62A88C4%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%224DE980FD-DA6B-4143-8809-9556986C511C%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223AFE1DCB-DF5E-46D9-8633-9D9563578386%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223788EDC6-BB26-462B-9260-352157C6005A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2212ABF778-3390-4340-9E21-38453DC6C783%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22placeholder%22%3A%20%22http%3A%2F%2Fexample.com%2Frss.xml%22%2C%20%22type%22%3A%20%22basicText%22%2C%20%22key%22%3A%20%22B15FA92A-12FC-4B68-B520-420DC4E4D595%22%2C%20%22title%22%3A%20%22Feed%20URL%22%7D%5D%2C%20%22AF9E2606-3AE4-41A1-A840-EC9453370702%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228B14AE50-B0C9-4B1B-A2E8-447B307D5EF1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225A07BA4D-C17C-4CF0-B30E-21A06F44DA92%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2274CEF61F-4266-4770-A855-48937BD16B15%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22import%20workflow%5Cnimport%20console%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cnurl%20%3D%20params.get%28%27Feed%20URL%27%2C%20None%29%5Cn%5Cnif%20url%3A%5Cn%5Ctconsole.show_activity%28%29%5Cn%5Ctimport%20feedparser%5Cn%5Ctfeed%20%3D%20feedparser.parse%28url%29%5Cn%5Ctentries%20%3D%20feed.get%28%27entries%27%2C%20None%29%5Cn%5Ctif%20not%20entries%3A%5Cn%5Ct%5Ctentries%20%3D%20feed.get%28%27articles%27%2C%20None%29%5Cn%5Ctoutput_list%20%3D%20%5B%5D%5Cn%5Ctif%20entries%3A%5Cn%5Ct%5Ctfor%20entry%20in%20entries%3A%5Cn%5Ct%5Ct%5Ctoutput_list.append%28entry%5B%27title%27%5D%29%5Cn%5Ctconsole.hide_activity%28%29%5Cn%5Ctoutput%20%3D%20%27%5C%5Cn%27.join%28output_list%29%5Cn%5Ctworkflow.set_output%28output%29%5Cn%22%2C%20%228910E9D6-F501-4575-8BE9-2130BD9271D6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22BACDC10E-897F-4EAE-8278-8C34EE88DCA2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Select%20Next%20Occurrence%22%2C%20%22parameters%22%3A%20%7B%229F407BE1-E65A-47B7-BA64-505855FDB3E8%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22B35A3AA0-A70C-4EDD-AFCC-76DEB2187D16%22%3A%20false%2C%20%22D3C6CFF4-1AC1-4ABA-B0FE-B42FC65988B2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F39BBD2E-F3A5-429E-BA3A-ABBFFB6D2659%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%226AAB6208-3B16-438C-893E-AC46A8A92D39%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223D67FEDB-7684-4231-971F-6D15190B7D02%22%3A%20true%2C%20%22775CB321-0094-41DE-B86E-1C11AC3E3085%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2282159FC6-A7C5-4049-8215-773BBB1D33EA%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22D92825A3-4B7D-470E-9226-E7E77652EA77%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%227D5686AE-7498-48AA-8E47-330E4379FFCA%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C39223D9-340E-49BB-90C4-745703A27A1A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22254C16B9-A450-4F1B-BE59-208F8787B4B1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22217C9D51-D748-459F-A3E8-C9F39A07CE5B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22import%20workflow%5Cnimport%20editor%5Cnimport%20re%5Cn%5Cnstart%2C%20end%20%3D%20editor.get_selection%28%29%5Cntext%20%3D%20editor.get_text%28%29%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cnterm%20%3D%20params.get%28%27Select%20Next%20Occurrence%20of%27%2C%20%27%27%29%5Cnwrap%20%3D%20params.get%28%27Wrap%20Around%27%2C%20False%29%5Cnregex%20%3D%20params.get%28%27Regular%20Expression%27%2C%20False%29%5Cnpattern%20%3D%20term%20if%20regex%20else%20re.escape%28term%29%5Cn%5Cnif%20term%20and%20text%3A%5Cn%5Ctmatch%20%3D%20re.search%28pattern%2C%20text%5Bend%3A%5D%29%5Cn%5Ctoffset%20%3D%20end%5Cn%5Ctif%20not%20match%20and%20wrap%3A%5Cn%5Ct%5Ctmatch%20%3D%20re.search%28pattern%2C%20text%29%5Cn%5Ct%5Ctoffset%20%3D%200%5Cn%5Ctif%20match%3A%5Cn%5Ct%5Cteditor.set_selection%28match.start%280%29%20%2B%20offset%2C%20match.end%280%29%20%2B%20offset%29%5Cn%5Cn%22%2C%20%223AE5EB6F-F72B-403D-8BB8-81A5FBD26CD7%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229D596A84-F9A6-464A-90C1-756CE9A9FBFC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22title%22%3A%20%22Select%20Next%20Occurrence%20of%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%226AAB6208-3B16-438C-893E-AC46A8A92D39%22%2C%20%22height%22%3A%2060%7D%2C%20%7B%22type%22%3A%20%22switch%22%2C%20%22key%22%3A%20%22B35A3AA0-A70C-4EDD-AFCC-76DEB2187D16%22%2C%20%22title%22%3A%20%22Regular%20Expression%22%7D%2C%20%7B%22type%22%3A%20%22switch%22%2C%20%22key%22%3A%20%223D67FEDB-7684-4231-971F-6D15190B7D02%22%2C%20%22title%22%3A%20%22Wrap%20Around%22%7D%5D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Get%20Stock%20Price%22%2C%20%22parameters%22%3A%20%7B%228DD4E127-9BC3-4E71-9906-8183EB22A71E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%220D20CE31-7551-4856-9C94-BC7A3244BEFD%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C6323715-08C9-43ED-A293-7B33AB24D6A2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22591C26D4-766E-4427-AB5D-D3D6E0E55328%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228206FDA1-3695-44AD-8815-96DB8FD43C52%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2220AFA058-634C-4681-BEDB-0959D4D853BC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%224019B3A5-FF90-4BC3-BFE7-6D66516AB001%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22placeholder%22%3A%20%22Example%3A%20AAPL%22%2C%20%22type%22%3A%20%22basicText%22%2C%20%22key%22%3A%20%2261E0B385-F668-463D-B0F8-1C6447815C44%22%2C%20%22title%22%3A%20%22Symbol%22%7D%5D%2C%20%226ACBE726-A3A4-4644-95CA-690DDDC1C920%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F7F44F24-B811-4091-B706-2524D9641317%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22import%20workflow%5Cnimport%20urllib%5Cns%20%3D%20workflow.get_parameters%28%29.get%28%27Symbol%27%29%5Cnif%20s%3A%5Cn%5Cttry%3A%5Cn%5Ct%5Cturl%20%3D%20%27http%3A%2F%2Ffinance.yahoo.com%2Fd%2Fquotes.csv%3Fs%3D%27%20%2B%20s%20%2B%20%27%26f%3Dl1%27%5Cn%5Ct%5Ctf%20%3D%20urllib.urlopen%28url%29%5Cn%5Ct%5Ctprice%20%3D%20f.read%28%29%5Cn%5Ct%5Ctworkflow.set_output%28price%29%5Cn%5Ctexcept%20IOError%3A%5Cn%5Ct%5Ctimport%20console%5Cn%5Ct%5Ctconsole.hud_alert%28%27Could%20not%20get%20stock%20price%27%2C%20%27error%27%2C%201.5%29%5Cn%22%2C%20%2261E0B385-F668-463D-B0F8-1C6447815C44%22%3A%20%22AAPL%22%2C%20%22E4D83CC2-C054-4003-AD92-2AEE7C6C0435%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Create%20Short%20URL%20%28is.gd%29%22%2C%20%22parameters%22%3A%20%7B%2210B1B7A9-80C5-4F95-9EAA-F07972B0EBFC%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225E93090E-6437-4C55-B094-83DE96B52703%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22C567E82B-ACB7-405D-970E-72C0A2B441E3%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22import%20workflow%5Cnimport%20clipboard%5Cnimport%20re%5Cnimport%20console%5Cn%5Cnlong_url%20%3D%20workflow.get_parameters%28%29%5B%27URL%27%5D%5Cnif%20re.match%28%27http%28s%29%3F%3A%2F%2F.%2A%27%2C%20long_url%29%3A%5Cn%5Ctimport%20urllib%5Cn%5Cttry%3A%5Cn%5Ct%5Ctshort_url%20%3D%20urllib.urlopen%28%27http%3A%2F%2Fis.gd%2Fcreate.php%3Fformat%3Dsimple%26url%3D%27%20%2B%20urllib.quote%28long_url%2C%20%27%27%29%29.read%28%29%5Cn%5Ct%5Ctif%20re.match%28%27http%3A%2F%2Fis.gd.%2A%27%2C%20short_url%29%3A%5Cn%5Ct%5Ct%5Ctworkflow.set_output%28short_url%29%5Cn%5Ct%5Ctelse%3A%5Cn%5Ct%5Ct%5Ctconsole.hud_alert%28%27Failed%20to%20shorten%20URL%27%2C%20%27error%27%2C%201.5%29%5Cn%5Ctexcept%20IOError%3A%5Cn%5Ct%5Ctconsole.hud_alert%28%27Failed%20to%20shorten%20URL%27%2C%20%27error%27%2C%201.5%29%5Cnelse%3A%5Cn%5Ctconsole.hud_alert%28%27Invalid%20URL%27%2C%20%27error%27%2C%201.5%29%5Cn%22%2C%20%221C90F8A2-BE1A-4A55-8233-DF038A895A06%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%224FF30A71-E12D-4EBD-8123-1F53728EC2CF%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225B0BD096-62FD-4EAF-B723-9AC8358E2760%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2276F230D3-33FD-450E-A16B-0E5E56EDE069%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2236C39F67-72E5-47C7-8BDA-0197133DF4C5%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F9FFC76E-0679-475D-AA09-FF2CD72EF00B%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%224FF30A71-E12D-4EBD-8123-1F53728EC2CF%22%2C%20%22title%22%3A%20%22URL%22%7D%5D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Schedule%20Notification%22%2C%20%22parameters%22%3A%20%7B%226CEEE437-165D-440A-8740-3507A8C9F330%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228BEE2000-20CF-42D9-B9C6-DFD168BBAA1D%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22862FB2F6-1EE9-4C29-A300-9CEE71BA9EF0%22%3A%202%2C%20%22CE644B5C-69B0-49A0-BF4A-75A36498757C%22%3A%20%223%22%2C%20%227D651A4D-2FB1-40FF-8D5A-BD229BD1932D%22%3A%20%7B%22text%22%3A%20%22Hello%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22E73307C2-86EA-416F-958C-515B8C50D99E%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22359B956D-9411-4CD8-99EF-C0B7B526C83A%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%229045C4C2-C0C2-45F8-94CA-FD67A056FA67%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22optionTitles%22%3A%20%5B%22%28None%29%22%2C%20%22Beep%22%2C%20%22Bleep%22%2C%20%22Coin%22%2C%20%22Error%22%2C%20%22Spaceship%22%5D%2C%20%22type%22%3A%20%22selectOption%22%2C%20%22key%22%3A%20%22862FB2F6-1EE9-4C29-A300-9CEE71BA9EF0%22%2C%20%22title%22%3A%20%22Sound%22%7D%2C%20%7B%22keyboardType%22%3A%202%2C%20%22type%22%3A%20%22basicText%22%2C%20%22key%22%3A%20%22CE644B5C-69B0-49A0-BF4A-75A36498757C%22%2C%20%22title%22%3A%20%22Delay%20%28Minutes%29%22%7D%2C%20%7B%22title%22%3A%20%22Text%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%227D651A4D-2FB1-40FF-8D5A-BD229BD1932D%22%2C%20%22height%22%3A%20100%7D%2C%20%7B%22title%22%3A%20%22Launch%20URL%20%28optional%29%22%2C%20%22keyboardType%22%3A%203%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%22359B956D-9411-4CD8-99EF-C0B7B526C83A%22%2C%20%22height%22%3A%2060%7D%5D%2C%20%22D867DE9C-6751-493F-AB9E-7E3D66073EC2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20notification%5Cnimport%20console%5Cn%5Cnsounds%20%3D%20%5B%27Beep%27%2C%20%27Bleep%27%2C%20%27Coin_1%27%2C%20%27Error%27%2C%20%27Spaceship%27%5D%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cneffect_index%20%3D%20params%5B%27Sound%27%5D%5Cneffect_name%20%3D%20sounds%5Beffect_index%20-%201%5D%20if%20effect_index%20%3E%200%20else%20None%5Cnmessage%20%3D%20params%5B%27Text%27%5D%5Cnlaunch_url%20%3D%20params%5B%27Launch%20URL%20%28optional%29%27%5D%5Cn%5Cntry%3A%5Cn%5Ctdelay%20%3D%20float%28params%5B%27Delay%20%28Minutes%29%27%5D%29%5Cnexcept%20ValueError%3A%5Cn%5Ctconsole.hud_alert%28%27Invalid%20Delay%27%2C%20%27error%27%29%5Cnnotification.schedule%28message%2C%20delay%20%2A%2060%2C%20effect_name%2C%20launch_url%29%5Cnconsole.hud_alert%28%27Scheduled%27%2C%20%27success%27%2C%201.0%29%5Cn%5Cn%22%2C%20%22D7F3FA22-DCF5-4A30-A139-B68783ECAD05%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Cancel%20All%20Notifications%22%2C%20%22parameters%22%3A%20%7B%22E34ED55B-FBEB-4F8F-9D0C-95FFD1DE039A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%223A9BEAB2-2B3E-406C-B42B-265D62E483DA%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22F4F4B693-ADE6-47A2-B415-E0146DD88F1A%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%228F7F4DC8-A93E-4780-985C-25820AB2A56F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%5D%2C%20%22714E0559-7484-49D8-A9DC-6010611669A6%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20notification%5Cn%5Cnnotification.cancel_all%28%29%5Cn%5Cnworkflow.set_output%20%3D%20workflow.get_input%28%29%5Cn%22%2C%20%2285306C9A-B368-4B73-8857-FBE3ECB0922F%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2241F5C805-5E66-4A77-BC05-BBA84DC22DC2%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%222828814B-7EB1-4CD1-A5EB-9793C1A47792%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Compare%20%28Diff%29%22%2C%20%22parameters%22%3A%20%7B%22DD6CA9FD-BFC3-4E2A-9B4C-B00F5B046BA8%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22A25A8AE4-C956-4D2C-BF0D-4C9D247DB7D6%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%225EB394D4-92F6-4DE5-9806-6064D74F2232%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2260C613B4-0902-4F5F-9659-6CE06E71E752%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2233A0A4E3-1D89-4418-8A36-1015D59A61D7%22%3A%200%2C%20%22DBAD4725-4CE7-4CD3-8F1D-109B7A1C4056%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_parameters__%22%3A%20%5B%7B%22title%22%3A%20%22Text%20A%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%22A25A8AE4-C956-4D2C-BF0D-4C9D247DB7D6%22%2C%20%22height%22%3A%20100%7D%2C%20%7B%22title%22%3A%20%22Text%20B%22%2C%20%22type%22%3A%20%22advancedText%22%2C%20%22key%22%3A%20%22DD6CA9FD-BFC3-4E2A-9B4C-B00F5B046BA8%22%2C%20%22height%22%3A%20100%7D%2C%20%7B%22optionTitles%22%3A%20%5B%22HTML%22%2C%20%22Critic%20Markup%22%5D%2C%20%22type%22%3A%20%22selectOption%22%2C%20%22key%22%3A%20%2233A0A4E3-1D89-4418-8A36-1015D59A61D7%22%2C%20%22title%22%3A%20%22Output%20Format%22%7D%5D%2C%20%22E97BF5C5-8263-49D2-9A89-007C3D4B57A1%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20the%20options%20%28%5Cu25bc%29%20button%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%2225384A12-A759-4853-AD50-28D2E72D3B49%22%3A%20%7B%22text%22%3A%20%22This%20action%20runs%20a%20Python%20script%20that%20can%20be%20configured%20with%20your%20own%20parameters.%20Tap%20and%20hold%20the%20action%20to%20edit%20the%20script%20or%20the%20parameters%20that%20are%20shown%20here.%20This%20comment%20is%20actually%20a%20text%20parameter%20itself%20%5Cu2013%20feel%20free%20to%20remove%20it.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22__custom_action_script__%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20difflib%5Cnfrom%20StringIO%20import%20StringIO%5Cn%5Cndef%20diff%28a%2C%20b%2C%20del1%2C%20del2%2C%20ins1%2C%20ins2%29%3A%5Cn%5Ctseq%20%3D%20difflib.SequenceMatcher%28None%2C%20a%2C%20b%29%5Cn%5Ctopcodes%20%3D%20seq.get_opcodes%28%29%5Cn%5Ctout%20%3D%20StringIO%28%29%5Cn%5Ctfor%20op%2C%20a0%2C%20a1%2C%20b0%2C%20b1%20in%20opcodes%3A%5Cn%5Ct%5Ctif%20op%20%3D%3D%20%27equal%27%3A%5Cn%5Ct%5Ct%5Ctout.write%28a%5Ba0%3Aa1%5D%29%5Cn%5Ct%5Ctif%20op%20%3D%3D%20%27insert%27%20or%20op%20%3D%3D%20%27replace%27%3A%5Cn%5Ct%5Ct%5Ctout.write%28ins1%20%2B%20b%5Bb0%3Ab1%5D%20%2B%20ins2%29%5Cn%5Ct%5Ctif%20op%20%3D%3D%20%27delete%27%20or%20op%20%3D%3D%20%27replace%27%3A%5Cn%5Ct%5Ct%5Ctout.write%28del1%20%2B%20a%5Ba0%3Aa1%5D%20%2B%20del2%29%5Cn%5Ctreturn%20out.getvalue%28%29%5Cn%5Cnparams%20%3D%20workflow.get_parameters%28%29%5Cna%20%3D%20params%5B%27Text%20A%27%5D%5Cnb%20%3D%20params%5B%27Text%20B%27%5D%5Cnif%20params%5B%27Output%20Format%27%5D%20%3D%3D%200%3A%5Cn%5Ctimport%20cgi%5Cn%5Cta%20%3D%20cgi.escape%28a%29%5Cn%5Ctb%20%3D%20cgi.escape%28b%29%5Cn%5Cthtml%20%3D%20diff%28a%2C%20b%2C%20%27%3Cdel%3E%27%2C%20%27%3C%2Fdel%3E%27%2C%20%27%3Cins%3E%27%2C%20%27%3C%2Fins%3E%27%29%5Cn%5Ctworkflow.set_output%28html%29%5Cnelse%3A%5Cn%5Ctcritic_markup%20%3D%20diff%28a%2C%20b%2C%20%27%7B--%27%2C%20%27--%7D%27%2C%20%27%7B%2B%2B%27%2C%20%27%2B%2B%7D%27%29%5Cn%5Ctworkflow.set_output%28critic_markup%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionCustom%22%7D%5D%2C%20%22name%22%3A%20%22Custom%20Actions%20Pack%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone8%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_SPANNER.png%22%7D", "description": "This is a collection of several unrelated custom actions.", "title": "Custom Actions Pack"}, {"url": "http://editorial-app.appspot.com/workflow/5805622016606208/FCIU7_dNi-c", "workflow_data": {"username": "ROBERT SUMNER JR", "description": "", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 1}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionExtractURLs"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "If no URLs are found...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": true, "HUDTitle": "No URLs found", "stopOption": 0}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"list": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "title": "", "showInPopover": true, "allowMultipleSelection": false}, "class": "WorkflowActionSelectFromList"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "If URL is selected...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"URL": {"text": "?\t\t\t", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "waitUntilLoaded": false, "revealBrowserAutomatically": true, "openIn": 1, "tabOption": 0}, "class": "WorkflowActionOpenURL"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}], "name": "List URLs...", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone8,4", "systemVersion": "12.1.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_SPANNER.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22ROBERT%20SUMNER%20JR%22%2C%20%22description%22%3A%20%22%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionExtractURLs%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22If%20no%20URLs%20are%20found...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20true%2C%20%22HUDTitle%22%3A%20%22No%20URLs%20found%22%2C%20%22stopOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22list%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22%22%2C%20%22showInPopover%22%3A%20true%2C%20%22allowMultipleSelection%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionSelectFromList%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22If%20URL%20is%20selected...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22URL%22%3A%20%7B%22text%22%3A%20%22%3F%5Ct%5Ct%5Ct%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22waitUntilLoaded%22%3A%20false%2C%20%22revealBrowserAutomatically%22%3A%20true%2C%20%22openIn%22%3A%201%2C%20%22tabOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenURL%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%5D%2C%20%22name%22%3A%20%22List%20URLs...%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone8%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_SPANNER.png%22%7D", "description": "", "title": "List URLs..."}, {"url": "http://editorial-app.appspot.com/workflow/5874726161350656/cWuAzC0nXXk", "workflow_data": {"username": "", "description": "Modified version of Clean Up Completed Tasks workflow. Intended to be run every now and then on a Main.taskpaper file to empty the archive by filtering lines tagged as @done and prepending them to an Archive.taskpaper. The lack of disclosure triangles in Editorial means having to look at that eventually unwieldy archive, but I don't always want to just delete completed tasks. Thanks to @scottzero for the original workflow this is based on. \n\nNote: all I did was change the filenames (and paths) in the proper actions and then change the line filtering to @done.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"includeExtension": true, "includeFolder": false}, "class": "WorkflowActionGetFileName"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "todo.taskpaper", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression": {"text": "@done", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionFilterLines"}, {"pauseWithoutShowingParameters": true, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "completed", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression": {"text": "@done", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "class": "WorkflowActionFilterLines"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "todo", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": true, "ifNotExists": 0, "filename": "done.taskpaper"}, "class": "WorkflowActionGetFileContents"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "done", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": true, "text": {"text": "?\n?", "tokenRanges": {"{0, 1}": "completed", "{2, 1}": "done"}, "type": "advancedText"}, "ifNotExists": 0, "filename": "done.taskpaper"}, "class": "WorkflowActionSetFileContents"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": true, "text": {"text": "?", "tokenRanges": {"{0, 1}": "todo"}, "type": "advancedText"}, "ifNotExists": 0, "filename": "todo.taskpaper"}, "class": "WorkflowActionSetFileContents"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}], "name": "Clean Up TaskPaper Archive", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad4,4", "systemVersion": "12.1.1"}, "type": "wkflw", "public": true, "icon": "minicons-icons-folder-validate.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%22%2C%20%22description%22%3A%20%22Modified%20version%20of%20Clean%20Up%20Completed%20Tasks%20workflow.%20Intended%20to%20be%20run%20every%20now%20and%20then%20on%20a%20Main.taskpaper%20file%20to%20empty%20the%20archive%20by%20filtering%20lines%20tagged%20as%20%40done%20and%20prepending%20them%20to%20an%20Archive.taskpaper.%20The%20lack%20of%20disclosure%20triangles%20in%20Editorial%20means%20having%20to%20look%20at%20that%20eventually%20unwieldy%20archive%2C%20but%20I%20don%27t%20always%20want%20to%20just%20delete%20completed%20tasks.%20Thanks%20to%20%40scottzero%20for%20the%20original%20workflow%20this%20is%20based%20on.%20%5Cn%5CnNote%3A%20all%20I%20did%20was%20change%20the%20filenames%20%28and%20paths%29%20in%20the%20proper%20actions%20and%20then%20change%20the%20line%20filtering%20to%20%40done.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22includeExtension%22%3A%20true%2C%20%22includeFolder%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionGetFileName%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22todo.taskpaper%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression%22%3A%20%7B%22text%22%3A%20%22%40done%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionFilterLines%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20true%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22completed%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression%22%3A%20%7B%22text%22%3A%20%22%40done%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionFilterLines%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22todo%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20true%2C%20%22ifNotExists%22%3A%200%2C%20%22filename%22%3A%20%22done.taskpaper%22%7D%2C%20%22class%22%3A%20%22WorkflowActionGetFileContents%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22done%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20true%2C%20%22text%22%3A%20%7B%22text%22%3A%20%22%3F%5Cn%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22completed%22%2C%20%22%7B2%2C%201%7D%22%3A%20%22done%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22ifNotExists%22%3A%200%2C%20%22filename%22%3A%20%22done.taskpaper%22%7D%2C%20%22class%22%3A%20%22WorkflowActionSetFileContents%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20true%2C%20%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22todo%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22ifNotExists%22%3A%200%2C%20%22filename%22%3A%20%22todo.taskpaper%22%7D%2C%20%22class%22%3A%20%22WorkflowActionSetFileContents%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%5D%2C%20%22name%22%3A%20%22Clean%20Up%20TaskPaper%20Archive%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad4%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-folder-validate.png%22%7D", "description": "Modified version of Clean Up Completed Tasks workflow. Intended to be run every now and then on a Main.taskpaper file to empty the archive by filtering lines tagged as @done and prepending them to an Archive.taskpaper. The lack of disclosure triangles in Editorial means having to look at that eventually unwieldy archive, but I don't always want to just delete completed tasks. Thanks to @scottzero for the original workflow this is based on. \n\nNote: all I did was change the filenames (and paths) in the proper actions and then change the line filtering to @done.", "title": "Clean Up TaskPaper Archive"}, {"url": "http://editorial-app.appspot.com/workflow/5798027507793920/Xl4kzoufYs0", "workflow_data": {"username": "jjd1217-122318TS", "description": "Saves or restores a backup of all Editorial workflows, snippets, bookmarks, and local documents as a zip file in Dropbox (this requires the Dropbox account to be linked).\r\n\r\nPlease note: If you want to restore a backup on a different device, you first have to download the backup file (just tap on it in the document list). This is required because Editorial doesn't sync zip files by default.\r\n\r\nRestoring a backup will *overwrite* all existing workflows, snippets, and bookmarks, so it's possible that you'll lose data this way. The best way to avoid any data loss is to create a backup before restoring anything.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"button1Value": {"text": "backup", "tokenRanges": {}, "type": "advancedText"}, "button3Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "button2Value": {"text": "restore", "tokenRanges": {}, "type": "advancedText"}, "title": "Create or Restore?", "button3Title": "", "button2Title": "Restore...", "button1Title": "Create Backup", "message": {"text": "The backup of your workflows, snippets, bookmarks, and local documents will be created as a zip file in your Dropbox (EditorialBackup_?_?_?-?_?.zip). Editorial needs to be linked to Dropbox for this to work.", "tokenRanges": {"{142, 1}": "%date:mm", "{134, 1}": "%date:yyyy", "{136, 1}": "%date:MM", "{140, 1}": "%date:HH", "{138, 1}": "%date:dd"}, "type": "advancedText"}, "showCancelButton": true}, "class": "WorkflowActionShowAlert"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "Action", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "If \"Backup\" was selected...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Action"}, "type": "advancedText"}, "expression2": {"text": "backup", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Create the Backup (Python)", "parameters": {"script": "#coding: utf-8\nimport workflow\nimport editor\nimport os\nfrom zipfile import ZipFile\nimport datetime\nfrom io import BytesIO\nimport json\nimport shutil\n\nt = datetime.datetime.today()\nbackup_filename = 'EditorialBackup_' + t.strftime('%Y_%m_%d-%H_%M') + '.zip'\nwf_path = editor.get_workflows_path()\nwf_files = os.listdir(wf_path)\nsnpt_path = os.path.expanduser('~/Library/Application Support/Snippets')\nsnpt_files = os.listdir(snpt_path)\n\nzip_buffer = BytesIO()\nwith ZipFile(zip_buffer, 'w') as z:\n\t# Backup workflows:\n\tfor filename in wf_files:\n\t\tname, extension = os.path.splitext(filename)\n\t\tif extension in ('.wkflw', '.edcmd'):\n\t\t\tz.write(filename)\n\t# Backup snippets:\n\tos.chdir(snpt_path)\n\tfor filename in snpt_files:\n\t\tname, extension = os.path.splitext(filename)\n\t\tif extension in ('.snpt', '.edcmd'):\n\t\t\tz.write(filename)\n\t# Backup bookmarks\n\tz.writestr('EditorBookmarks.json', json.dumps(editor.get_bookmarks('editor')))\n\tz.writestr('BrowserBookmarks.json', json.dumps(editor.get_bookmarks('browser')))\n\t# Backup local documents:\n\tdoc_path = os.path.expanduser('~/Documents')\n\tshutil.make_archive('Documents', 'zip', doc_path)\n\tz.write('Documents.zip')\n\tos.remove('Documents.zip')\n\nzip_data = zip_buffer.getvalue()\neditor.set_file_contents(backup_filename, zip_data, 'dropbox')\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"duration": 1, "HUDText": {"text": "Backup Created", "tokenRanges": {}, "type": "advancedText"}, "icon": 0}, "class": "WorkflowActionShowHUD"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "If \"Restore\" was selected....", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Action"}, "type": "advancedText"}, "expression2": {"text": "restore", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "List Backups (Python)", "parameters": {"script": "#coding: utf-8\nimport workflow\nimport editor\nimport os\nimport re\n\nwf_path = editor.get_workflows_path()\ndb_path = os.path.join(os.path.split(wf_path)[0], 'Dropbox')\n\nbackups = []\nfiles = os.listdir(db_path)\nfor filename in files:\n\tif re.match('EditorialBackup_.*\\\\.zip$', filename):\n\t\tbackups.append(filename)\nworkflow.set_output('\\n'.join(backups))\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Stop if no backups are found...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"button1Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "button3Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "button2Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "title": "No Backups Found", "button3Title": "", "button2Title": "", "button1Title": "", "message": {"text": "No backup files were found. You might need to download them first, if you see grayed-out backup files in your Dropbox folder.", "tokenRanges": {}, "type": "advancedText"}, "showCancelButton": false}, "class": "WorkflowActionShowAlert"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": false, "HUDTitle": "", "stopOption": 0}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"list": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "title": "Select a Backup", "showInPopover": false, "allowMultipleSelection": false}, "class": "WorkflowActionSelectFromList"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Show Warning Alert", "parameters": {"button1Value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "button3Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "button2Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "title": "Warning", "button3Title": "", "button2Title": "", "button1Title": "Continue", "message": {"text": "This will replace all your workflows, snippets, bookmarks, and local documents with the ones that are stored in the selected backup (?).\n\nDocuments that are synced with Dropbox will not be changed.", "tokenRanges": {"{133, 1}": "Input"}, "type": "advancedText"}, "showCancelButton": true}, "class": "WorkflowActionShowAlert"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Restore the Backup (Python)", "parameters": {"script": "#coding: utf-8\nimport workflow\nimport editor\nfrom os import path\nimport os\nfrom zipfile import ZipFile\nimport shutil\nimport json\n\nbackup_filename = workflow.get_input()\ndb_path = path.join(path.split(editor.get_workflows_path())[0], 'Dropbox')\nbackup_path = path.join(db_path, backup_filename)\n\nwith ZipFile(backup_path, 'r') as z:\n\tz.extractall(editor.get_workflows_path())\nwf_path = editor.get_workflows_path()\nsnpt_path = os.path.expanduser('~/Library/Application Support/Snippets')\nfiles = os.listdir(wf_path)\nfor filename in files:\n\tif filename == 'Snippets.edcmd' or path.splitext(filename)[1] == '.snpt':\n\t\tshutil.move(os.path.join(wf_path, filename), os.path.join(snpt_path, filename))\n\tif filename == 'EditorBookmarks.json':\n\t\twith open(os.path.join(wf_path, filename), 'r') as f:\n\t\t\tbookmarks = json.load(f)\n\t\t\teditor.set_bookmarks(bookmarks, 'editor')\n\t\tos.remove(os.path.join(wf_path, filename))\n\tif filename == 'BrowserBookmarks.json':\n\t\twith open(os.path.join(wf_path, filename), 'r') as f:\n\t\t\tbookmarks = json.load(f)\n\t\t\teditor.set_bookmarks(bookmarks, 'browser')\n\t\tos.remove(os.path.join(wf_path, filename))\n\tif filename == 'Documents.zip':\n\t\tdoc_path = os.path.expanduser('~/Documents')\n\t\twith ZipFile(filename, 'r') as docszip:\n\t\t\tnames = docszip.namelist()\n\t\t\tfor name in names:\n\t\t\t\tif not name.startswith('Inbox/'):\n\t\t\t\t\tdocszip.extract(name, doc_path)\n\t\tos.remove(os.path.join(wf_path, filename))\n\neditor.reload_workflows()\neditor.reload_files()\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"duration": 1, "HUDText": {"text": "Backup Restored", "tokenRanges": {}, "type": "advancedText"}, "icon": 0}, "class": "WorkflowActionShowHUD"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}], "name": "Editorial Backup", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone8,4", "systemVersion": "12.0.1"}, "type": "wkflw", "public": true, "icon": "minicons-icons-file-zip.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22jjd1217-122318TS%22%2C%20%22description%22%3A%20%22Saves%20or%20restores%20a%20backup%20of%20all%20Editorial%20workflows%2C%20snippets%2C%20bookmarks%2C%20and%20local%20documents%20as%20a%20zip%20file%20in%20Dropbox%20%28this%20requires%20the%20Dropbox%20account%20to%20be%20linked%29.%5Cr%5Cn%5Cr%5CnPlease%20note%3A%20If%20you%20want%20to%20restore%20a%20backup%20on%20a%20different%20device%2C%20you%20first%20have%20to%20download%20the%20backup%20file%20%28just%20tap%20on%20it%20in%20the%20document%20list%29.%20This%20is%20required%20because%20Editorial%20doesn%27t%20sync%20zip%20files%20by%20default.%5Cr%5Cn%5Cr%5CnRestoring%20a%20backup%20will%20%2Aoverwrite%2A%20all%20existing%20workflows%2C%20snippets%2C%20and%20bookmarks%2C%20so%20it%27s%20possible%20that%20you%27ll%20lose%20data%20this%20way.%20The%20best%20way%20to%20avoid%20any%20data%20loss%20is%20to%20create%20a%20backup%20before%20restoring%20anything.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22button1Value%22%3A%20%7B%22text%22%3A%20%22backup%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button3Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button2Value%22%3A%20%7B%22text%22%3A%20%22restore%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22Create%20or%20Restore%3F%22%2C%20%22button3Title%22%3A%20%22%22%2C%20%22button2Title%22%3A%20%22Restore...%22%2C%20%22button1Title%22%3A%20%22Create%20Backup%22%2C%20%22message%22%3A%20%7B%22text%22%3A%20%22The%20backup%20of%20your%20workflows%2C%20snippets%2C%20bookmarks%2C%20and%20local%20documents%20will%20be%20created%20as%20a%20zip%20file%20in%20your%20Dropbox%20%28EditorialBackup_%3F_%3F_%3F-%3F_%3F.zip%29.%20Editorial%20needs%20to%20be%20linked%20to%20Dropbox%20for%20this%20to%20work.%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B142%2C%201%7D%22%3A%20%22%25date%3Amm%22%2C%20%22%7B134%2C%201%7D%22%3A%20%22%25date%3Ayyyy%22%2C%20%22%7B136%2C%201%7D%22%3A%20%22%25date%3AMM%22%2C%20%22%7B140%2C%201%7D%22%3A%20%22%25date%3AHH%22%2C%20%22%7B138%2C%201%7D%22%3A%20%22%25date%3Add%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22showCancelButton%22%3A%20true%7D%2C%20%22class%22%3A%20%22WorkflowActionShowAlert%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22Action%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22If%20%5C%22Backup%5C%22%20was%20selected...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Action%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22backup%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Create%20the%20Backup%20%28Python%29%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20editor%5Cnimport%20os%5Cnfrom%20zipfile%20import%20ZipFile%5Cnimport%20datetime%5Cnfrom%20io%20import%20BytesIO%5Cnimport%20json%5Cnimport%20shutil%5Cn%5Cnt%20%3D%20datetime.datetime.today%28%29%5Cnbackup_filename%20%3D%20%27EditorialBackup_%27%20%2B%20t.strftime%28%27%25Y_%25m_%25d-%25H_%25M%27%29%20%2B%20%27.zip%27%5Cnwf_path%20%3D%20editor.get_workflows_path%28%29%5Cnwf_files%20%3D%20os.listdir%28wf_path%29%5Cnsnpt_path%20%3D%20os.path.expanduser%28%27%7E%2FLibrary%2FApplication%20Support%2FSnippets%27%29%5Cnsnpt_files%20%3D%20os.listdir%28snpt_path%29%5Cn%5Cnzip_buffer%20%3D%20BytesIO%28%29%5Cnwith%20ZipFile%28zip_buffer%2C%20%27w%27%29%20as%20z%3A%5Cn%5Ct%23%20Backup%20workflows%3A%5Cn%5Ctfor%20filename%20in%20wf_files%3A%5Cn%5Ct%5Ctname%2C%20extension%20%3D%20os.path.splitext%28filename%29%5Cn%5Ct%5Ctif%20extension%20in%20%28%27.wkflw%27%2C%20%27.edcmd%27%29%3A%5Cn%5Ct%5Ct%5Ctz.write%28filename%29%5Cn%5Ct%23%20Backup%20snippets%3A%5Cn%5Ctos.chdir%28snpt_path%29%5Cn%5Ctfor%20filename%20in%20snpt_files%3A%5Cn%5Ct%5Ctname%2C%20extension%20%3D%20os.path.splitext%28filename%29%5Cn%5Ct%5Ctif%20extension%20in%20%28%27.snpt%27%2C%20%27.edcmd%27%29%3A%5Cn%5Ct%5Ct%5Ctz.write%28filename%29%5Cn%5Ct%23%20Backup%20bookmarks%5Cn%5Ctz.writestr%28%27EditorBookmarks.json%27%2C%20json.dumps%28editor.get_bookmarks%28%27editor%27%29%29%29%5Cn%5Ctz.writestr%28%27BrowserBookmarks.json%27%2C%20json.dumps%28editor.get_bookmarks%28%27browser%27%29%29%29%5Cn%5Ct%23%20Backup%20local%20documents%3A%5Cn%5Ctdoc_path%20%3D%20os.path.expanduser%28%27%7E%2FDocuments%27%29%5Cn%5Ctshutil.make_archive%28%27Documents%27%2C%20%27zip%27%2C%20doc_path%29%5Cn%5Ctz.write%28%27Documents.zip%27%29%5Cn%5Ctos.remove%28%27Documents.zip%27%29%5Cn%5Cnzip_data%20%3D%20zip_buffer.getvalue%28%29%5Cneditor.set_file_contents%28backup_filename%2C%20zip_data%2C%20%27dropbox%27%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22duration%22%3A%201%2C%20%22HUDText%22%3A%20%7B%22text%22%3A%20%22Backup%20Created%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22icon%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionShowHUD%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22If%20%5C%22Restore%5C%22%20was%20selected....%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Action%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22restore%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22List%20Backups%20%28Python%29%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20editor%5Cnimport%20os%5Cnimport%20re%5Cn%5Cnwf_path%20%3D%20editor.get_workflows_path%28%29%5Cndb_path%20%3D%20os.path.join%28os.path.split%28wf_path%29%5B0%5D%2C%20%27Dropbox%27%29%5Cn%5Cnbackups%20%3D%20%5B%5D%5Cnfiles%20%3D%20os.listdir%28db_path%29%5Cnfor%20filename%20in%20files%3A%5Cn%5Ctif%20re.match%28%27EditorialBackup_.%2A%5C%5C%5C%5C.zip%24%27%2C%20filename%29%3A%5Cn%5Ct%5Ctbackups.append%28filename%29%5Cnworkflow.set_output%28%27%5C%5Cn%27.join%28backups%29%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Stop%20if%20no%20backups%20are%20found...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22button1Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button3Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button2Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22No%20Backups%20Found%22%2C%20%22button3Title%22%3A%20%22%22%2C%20%22button2Title%22%3A%20%22%22%2C%20%22button1Title%22%3A%20%22%22%2C%20%22message%22%3A%20%7B%22text%22%3A%20%22No%20backup%20files%20were%20found.%20You%20might%20need%20to%20download%20them%20first%2C%20if%20you%20see%20grayed-out%20backup%20files%20in%20your%20Dropbox%20folder.%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22showCancelButton%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionShowAlert%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20false%2C%20%22HUDTitle%22%3A%20%22%22%2C%20%22stopOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22list%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22Select%20a%20Backup%22%2C%20%22showInPopover%22%3A%20false%2C%20%22allowMultipleSelection%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionSelectFromList%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Show%20Warning%20Alert%22%2C%20%22parameters%22%3A%20%7B%22button1Value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button3Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button2Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22Warning%22%2C%20%22button3Title%22%3A%20%22%22%2C%20%22button2Title%22%3A%20%22%22%2C%20%22button1Title%22%3A%20%22Continue%22%2C%20%22message%22%3A%20%7B%22text%22%3A%20%22This%20will%20replace%20all%20your%20workflows%2C%20snippets%2C%20bookmarks%2C%20and%20local%20documents%20with%20the%20ones%20that%20are%20stored%20in%20the%20selected%20backup%20%28%3F%29.%5Cn%5CnDocuments%20that%20are%20synced%20with%20Dropbox%20will%20not%20be%20changed.%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B133%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22showCancelButton%22%3A%20true%7D%2C%20%22class%22%3A%20%22WorkflowActionShowAlert%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Restore%20the%20Backup%20%28Python%29%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20editor%5Cnfrom%20os%20import%20path%5Cnimport%20os%5Cnfrom%20zipfile%20import%20ZipFile%5Cnimport%20shutil%5Cnimport%20json%5Cn%5Cnbackup_filename%20%3D%20workflow.get_input%28%29%5Cndb_path%20%3D%20path.join%28path.split%28editor.get_workflows_path%28%29%29%5B0%5D%2C%20%27Dropbox%27%29%5Cnbackup_path%20%3D%20path.join%28db_path%2C%20backup_filename%29%5Cn%5Cnwith%20ZipFile%28backup_path%2C%20%27r%27%29%20as%20z%3A%5Cn%5Ctz.extractall%28editor.get_workflows_path%28%29%29%5Cnwf_path%20%3D%20editor.get_workflows_path%28%29%5Cnsnpt_path%20%3D%20os.path.expanduser%28%27%7E%2FLibrary%2FApplication%20Support%2FSnippets%27%29%5Cnfiles%20%3D%20os.listdir%28wf_path%29%5Cnfor%20filename%20in%20files%3A%5Cn%5Ctif%20filename%20%3D%3D%20%27Snippets.edcmd%27%20or%20path.splitext%28filename%29%5B1%5D%20%3D%3D%20%27.snpt%27%3A%5Cn%5Ct%5Ctshutil.move%28os.path.join%28wf_path%2C%20filename%29%2C%20os.path.join%28snpt_path%2C%20filename%29%29%5Cn%5Ctif%20filename%20%3D%3D%20%27EditorBookmarks.json%27%3A%5Cn%5Ct%5Ctwith%20open%28os.path.join%28wf_path%2C%20filename%29%2C%20%27r%27%29%20as%20f%3A%5Cn%5Ct%5Ct%5Ctbookmarks%20%3D%20json.load%28f%29%5Cn%5Ct%5Ct%5Cteditor.set_bookmarks%28bookmarks%2C%20%27editor%27%29%5Cn%5Ct%5Ctos.remove%28os.path.join%28wf_path%2C%20filename%29%29%5Cn%5Ctif%20filename%20%3D%3D%20%27BrowserBookmarks.json%27%3A%5Cn%5Ct%5Ctwith%20open%28os.path.join%28wf_path%2C%20filename%29%2C%20%27r%27%29%20as%20f%3A%5Cn%5Ct%5Ct%5Ctbookmarks%20%3D%20json.load%28f%29%5Cn%5Ct%5Ct%5Cteditor.set_bookmarks%28bookmarks%2C%20%27browser%27%29%5Cn%5Ct%5Ctos.remove%28os.path.join%28wf_path%2C%20filename%29%29%5Cn%5Ctif%20filename%20%3D%3D%20%27Documents.zip%27%3A%5Cn%5Ct%5Ctdoc_path%20%3D%20os.path.expanduser%28%27%7E%2FDocuments%27%29%5Cn%5Ct%5Ctwith%20ZipFile%28filename%2C%20%27r%27%29%20as%20docszip%3A%5Cn%5Ct%5Ct%5Ctnames%20%3D%20docszip.namelist%28%29%5Cn%5Ct%5Ct%5Ctfor%20name%20in%20names%3A%5Cn%5Ct%5Ct%5Ct%5Ctif%20not%20name.startswith%28%27Inbox%2F%27%29%3A%5Cn%5Ct%5Ct%5Ct%5Ct%5Ctdocszip.extract%28name%2C%20doc_path%29%5Cn%5Ct%5Ctos.remove%28os.path.join%28wf_path%2C%20filename%29%29%5Cn%5Cneditor.reload_workflows%28%29%5Cneditor.reload_files%28%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22duration%22%3A%201%2C%20%22HUDText%22%3A%20%7B%22text%22%3A%20%22Backup%20Restored%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22icon%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionShowHUD%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%5D%2C%20%22name%22%3A%20%22Editorial%20Backup%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone8%2C4%22%2C%20%22systemVersion%22%3A%20%2212.0.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-file-zip.png%22%7D", "description": "Saves or restores a backup of all Editorial workflows, snippets, bookmarks, and local documents as a zip file in Dropbox (this requires the Dropbox account to be linked).\r\n\r\nPlease note: If you want to restore a backup on a different device, you first have to download the backup file (just tap on it in the document list). This is required because Editorial doesn't sync zip files by default.\r\n\r\nRestoring a backup will *overwrite* all existing workflows, snippets, and bookmarks, so it's possible that you'll lose data this way. The best way to avoid any data loss is to create a backup before restoring anything.", "title": "Editorial Backup"}, {"url": "http://editorial-app.appspot.com/workflow/5910126489763840/jA-XLNdMnH4", "workflow_data": {"username": "tsumner868", "description": "Shows a list of URLs in the current document. Selecting one of the URLs opens it in the browser panel.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionExtractURLs"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "If no URLs are found...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": true, "HUDTitle": "No URLs found", "stopOption": 0}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"list": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "title": "", "showInPopover": true, "allowMultipleSelection": false}, "class": "WorkflowActionSelectFromList"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "If URL is selected...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"URL": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "waitUntilLoaded": false, "revealBrowserAutomatically": true, "openIn": 0, "tabOption": 0}, "class": "WorkflowActionOpenURL"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}], "name": "List URLs...", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone8,4", "systemVersion": "12.1.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_EDIT.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22tsumner868%22%2C%20%22description%22%3A%20%22Shows%20a%20list%20of%20URLs%20in%20the%20current%20document.%20Selecting%20one%20of%20the%20URLs%20opens%20it%20in%20the%20browser%20panel.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionExtractURLs%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22If%20no%20URLs%20are%20found...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20true%2C%20%22HUDTitle%22%3A%20%22No%20URLs%20found%22%2C%20%22stopOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22list%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22%22%2C%20%22showInPopover%22%3A%20true%2C%20%22allowMultipleSelection%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionSelectFromList%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22If%20URL%20is%20selected...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22URL%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22waitUntilLoaded%22%3A%20false%2C%20%22revealBrowserAutomatically%22%3A%20true%2C%20%22openIn%22%3A%200%2C%20%22tabOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenURL%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%5D%2C%20%22name%22%3A%20%22List%20URLs...%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone8%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_EDIT.png%22%7D", "description": "Shows a list of URLs in the current document. Selecting one of the URLs opens it in the browser panel.", "title": "List URLs..."}, {"url": "http://editorial-app.appspot.com/workflow/5785580961005568/S2feID9gFGk", "workflow_data": {"username": "https://rayalez.com", "description": "Paste text from iBooks, removes annoying Excerpt From message.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionGetClipboard"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"script": "#coding: utf-8\nimport workflow\n\ntext = workflow.get_input()\n\ntext = text.split(\"Excerpt From\", 1)[0]\n\ntext = text.strip()\n\ntext = text[1:-1] # get rid of quotes\n\ntext += \"\\n\"\n\nworkflow.set_output(text)\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}], "name": "Paste from iBooks", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad5,1", "systemVersion": "12.1"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_SPANNER.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22https%3A%2F%2Frayalez.com%22%2C%20%22description%22%3A%20%22Paste%20text%20from%20iBooks%2C%20removes%20annoying%20Excerpt%20From%20message.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionGetClipboard%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cn%5Cntext%20%3D%20workflow.get_input%28%29%5Cn%5Cntext%20%3D%20text.split%28%5C%22Excerpt%20From%5C%22%2C%201%29%5B0%5D%5Cn%5Cntext%20%3D%20text.strip%28%29%5Cn%5Cntext%20%3D%20text%5B1%3A-1%5D%20%23%20get%20rid%20of%20quotes%5Cn%5Cntext%20%2B%3D%20%5C%22%5C%5Cn%5C%22%5Cn%5Cnworkflow.set_output%28text%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%5D%2C%20%22name%22%3A%20%22Paste%20from%20iBooks%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad5%2C1%22%2C%20%22systemVersion%22%3A%20%2212.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_SPANNER.png%22%7D", "description": "Paste text from iBooks, removes annoying Excerpt From message.", "title": "Paste from iBooks"}, {"url": "http://editorial-app.appspot.com/workflow/5886877966008320/007_yPWV8Lg", "workflow_data": {"username": "https://rayalez.com", "description": "Insert current date", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?-?-?", "tokenRanges": {"{0, 1}": "%date:yyyy", "{4, 1}": "%date:dd", "{2, 1}": "%date:MM"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}], "name": "Insert current date", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad4,4", "systemVersion": "10.0.2"}, "type": "wkflw", "public": true, "icon": "minicons-icons-pages-text-&-picture-2.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22https%3A%2F%2Frayalez.com%22%2C%20%22description%22%3A%20%22Insert%20current%20date%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F-%3F-%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25date%3Ayyyy%22%2C%20%22%7B4%2C%201%7D%22%3A%20%22%25date%3Add%22%2C%20%22%7B2%2C%201%7D%22%3A%20%22%25date%3AMM%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%5D%2C%20%22name%22%3A%20%22Insert%20current%20date%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad4%2C4%22%2C%20%22systemVersion%22%3A%20%2210.0.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-pages-text-%26-picture-2.png%22%7D", "description": "Insert current date", "title": "Insert current date"}, {"url": "http://editorial-app.appspot.com/workflow/5873448609906688/5JPhHS4_Sk4", "workflow_data": {"username": "https://rayalez.com", "description": "Move cursor to the end of document", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"numberOfSteps": {"text": "1", "tokenRanges": {}, "type": "advancedText"}, "direction": 1, "unit": 0}, "class": "WorkflowActionMoveCaret"}], "name": "Move cursor to the end of document", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad4,4", "systemVersion": "10.0.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_DOWN.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22https%3A%2F%2Frayalez.com%22%2C%20%22description%22%3A%20%22Move%20cursor%20to%20the%20end%20of%20document%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22numberOfSteps%22%3A%20%7B%22text%22%3A%20%221%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22direction%22%3A%201%2C%20%22unit%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionMoveCaret%22%7D%5D%2C%20%22name%22%3A%20%22Move%20cursor%20to%20the%20end%20of%20document%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad4%2C4%22%2C%20%22systemVersion%22%3A%20%2210.0.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_DOWN.png%22%7D", "description": "Move cursor to the end of document", "title": "Move cursor to the end of document"}, {"url": "http://editorial-app.appspot.com/workflow/5851851501076480/XzDrXl_drOE", "workflow_data": {"username": "http://rayalez.com", "description": "Insert current time", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"text": {"text": "?:?", "tokenRanges": {"{0, 1}": "%date:HH", "{2, 1}": "%date:mm"}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}], "name": "Insert current time", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad4,4", "systemVersion": "10.0.2"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_TIME.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22http%3A%2F%2Frayalez.com%22%2C%20%22description%22%3A%20%22Insert%20current%20time%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22%3F%3A%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25date%3AHH%22%2C%20%22%7B2%2C%201%7D%22%3A%20%22%25date%3Amm%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%5D%2C%20%22name%22%3A%20%22Insert%20current%20time%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad4%2C4%22%2C%20%22systemVersion%22%3A%20%2210.0.2%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_TIME.png%22%7D", "description": "Insert current time", "title": "Insert current time"}, {"url": "http://editorial-app.appspot.com/workflow/5796044105318400/VKbymHMnR0E", "workflow_data": {"username": "@stratosphere631", "name": "Plant UML", "description": "Generate UML diagram using plantuml.com.\nThis workflow uploads text file and get image url from plantuml.com.", "actions": [{"customTitle": "", "parameters": {"script": "#coding: utf-8\nimport editor\nimport workflow\nimport json\n\nsel=editor.get_selection()\nif sel is None:\n\tworkflow.set_variable('sel', json.dumps((0, 0)))\nelse:\n\tworkflow.set_variable('sel', json.dumps(sel))\n\t\n"}, "pauseWithoutShowingParameters": false, "colorLabel": 3, "class": "WorkflowActionRunScript", "pauseBeforeRunning": false}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"customTitle": "", "parameters": {"script": "#coding: utf-8\nimport workflow\nimport re\nimport json\n\nregstartuml = r'@start(\\w+)\\s*(.+?)\\s*$'\nregenduml = r'@end(\\w+)\\s*$'\n\ndef get_line_start(lines, _at):\n\tfor c in range(_at, 0, -1):\n\t\tif lines[c:c + 1] == '\\n':\n\t\t\treturn c + 1\n\treturn 0\n\ndef search_start(lines):\n\tp = re.compile(regstartuml, flags=re.MULTILINE)\n\tm = p.search(lines)\n\tif m is None:\n\t\treturn None \n\treturn m.span()[0], m.group(2)\n\ndef search_start_at(lines, _at):\n assert(_at >= 0)\n p = re.compile(regstartuml, flags=re.MULTILINE)\n _from = get_line_start(lines, _at)\n while _from > 0:\n m = p.match(lines, _from)\n if m is not None:\n return (m.span()[0], m.group(2))\n _from = get_line_start(lines, _from - 2)\n return None\n\ndef search_end(lines, _from):\n\tp = re.compile(regenduml, flags=re.MULTILINE)\n\tm = p.search(lines, _from)\n\treturn m.span()[1] if m else 0\n\ndef get_block(lines):\n\t_from, title = search_start(lines)\n\t_to = search_end(lines, _from)\n\treturn (title, lines[_from:_to])\n\ndef get_block_at(lines, _at):\n\t_from = search_start_at(lines, _at)\n\tif _from is None:\n\t\treturn None\n\t_to = search_end(lines, _from[0])\n\tif _to==0:\n\t\treturn None\n\treturn (_from[1], lines[_from[0]:_to])\n\nsel=json.loads(workflow.get_variable('sel'))\nif sel[0]==0:\n\t_block=get_block(workflow.get_input())\nelse:\n\t_block=get_block_at(workflow.get_input(), sel[0])\nif _block is None:\n\tworkflow.stop()\nworkflow.set_output(_block[1])\nworkflow.set_variable('title',_block[0])\n"}, "pauseWithoutShowingParameters": false, "colorLabel": 4, "class": "WorkflowActionRunScript", "pauseBeforeRunning": false}, {"customTitle": "", "parameters": {"script": "#coding: utf-8\n#!/usr/bin/env python\n\nfrom zlib import compress\n\nimport httplib2\n\n__version__ = 0, 2, 1\n__version_string__ = '.'.join(str(x) for x in __version__)\n\n__author__ = 'Doug Napoleone, Samuel Marks'\n__email__ = 'doug.napoleone+plantuml@gmail.com'\n\n\ndef deflate_and_encode(plantuml_text):\n \"\"\"zlib compress the plantuml text and encode it for the plantuml server.\n \"\"\"\n zlibbed_str = compress(plantuml_text)\n compressed_string = zlibbed_str[2:-4]\n return encode(compressed_string)\n\n\ndef encode(data):\n \"\"\"encode the plantuml data which may be compresses in the proper\n encoding for the plantuml server\n \"\"\"\n res = \"\"\n for i in xrange(0, len(data), 3):\n if i + 2 == len(data):\n res += _encode3bytes(ord(data[i]), ord(data[i + 1]), 0)\n elif i + 1 == len(data):\n res += _encode3bytes(ord(data[i]), 0, 0)\n else:\n res += _encode3bytes(ord(data[i]), ord(data[i + 1]), ord(data[i + 2]))\n return res\n\n\ndef _encode3bytes(b1, b2, b3):\n c1 = b1 >> 2\n c2 = ((b1 & 0x3) << 4) | (b2 >> 4)\n c3 = ((b2 & 0xF) << 2) | (b3 >> 6)\n c4 = b3 & 0x3F\n res = \"\"\n res += _encode6bit(c1 & 0x3F)\n res += _encode6bit(c2 & 0x3F)\n res += _encode6bit(c3 & 0x3F)\n res += _encode6bit(c4 & 0x3F)\n return res\n\n\ndef _encode6bit(b):\n if b < 10:\n return chr(48 + b)\n b -= 10\n if b < 26:\n return chr(65 + b)\n b -= 26\n if b < 26:\n return chr(97 + b)\n b -= 26\n if b == 0:\n return '-'\n if b == 1:\n return '_'\n return '?'\n\n\nclass PlantUML(object):\n \"\"\"Connection to a PlantUML server with optional authentication.\n \n All parameters are optional.\n \n :param str url: URL to the PlantUML server image CGI. defaults to\n http://www.plantuml.com/plantuml/img/\n :param dict basic_auth: This is if the plantuml server requires basic HTTP\n authentication. Dictionary containing two keys, 'username'\n and 'password', set to appropriate values for basic HTTP\n authentication.\n :param dict form_auth: This is for plantuml server requires a cookie based\n webform login authentication. Dictionary containing two\n primary keys, 'url' and 'body'. The 'url' should point to\n the login URL for the server, and the 'body' should be a\n dictionary set to the form elements required for login.\n The key 'method' will default to 'POST'. The key 'headers'\n defaults to\n {'Content-type':'application/x-www-form-urlencoded'}.\n Example: form_auth={'url': 'http://example.com/login/',\n 'body': { 'username': 'me', 'password': 'secret'}\n :param dict http_opts: Extra options to be passed off to the\n httplib2.Http() constructor.\n :param dict request_opts: Extra options to be passed off to the\n httplib2.Http().request() call.\n \n \"\"\"\n\n def __init__(self, url, basic_auth={}, form_auth={},\n http_opts={}, request_opts={}):\n self.HttpLib2Error = httplib2.HttpLib2Error\n self.url = url\n self.request_opts = request_opts\n self.auth_type = 'basic_auth' if basic_auth else (\n 'form_auth' if form_auth else None)\n self.auth = basic_auth if basic_auth else (\n form_auth if form_auth else None)\n\n # Proxify\n try:\n from urlparse import urlparse\n import socks\n\n proxy_uri = urlparse(environ.get('HTTPS_PROXY', environ.get('HTTP_PROXY')))\n if proxy_uri:\n proxy = {'proxy_info': httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP,\n proxy_uri.hostname, proxy_uri.port)}\n http_opts.update(proxy)\n self.request_opts.update(proxy)\n except ImportError:\n pass\n\n self.http = httplib2.Http(**http_opts)\n\n if self.auth_type == 'basic_auth':\n self.http.add_credentials(\n self.auth['username'], self.auth['password'])\n elif self.auth_type == 'form_auth':\n if 'url' not in self.auth:\n raise PlantUMLError(\n \"The form_auth option 'url' must be provided and point to \"\n \"the login url.\")\n if 'body' not in self.auth:\n raise PlantUMLError(\n \"The form_auth option 'body' must be provided and include \"\n \"a dictionary with the form elements required to log in. \"\n \"Example: form_auth={'url': 'http://example.com/login/', \"\n \"'body': { 'username': 'me', 'password': 'secret'}\")\n login_url = self.auth['url']\n body = self.auth['body']\n method = self.auth.get('method', 'POST')\n headers = self.auth.get(\n 'headers', {'Content-type': 'application/x-www-form-urlencoded'})\n try:\n response, content = self.http.request(\n login_url, method, headers=headers,\n body=urlencode(body))\n except self.HttpLib2Error, e:\n raise PlantUMLConnectionError(e)\n if response.status != 200:\n raise PlantUMLHTTPError(response, content)\n self.request_opts['Cookie'] = response['set-cookie']\n\n def get_url(self, plantuml_text):\n \"\"\"Return the server URL for the image.\n You can use this URL in an IMG HTML tag.\n \n :param str plantuml_text: The plantuml markup to render\n :returns: the plantuml server image URL\n \"\"\"\n return self.url + deflate_and_encode(plantuml_text)\n\nimport workflow\n\naction_in = workflow.get_input()\n\npl = PlantUML('http://www.plantuml.com/plantuml/img/')\n#TODO: Generate the output...\naction_out = pl.get_url(action_in)\n\nworkflow.set_output(action_out)\n"}, "pauseWithoutShowingParameters": false, "colorLabel": 5, "class": "WorkflowActionRunScript", "pauseBeforeRunning": false}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"URL": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "waitUntilLoaded": false, "revealBrowserAutomatically": true, "openIn": 0, "tabOption": 0}, "class": "WorkflowActionOpenURL"}], "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad5,4", "systemVersion": "12.1.1"}, "type": "wkflw", "public": true, "icon": "minicons-icons-programs-app-download.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%40stratosphere631%22%2C%20%22name%22%3A%20%22Plant%20UML%22%2C%20%22description%22%3A%20%22Generate%20UML%20diagram%20using%20plantuml.com.%5CnThis%20workflow%20uploads%20text%20file%20and%20get%20image%20url%20from%20plantuml.com.%22%2C%20%22actions%22%3A%20%5B%7B%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20editor%5Cnimport%20workflow%5Cnimport%20json%5Cn%5Cnsel%3Deditor.get_selection%28%29%5Cnif%20sel%20is%20None%3A%5Cn%5Ctworkflow.set_variable%28%27sel%27%2C%20json.dumps%28%280%2C%200%29%29%29%5Cnelse%3A%5Cn%5Ctworkflow.set_variable%28%27sel%27%2C%20json.dumps%28sel%29%29%5Cn%5Ct%5Cn%22%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%203%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20workflow%5Cnimport%20re%5Cnimport%20json%5Cn%5Cnregstartuml%20%3D%20r%27%40start%28%5C%5Cw%2B%29%5C%5Cs%2A%28.%2B%3F%29%5C%5Cs%2A%24%27%5Cnregenduml%20%3D%20r%27%40end%28%5C%5Cw%2B%29%5C%5Cs%2A%24%27%5Cn%5Cndef%20get_line_start%28lines%2C%20_at%29%3A%5Cn%5Ctfor%20c%20in%20range%28_at%2C%200%2C%20-1%29%3A%5Cn%5Ct%5Ctif%20lines%5Bc%3Ac%20%2B%201%5D%20%3D%3D%20%27%5C%5Cn%27%3A%5Cn%5Ct%5Ct%5Ctreturn%20c%20%2B%201%5Cn%5Ctreturn%200%5Cn%5Cndef%20search_start%28lines%29%3A%5Cn%5Ctp%20%3D%20re.compile%28regstartuml%2C%20flags%3Dre.MULTILINE%29%5Cn%5Ctm%20%3D%20p.search%28lines%29%5Cn%5Ctif%20m%20is%20None%3A%5Cn%5Ct%5Ctreturn%20None%20%5Cn%5Ctreturn%20m.span%28%29%5B0%5D%2C%20m.group%282%29%5Cn%5Cndef%20search_start_at%28lines%2C%20_at%29%3A%5Cn%20%20%20%20assert%28_at%20%3E%3D%200%29%5Cn%20%20%20%20p%20%3D%20re.compile%28regstartuml%2C%20flags%3Dre.MULTILINE%29%5Cn%20%20%20%20_from%20%3D%20get_line_start%28lines%2C%20_at%29%5Cn%20%20%20%20while%20_from%20%3E%200%3A%5Cn%20%20%20%20%20%20%20%20m%20%3D%20p.match%28lines%2C%20_from%29%5Cn%20%20%20%20%20%20%20%20if%20m%20is%20not%20None%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20%28m.span%28%29%5B0%5D%2C%20m.group%282%29%29%5Cn%20%20%20%20%20%20%20%20_from%20%3D%20get_line_start%28lines%2C%20_from%20-%202%29%5Cn%20%20%20%20return%20None%5Cn%5Cndef%20search_end%28lines%2C%20_from%29%3A%5Cn%5Ctp%20%3D%20re.compile%28regenduml%2C%20flags%3Dre.MULTILINE%29%5Cn%5Ctm%20%3D%20p.search%28lines%2C%20_from%29%5Cn%5Ctreturn%20m.span%28%29%5B1%5D%20if%20m%20else%200%5Cn%5Cndef%20get_block%28lines%29%3A%5Cn%5Ct_from%2C%20title%20%3D%20search_start%28lines%29%5Cn%5Ct_to%20%3D%20search_end%28lines%2C%20_from%29%5Cn%5Ctreturn%20%28title%2C%20lines%5B_from%3A_to%5D%29%5Cn%5Cndef%20get_block_at%28lines%2C%20_at%29%3A%5Cn%5Ct_from%20%3D%20search_start_at%28lines%2C%20_at%29%5Cn%5Ctif%20_from%20is%20None%3A%5Cn%5Ct%5Ctreturn%20None%5Cn%5Ct_to%20%3D%20search_end%28lines%2C%20_from%5B0%5D%29%5Cn%5Ctif%20_to%3D%3D0%3A%5Cn%5Ct%5Ctreturn%20None%5Cn%5Ctreturn%20%28_from%5B1%5D%2C%20lines%5B_from%5B0%5D%3A_to%5D%29%5Cn%5Cnsel%3Djson.loads%28workflow.get_variable%28%27sel%27%29%29%5Cnif%20sel%5B0%5D%3D%3D0%3A%5Cn%5Ct_block%3Dget_block%28workflow.get_input%28%29%29%5Cnelse%3A%5Cn%5Ct_block%3Dget_block_at%28workflow.get_input%28%29%2C%20sel%5B0%5D%29%5Cnif%20_block%20is%20None%3A%5Cn%5Ctworkflow.stop%28%29%5Cnworkflow.set_output%28_block%5B1%5D%29%5Cnworkflow.set_variable%28%27title%27%2C_block%5B0%5D%29%5Cn%22%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%204%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cn%23%21%2Fusr%2Fbin%2Fenv%20python%5Cn%5Cnfrom%20zlib%20import%20compress%5Cn%5Cnimport%20httplib2%5Cn%5Cn__version__%20%3D%200%2C%202%2C%201%5Cn__version_string__%20%3D%20%27.%27.join%28str%28x%29%20for%20x%20in%20__version__%29%5Cn%5Cn__author__%20%3D%20%27Doug%20Napoleone%2C%20Samuel%20Marks%27%5Cn__email__%20%3D%20%27doug.napoleone%2Bplantuml%40gmail.com%27%5Cn%5Cn%5Cndef%20deflate_and_encode%28plantuml_text%29%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22zlib%20compress%20the%20plantuml%20text%20and%20encode%20it%20for%20the%20plantuml%20server.%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20zlibbed_str%20%3D%20compress%28plantuml_text%29%5Cn%20%20%20%20compressed_string%20%3D%20zlibbed_str%5B2%3A-4%5D%5Cn%20%20%20%20return%20encode%28compressed_string%29%5Cn%5Cn%5Cndef%20encode%28data%29%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22encode%20the%20plantuml%20data%20which%20may%20be%20compresses%20in%20the%20proper%5Cn%20%20%20%20encoding%20for%20the%20plantuml%20server%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20res%20%3D%20%5C%22%5C%22%5Cn%20%20%20%20for%20i%20in%20xrange%280%2C%20len%28data%29%2C%203%29%3A%5Cn%20%20%20%20%20%20%20%20if%20i%20%2B%202%20%3D%3D%20len%28data%29%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20res%20%2B%3D%20_encode3bytes%28ord%28data%5Bi%5D%29%2C%20ord%28data%5Bi%20%2B%201%5D%29%2C%200%29%5Cn%20%20%20%20%20%20%20%20elif%20i%20%2B%201%20%3D%3D%20len%28data%29%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20res%20%2B%3D%20_encode3bytes%28ord%28data%5Bi%5D%29%2C%200%2C%200%29%5Cn%20%20%20%20%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20res%20%2B%3D%20_encode3bytes%28ord%28data%5Bi%5D%29%2C%20ord%28data%5Bi%20%2B%201%5D%29%2C%20ord%28data%5Bi%20%2B%202%5D%29%29%5Cn%20%20%20%20return%20res%5Cn%5Cn%5Cndef%20_encode3bytes%28b1%2C%20b2%2C%20b3%29%3A%5Cn%20%20%20%20c1%20%3D%20b1%20%3E%3E%202%5Cn%20%20%20%20c2%20%3D%20%28%28b1%20%26%200x3%29%20%3C%3C%204%29%20%7C%20%28b2%20%3E%3E%204%29%5Cn%20%20%20%20c3%20%3D%20%28%28b2%20%26%200xF%29%20%3C%3C%202%29%20%7C%20%28b3%20%3E%3E%206%29%5Cn%20%20%20%20c4%20%3D%20b3%20%26%200x3F%5Cn%20%20%20%20res%20%3D%20%5C%22%5C%22%5Cn%20%20%20%20res%20%2B%3D%20_encode6bit%28c1%20%26%200x3F%29%5Cn%20%20%20%20res%20%2B%3D%20_encode6bit%28c2%20%26%200x3F%29%5Cn%20%20%20%20res%20%2B%3D%20_encode6bit%28c3%20%26%200x3F%29%5Cn%20%20%20%20res%20%2B%3D%20_encode6bit%28c4%20%26%200x3F%29%5Cn%20%20%20%20return%20res%5Cn%5Cn%5Cndef%20_encode6bit%28b%29%3A%5Cn%20%20%20%20if%20b%20%3C%2010%3A%5Cn%20%20%20%20%20%20%20%20return%20chr%2848%20%2B%20b%29%5Cn%20%20%20%20b%20-%3D%2010%5Cn%20%20%20%20if%20b%20%3C%2026%3A%5Cn%20%20%20%20%20%20%20%20return%20chr%2865%20%2B%20b%29%5Cn%20%20%20%20b%20-%3D%2026%5Cn%20%20%20%20if%20b%20%3C%2026%3A%5Cn%20%20%20%20%20%20%20%20return%20chr%2897%20%2B%20b%29%5Cn%20%20%20%20b%20-%3D%2026%5Cn%20%20%20%20if%20b%20%3D%3D%200%3A%5Cn%20%20%20%20%20%20%20%20return%20%27-%27%5Cn%20%20%20%20if%20b%20%3D%3D%201%3A%5Cn%20%20%20%20%20%20%20%20return%20%27_%27%5Cn%20%20%20%20return%20%27%3F%27%5Cn%5Cn%5Cnclass%20PlantUML%28object%29%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22Connection%20to%20a%20PlantUML%20server%20with%20optional%20authentication.%5Cn%20%20%20%20%5Cn%20%20%20%20All%20parameters%20are%20optional.%5Cn%20%20%20%20%5Cn%20%20%20%20%3Aparam%20str%20url%3A%20URL%20to%20the%20PlantUML%20server%20image%20CGI.%20defaults%20to%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http%3A%2F%2Fwww.plantuml.com%2Fplantuml%2Fimg%2F%5Cn%20%20%20%20%3Aparam%20dict%20basic_auth%3A%20This%20is%20if%20the%20plantuml%20server%20requires%20basic%20HTTP%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20authentication.%20Dictionary%20containing%20two%20keys%2C%20%27username%27%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20and%20%27password%27%2C%20set%20to%20appropriate%20values%20for%20basic%20HTTP%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20authentication.%5Cn%20%20%20%20%3Aparam%20dict%20form_auth%3A%20This%20is%20for%20plantuml%20server%20requires%20a%20cookie%20based%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20webform%20login%20authentication.%20Dictionary%20containing%20two%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20primary%20keys%2C%20%27url%27%20and%20%27body%27.%20The%20%27url%27%20should%20point%20to%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20the%20login%20URL%20for%20the%20server%2C%20and%20the%20%27body%27%20should%20be%20a%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dictionary%20set%20to%20the%20form%20elements%20required%20for%20login.%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20The%20key%20%27method%27%20will%20default%20to%20%27POST%27.%20The%20key%20%27headers%27%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaults%20to%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%27Content-type%27%3A%27application%2Fx-www-form-urlencoded%27%7D.%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Example%3A%20form_auth%3D%7B%27url%27%3A%20%27http%3A%2F%2Fexample.com%2Flogin%2F%27%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27body%27%3A%20%7B%20%27username%27%3A%20%27me%27%2C%20%27password%27%3A%20%27secret%27%7D%5Cn%20%20%20%20%3Aparam%20dict%20http_opts%3A%20Extra%20options%20to%20be%20passed%20off%20to%20the%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20httplib2.Http%28%29%20constructor.%5Cn%20%20%20%20%3Aparam%20dict%20request_opts%3A%20Extra%20options%20to%20be%20passed%20off%20to%20the%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20httplib2.Http%28%29.request%28%29%20call.%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%5Cn%20%20%20%20def%20__init__%28self%2C%20url%2C%20basic_auth%3D%7B%7D%2C%20form_auth%3D%7B%7D%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http_opts%3D%7B%7D%2C%20request_opts%3D%7B%7D%29%3A%5Cn%20%20%20%20%20%20%20%20self.HttpLib2Error%20%3D%20httplib2.HttpLib2Error%5Cn%20%20%20%20%20%20%20%20self.url%20%3D%20url%5Cn%20%20%20%20%20%20%20%20self.request_opts%20%3D%20request_opts%5Cn%20%20%20%20%20%20%20%20self.auth_type%20%3D%20%27basic_auth%27%20if%20basic_auth%20else%20%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%27form_auth%27%20if%20form_auth%20else%20None%29%5Cn%20%20%20%20%20%20%20%20self.auth%20%3D%20basic_auth%20if%20basic_auth%20else%20%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20form_auth%20if%20form_auth%20else%20None%29%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20Proxify%5Cn%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20from%20urlparse%20import%20urlparse%5Cn%20%20%20%20%20%20%20%20%20%20%20%20import%20socks%5Cn%5Cn%20%20%20%20%20%20%20%20%20%20%20%20proxy_uri%20%3D%20urlparse%28environ.get%28%27HTTPS_PROXY%27%2C%20environ.get%28%27HTTP_PROXY%27%29%29%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20proxy_uri%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20proxy%20%3D%20%7B%27proxy_info%27%3A%20httplib2.ProxyInfo%28socks.PROXY_TYPE_HTTP%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20proxy_uri.hostname%2C%20proxy_uri.port%29%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http_opts.update%28proxy%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.request_opts.update%28proxy%29%5Cn%20%20%20%20%20%20%20%20except%20ImportError%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20pass%5Cn%5Cn%20%20%20%20%20%20%20%20self.http%20%3D%20httplib2.Http%28%2A%2Ahttp_opts%29%5Cn%5Cn%20%20%20%20%20%20%20%20if%20self.auth_type%20%3D%3D%20%27basic_auth%27%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20self.http.add_credentials%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.auth%5B%27username%27%5D%2C%20self.auth%5B%27password%27%5D%29%5Cn%20%20%20%20%20%20%20%20elif%20self.auth_type%20%3D%3D%20%27form_auth%27%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20%27url%27%20not%20in%20self.auth%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20raise%20PlantUMLError%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22The%20form_auth%20option%20%27url%27%20must%20be%20provided%20and%20point%20to%20%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22the%20login%20url.%5C%22%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20%27body%27%20not%20in%20self.auth%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20raise%20PlantUMLError%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22The%20form_auth%20option%20%27body%27%20must%20be%20provided%20and%20include%20%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22a%20dictionary%20with%20the%20form%20elements%20required%20to%20log%20in.%20%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22Example%3A%20form_auth%3D%7B%27url%27%3A%20%27http%3A%2F%2Fexample.com%2Flogin%2F%27%2C%20%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%27body%27%3A%20%7B%20%27username%27%3A%20%27me%27%2C%20%27password%27%3A%20%27secret%27%7D%5C%22%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20login_url%20%3D%20self.auth%5B%27url%27%5D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20body%20%3D%20self.auth%5B%27body%27%5D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20method%20%3D%20self.auth.get%28%27method%27%2C%20%27POST%27%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20headers%20%3D%20self.auth.get%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27headers%27%2C%20%7B%27Content-type%27%3A%20%27application%2Fx-www-form-urlencoded%27%7D%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20response%2C%20content%20%3D%20self.http.request%28%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20login_url%2C%20method%2C%20headers%3Dheaders%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20body%3Durlencode%28body%29%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20except%20self.HttpLib2Error%2C%20e%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20raise%20PlantUMLConnectionError%28e%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20response.status%20%21%3D%20200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20raise%20PlantUMLHTTPError%28response%2C%20content%29%5Cn%20%20%20%20%20%20%20%20%20%20%20%20self.request_opts%5B%27Cookie%27%5D%20%3D%20response%5B%27set-cookie%27%5D%5Cn%5Cn%20%20%20%20def%20get_url%28self%2C%20plantuml_text%29%3A%5Cn%20%20%20%20%20%20%20%20%5C%22%5C%22%5C%22Return%20the%20server%20URL%20for%20the%20image.%5Cn%20%20%20%20%20%20%20%20You%20can%20use%20this%20URL%20in%20an%20IMG%20HTML%20tag.%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%3Aparam%20str%20plantuml_text%3A%20The%20plantuml%20markup%20to%20render%5Cn%20%20%20%20%20%20%20%20%3Areturns%3A%20the%20plantuml%20server%20image%20URL%5Cn%20%20%20%20%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%20%20%20%20return%20self.url%20%2B%20deflate_and_encode%28plantuml_text%29%5Cn%5Cnimport%20workflow%5Cn%5Cnaction_in%20%3D%20workflow.get_input%28%29%5Cn%5Cnpl%20%3D%20PlantUML%28%27http%3A%2F%2Fwww.plantuml.com%2Fplantuml%2Fimg%2F%27%29%5Cn%23TODO%3A%20Generate%20the%20output...%5Cnaction_out%20%3D%20pl.get_url%28action_in%29%5Cn%5Cnworkflow.set_output%28action_out%29%5Cn%22%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22colorLabel%22%3A%205%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22URL%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22waitUntilLoaded%22%3A%20false%2C%20%22revealBrowserAutomatically%22%3A%20true%2C%20%22openIn%22%3A%200%2C%20%22tabOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenURL%22%7D%5D%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad5%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22minicons-icons-programs-app-download.png%22%7D", "description": "Generate UML diagram using plantuml.com.\nThis workflow uploads text file and get image url from plantuml.com.", "title": "Plant UML"}, {"url": "http://editorial-app.appspot.com/workflow/5810959385886720/0c514NJYyWE", "workflow_data": {"username": "", "description": "Saves an image from the camera roll as a jpeg file in the relatively 'resources' directory, and inserts a markdown image reference,using current time.\n\nyou can change the label 'yypE' into anything you want.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "A document has to be open...", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:filename"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": true, "HUDTitle": "No Document Selected"}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"script": "#coding: utf-8\nimport photos\nimport workflow\nimport console\nimport editor\nimport os\nimport io\nimport datetime\nimport time\n\n\n\nimg = photos.pick_image()\nif not img:\n\tworkflow.stop()\n\ndefault_name = 'resources/yypEImage'+str(int(time.time()))+'.jpg'\n\nimg_data = io.BytesIO()\nimg.save(img_data, 'jpeg')\n\neditor.set_file_contents(default_name,img_data.getvalue(), '')\nworkflow.set_output(default_name)\n"}, "class": "WorkflowActionRunScript"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "![Image](?)\n", "tokenRanges": {"{9, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}], "name": "Insert Image...", "version": "133001", "device": {"userInterfaceIdiom": 1, "model": "iPad7,3", "systemVersion": "12.1"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_PLUS.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%22%2C%20%22description%22%3A%20%22Saves%20an%20image%20from%20the%20camera%20roll%20as%20a%20jpeg%20file%20in%20the%20relatively%20%27resources%27%20directory%2C%20and%20inserts%20a%20markdown%20image%20reference%2Cusing%20current%20time.%5Cn%5Cnyou%20can%20change%20the%20label%20%27yypE%27%20into%20anything%20you%20want.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22A%20document%20has%20to%20be%20open...%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Afilename%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20true%2C%20%22HUDTitle%22%3A%20%22No%20Document%20Selected%22%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22script%22%3A%20%22%23coding%3A%20utf-8%5Cnimport%20photos%5Cnimport%20workflow%5Cnimport%20console%5Cnimport%20editor%5Cnimport%20os%5Cnimport%20io%5Cnimport%20datetime%5Cnimport%20time%5Cn%5Cn%5Cn%5Cnimg%20%3D%20photos.pick_image%28%29%5Cnif%20not%20img%3A%5Cn%5Ctworkflow.stop%28%29%5Cn%5Cndefault_name%20%3D%20%27resources%2FyypEImage%27%2Bstr%28int%28time.time%28%29%29%29%2B%27.jpg%27%5Cn%5Cnimg_data%20%3D%20io.BytesIO%28%29%5Cnimg.save%28img_data%2C%20%27jpeg%27%29%5Cn%5Cneditor.set_file_contents%28default_name%2Cimg_data.getvalue%28%29%2C%20%27%27%29%5Cnworkflow.set_output%28default_name%29%5Cn%22%7D%2C%20%22class%22%3A%20%22WorkflowActionRunScript%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%21%5BImage%5D%28%3F%29%5Cn%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B9%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%5D%2C%20%22name%22%3A%20%22Insert%20Image...%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%201%2C%20%22model%22%3A%20%22iPad7%2C3%22%2C%20%22systemVersion%22%3A%20%2212.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_PLUS.png%22%7D", "description": "Saves an image from the camera roll as a jpeg file in the relatively 'resources' directory, and inserts a markdown image reference,using current time.\n\nyou can change the label 'yypE' into anything you want.", "title": "Insert Image..."}, {"url": "http://editorial-app.appspot.com/workflow/5809178450853888/XvM-UdM2ckU", "workflow_data": {"username": "Sac", "name": "Working Copy", "description": "Workflow for transferring files from Working Copy to Editorial and back again.\n\nWhen called with input, it will pick the filename from the first line and write the other lines into this file, which lets Working Copy create a new file with predefined content. The filename contains a unique identifier for remembering where it belongs. To avoid overwriting files in Editorial by mistake, the previous contents of files are put in WorkingCopy.bak\n\nWhen this workflow is called without any input the contents of the current file is written back to Working Copy.\n\nChange askcommit variable to 0 if you just want to save and not be asked to commit.\n\nTo install a new version of this workflow delete or rename this one and perform Edit in Editorial from Working Copy.", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "all", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "all"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "key", "value": {"text": "UBVR35BMSA", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "askcommit", "value": {"text": "1", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "path", "value": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:filename"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "%editor:file-extension"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "path", "value": {"text": "?.?", "tokenRanges": {"{0, 1}": "%editor:filename", "{2, 1}": "%editor:file-extension"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"revealBrowserAutomatically": true, "URL:__URL_ESCAPE__": 1, "URL": {"text": "working-copy://x-callback-url/write/?key=?&askcommit=?&path=?&text=?", "tokenRanges": {"{53, 1}": "askcommit", "{67, 1}": "Input", "{60, 1}": "path", "{41, 1}": "key"}, "type": "advancedText"}, "openIn": 1, "tabOption": 0, "waitUntilLoaded": false}, "class": "WorkflowActionOpenURL"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": false, "HUDTitle": ""}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"regex": {"text": "(.*)\\n", "tokenRanges": {}, "type": "advancedText"}, "matchGroup": "1", "searchTypeOption": 0}, "class": "WorkflowActionMatchRegularExpression"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "filename", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"text": {"text": "?", "tokenRanges": {"{0, 1}": "all"}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"findOption": 1, "find": {"text": "?\n", "tokenRanges": {"{0, 1}": "filename"}, "type": "advancedText"}, "replace": {"text": "", "tokenRanges": {}, "type": "advancedText"}}, "class": "WorkflowActionFindReplace"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "text", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": false, "ifNotExists": 0, "filename": "%var:filename"}, "class": "WorkflowActionGetFileContents"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 1}, "class": "WorkflowActionCondition"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": false, "text": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}, "ifNotExists": 0, "filename": "WorkingCopy.bak"}, "class": "WorkflowActionSetFileContents"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"duration": 2, "HUDText": {"text": "Previous content of ? put in WorkingCopy.bak", "tokenRanges": {"{20, 1}": "filename"}, "type": "advancedText"}, "icon": 0}, "class": "WorkflowActionShowHUD"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": false, "text": {"text": "?", "tokenRanges": {"{0, 1}": "text"}, "type": "advancedText"}, "ifNotExists": 0, "filename": "%var:filename"}, "class": "WorkflowActionSetFileContents"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"inDropbox": false, "filename": "%var:filename"}, "class": "WorkflowActionOpenDocument"}], "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone10,3", "systemVersion": "12.1"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_ELECTRICITY.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22Sac%22%2C%20%22name%22%3A%20%22Working%20Copy%22%2C%20%22description%22%3A%20%22Workflow%20for%20transferring%20files%20from%20Working%20Copy%20to%20Editorial%20and%20back%20again.%5Cn%5CnWhen%20called%20with%20input%2C%20it%20will%20pick%20the%20filename%20from%20the%20first%20line%20and%20write%20the%20other%20lines%20into%20this%20file%2C%20which%20lets%20Working%20Copy%20create%20a%20new%20file%20with%20predefined%20content.%20The%20filename%20contains%20a%20unique%20identifier%20for%20remembering%20where%20it%20belongs.%20To%20avoid%20overwriting%20files%20in%20Editorial%20by%20mistake%2C%20the%20previous%20contents%20of%20files%20are%20put%20in%20WorkingCopy.bak%5Cn%5CnWhen%20this%20workflow%20is%20called%20without%20any%20input%20the%20contents%20of%20the%20current%20file%20is%20written%20back%20to%20Working%20Copy.%5Cn%5CnChange%20askcommit%20variable%20to%200%20if%20you%20just%20want%20to%20save%20and%20not%20be%20asked%20to%20commit.%5Cn%5CnTo%20install%20a%20new%20version%20of%20this%20workflow%20delete%20or%20rename%20this%20one%20and%20perform%20Edit%20in%20Editorial%20from%20Working%20Copy.%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22all%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22all%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22key%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22UBVR35BMSA%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22askcommit%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%221%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22path%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Afilename%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Afile-extension%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22path%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F.%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22%25editor%3Afilename%22%2C%20%22%7B2%2C%201%7D%22%3A%20%22%25editor%3Afile-extension%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22revealBrowserAutomatically%22%3A%20true%2C%20%22URL%3A__URL_ESCAPE__%22%3A%201%2C%20%22URL%22%3A%20%7B%22text%22%3A%20%22working-copy%3A%2F%2Fx-callback-url%2Fwrite%2F%3Fkey%3D%3F%26askcommit%3D%3F%26path%3D%3F%26text%3D%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B53%2C%201%7D%22%3A%20%22askcommit%22%2C%20%22%7B67%2C%201%7D%22%3A%20%22Input%22%2C%20%22%7B60%2C%201%7D%22%3A%20%22path%22%2C%20%22%7B41%2C%201%7D%22%3A%20%22key%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22openIn%22%3A%201%2C%20%22tabOption%22%3A%200%2C%20%22waitUntilLoaded%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenURL%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20false%2C%20%22HUDTitle%22%3A%20%22%22%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22regex%22%3A%20%7B%22text%22%3A%20%22%28.%2A%29%5C%5Cn%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22matchGroup%22%3A%20%221%22%2C%20%22searchTypeOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionMatchRegularExpression%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22filename%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22all%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22findOption%22%3A%201%2C%20%22find%22%3A%20%7B%22text%22%3A%20%22%3F%5Cn%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22filename%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22replace%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFindReplace%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22text%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20false%2C%20%22ifNotExists%22%3A%200%2C%20%22filename%22%3A%20%22%25var%3Afilename%22%7D%2C%20%22class%22%3A%20%22WorkflowActionGetFileContents%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%201%7D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20false%2C%20%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22ifNotExists%22%3A%200%2C%20%22filename%22%3A%20%22WorkingCopy.bak%22%7D%2C%20%22class%22%3A%20%22WorkflowActionSetFileContents%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22duration%22%3A%202%2C%20%22HUDText%22%3A%20%7B%22text%22%3A%20%22Previous%20content%20of%20%3F%20put%20in%20WorkingCopy.bak%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B20%2C%201%7D%22%3A%20%22filename%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22icon%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionShowHUD%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20false%2C%20%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22text%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22ifNotExists%22%3A%200%2C%20%22filename%22%3A%20%22%25var%3Afilename%22%7D%2C%20%22class%22%3A%20%22WorkflowActionSetFileContents%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22inDropbox%22%3A%20false%2C%20%22filename%22%3A%20%22%25var%3Afilename%22%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenDocument%22%7D%5D%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone10%2C3%22%2C%20%22systemVersion%22%3A%20%2212.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_ELECTRICITY.png%22%7D", "description": "Workflow for transferring files from Working Copy to Editorial and back again.\n\nWhen called with input, it will pick the filename from the first line and write the other lines into this file, which lets Working Copy create a new file with predefined content. The filename contains a unique identifier for remembering where it belongs. To avoid overwriting files in Editorial by mistake, the previous contents of files are put in WorkingCopy.bak\n\nWhen this workflow is called without any input the contents of the current file is written back to Working Copy.\n\nChange askcommit variable to 0 if you just want to save and not be asked to commit.\n\nTo install a new version of this workflow delete or rename this one and perform Edit in Editorial from Working Copy.", "title": "Working Copy"}, {"url": "http://editorial-app.appspot.com/workflow/5779156361019392/BgLeoUtFeRY", "workflow_data": {"username": "", "description": "Pastes the contents of the clipboard as a Markdown block quote, code block, or regular paragraph.", "actions": [{"customTitle": "Stop if empty", "parameters": {"expression1": {"text": "?", "tokenRanges": {"{0, 1}": "Clipboard"}, "type": "advancedText"}, "expression2": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "comparisonType": 0}, "pauseWithoutShowingParameters": false, "subActions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"showHUD": true, "HUDTitle": "Clipboard Empty"}, "class": "WorkflowActionStopWorkflow"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {}, "class": "WorkflowActionConditionEnd"}], "class": "WorkflowActionCondition", "pauseBeforeRunning": false}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Get Clipboard", "parameters": {"text": {"text": "?", "tokenRanges": {"{0, 1}": "Clipboard"}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Count Words", "parameters": {"countOption": 0}, "class": "WorkflowActionCountWords"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"button1Value": {"text": "> ", "tokenRanges": {}, "type": "advancedText"}, "button3Value": {"text": "", "tokenRanges": {}, "type": "advancedText"}, "button2Value": {"text": " ", "tokenRanges": {}, "type": "advancedText"}, "title": "Paste as...", "button3Title": "Paragraph", "button2Title": "Code Block", "button1Title": "Block Quote", "message": {"text": "(? words)", "tokenRanges": {"{1, 1}": "Input"}, "type": "advancedText"}, "showCancelButton": true}, "class": "WorkflowActionShowAlert"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"name": "Prefix", "value": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionStoreVariable"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "Get Clipboard", "parameters": {"text": {"text": "?", "tokenRanges": {"{0, 1}": "Clipboard"}, "type": "advancedText"}}, "class": "WorkflowActionFormatString"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"text": {"text": "?", "tokenRanges": {"{0, 1}": "Prefix"}, "type": "advancedText"}, "prefixOrSuffix": 0}, "class": "WorkflowActionPrefixSuffixLines"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"replacement": {"text": "?", "tokenRanges": {"{0, 1}": "Input"}, "type": "advancedText"}}, "class": "WorkflowActionReplaceSelectedText"}], "name": "Paste as...", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone9,4", "systemVersion": "12.1"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_EXPORT.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22%22%2C%20%22description%22%3A%20%22Pastes%20the%20contents%20of%20the%20clipboard%20as%20a%20Markdown%20block%20quote%2C%20code%20block%2C%20or%20regular%20paragraph.%22%2C%20%22actions%22%3A%20%5B%7B%22customTitle%22%3A%20%22Stop%20if%20empty%22%2C%20%22parameters%22%3A%20%7B%22expression1%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Clipboard%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22expression2%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22comparisonType%22%3A%200%7D%2C%20%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22subActions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22showHUD%22%3A%20true%2C%20%22HUDTitle%22%3A%20%22Clipboard%20Empty%22%7D%2C%20%22class%22%3A%20%22WorkflowActionStopWorkflow%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%7D%2C%20%22class%22%3A%20%22WorkflowActionConditionEnd%22%7D%5D%2C%20%22class%22%3A%20%22WorkflowActionCondition%22%2C%20%22pauseBeforeRunning%22%3A%20false%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Get%20Clipboard%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Clipboard%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Count%20Words%22%2C%20%22parameters%22%3A%20%7B%22countOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionCountWords%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22button1Value%22%3A%20%7B%22text%22%3A%20%22%3E%20%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button3Value%22%3A%20%7B%22text%22%3A%20%22%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22button2Value%22%3A%20%7B%22text%22%3A%20%22%20%20%20%20%22%2C%20%22tokenRanges%22%3A%20%7B%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22title%22%3A%20%22Paste%20as...%22%2C%20%22button3Title%22%3A%20%22Paragraph%22%2C%20%22button2Title%22%3A%20%22Code%20Block%22%2C%20%22button1Title%22%3A%20%22Block%20Quote%22%2C%20%22message%22%3A%20%7B%22text%22%3A%20%22%28%3F%20words%29%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B1%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22showCancelButton%22%3A%20true%7D%2C%20%22class%22%3A%20%22WorkflowActionShowAlert%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22name%22%3A%20%22Prefix%22%2C%20%22value%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionStoreVariable%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22Get%20Clipboard%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Clipboard%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionFormatString%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22text%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Prefix%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22prefixOrSuffix%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionPrefixSuffixLines%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22replacement%22%3A%20%7B%22text%22%3A%20%22%3F%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B0%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%7D%2C%20%22class%22%3A%20%22WorkflowActionReplaceSelectedText%22%7D%5D%2C%20%22name%22%3A%20%22Paste%20as...%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone9%2C4%22%2C%20%22systemVersion%22%3A%20%2212.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_EXPORT.png%22%7D", "description": "Pastes the contents of the clipboard as a Markdown block quote, code block, or regular paragraph.", "title": "Paste as..."}, {"url": "http://editorial-app.appspot.com/workflow/5816692563247104/nnMLnJ2k-ME", "workflow_data": {"username": "derek", "description": "Paired with the connected Drafts Actions, this workflow allows you to send a Draft here for editing, then send edited text back to the original Draft, overwriting it. \n\nEditorial Roundtrip: https://actions.getdrafts.com/a/1Q9\nEditorial Return: https://actions.getdrafts.com/a/1Q0", "actions": [{"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"foldedTextReplacement": "\u2026", "foldedTextOption": 0}, "class": "WorkflowActionGetEditorText"}, {"pauseWithoutShowingParameters": false, "pauseBeforeRunning": false, "customTitle": "", "parameters": {"revealBrowserAutomatically": true, "URL:__URL_ESCAPE__": 1, "URL": {"text": "drafts5://x-callback-url/runAction?text=?&action=Editorial%20Return", "tokenRanges": {"{40, 1}": "Input"}, "type": "advancedText"}, "openIn": 1, "tabOption": 0, "waitUntilLoaded": false}, "class": "WorkflowActionOpenURL"}], "name": "back to drafts", "version": "133001", "device": {"userInterfaceIdiom": 0, "model": "iPhone10,2", "systemVersion": "12.1"}, "type": "wkflw", "public": true, "icon": "TYPICONS-ALL_SPANNER.png"}, "install_url": "editorial://add-workflow?workflow-data=%7B%22username%22%3A%20%22derek%22%2C%20%22description%22%3A%20%22Paired%20with%20the%20connected%20Drafts%20Actions%2C%20this%20workflow%20allows%20you%20to%20send%20a%20Draft%20here%20for%20editing%2C%20then%20send%20edited%20text%20back%20to%20the%20original%20Draft%2C%20overwriting%20it.%20%5Cn%5CnEditorial%20Roundtrip%3A%20https%3A%2F%2Factions.getdrafts.com%2Fa%2F1Q9%5CnEditorial%20Return%3A%20https%3A%2F%2Factions.getdrafts.com%2Fa%2F1Q0%22%2C%20%22actions%22%3A%20%5B%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22foldedTextReplacement%22%3A%20%22%5Cu2026%22%2C%20%22foldedTextOption%22%3A%200%7D%2C%20%22class%22%3A%20%22WorkflowActionGetEditorText%22%7D%2C%20%7B%22pauseWithoutShowingParameters%22%3A%20false%2C%20%22pauseBeforeRunning%22%3A%20false%2C%20%22customTitle%22%3A%20%22%22%2C%20%22parameters%22%3A%20%7B%22revealBrowserAutomatically%22%3A%20true%2C%20%22URL%3A__URL_ESCAPE__%22%3A%201%2C%20%22URL%22%3A%20%7B%22text%22%3A%20%22drafts5%3A%2F%2Fx-callback-url%2FrunAction%3Ftext%3D%3F%26action%3DEditorial%2520Return%22%2C%20%22tokenRanges%22%3A%20%7B%22%7B40%2C%201%7D%22%3A%20%22Input%22%7D%2C%20%22type%22%3A%20%22advancedText%22%7D%2C%20%22openIn%22%3A%201%2C%20%22tabOption%22%3A%200%2C%20%22waitUntilLoaded%22%3A%20false%7D%2C%20%22class%22%3A%20%22WorkflowActionOpenURL%22%7D%5D%2C%20%22name%22%3A%20%22back%20to%20drafts%22%2C%20%22version%22%3A%20%22133001%22%2C%20%22device%22%3A%20%7B%22userInterfaceIdiom%22%3A%200%2C%20%22model%22%3A%20%22iPhone10%2C2%22%2C%20%22systemVersion%22%3A%20%2212.1%22%7D%2C%20%22type%22%3A%20%22wkflw%22%2C%20%22public%22%3A%20true%2C%20%22icon%22%3A%20%22TYPICONS-ALL_SPANNER.png%22%7D", "description": "Paired with the connected Drafts Actions, this workflow allows you to send a Draft here for editing, then send edited text back to the original Draft, overwriting it. \n\nEditorial Roundtrip: https://actions.getdrafts.com/a/1Q9\nEditorial Return: https://actions.getdrafts.com/a/1Q0", "title": "back to drafts"}]}