workflow updates

This commit is contained in:
Chen Asraf
2022-07-11 00:53:26 +03:00
parent d4a2c6830c
commit 7264b6717f
7 changed files with 336 additions and 159 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

36
.gitignore vendored
View File

@@ -50,6 +50,7 @@ coverage.xml
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
@@ -72,6 +73,7 @@ instance/
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
@@ -82,7 +84,9 @@ profile_default/
ipython_config.py
# pyenv
.python-version
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
@@ -91,7 +95,22 @@ ipython_config.py
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
@@ -127,3 +146,16 @@ dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

30
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,30 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Flip to Hebrew",
"type": "python",
"request": "launch",
"program": "heb_flip.py",
"console": "integratedTerminal",
"args": [
"heb",
"akuo' tbh rumv kcsue t, vyexy/"
]
},
{
"name": "Flip to English",
"type": "python",
"request": "launch",
"program": "heb_flip.py",
"console": "integratedTerminal",
"args": [
"eng",
"יקךךםת ן 'שמא אם אקדא איןד אקסא"
]
},
]
}

0
__init__.py Normal file
View File

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env python
import json
# -*- coding: utf-8 -*-
import sys
@@ -10,13 +11,44 @@ args = sys.argv[1:]
lang = args[0]
query = " ".join(args[1:])
res = query.lower()
lang_map = to_heb_map if lang == "heb" else to_eng_map
for k, v in lang_map.items():
res = res.replace(k, v)
heb_icon = "85B31B09-7486-435A-A0A7-2A83BEE74B85.png"
eng_icon = "5EAA025A-A267-432E-9089-0608B2CBE4D3.png"
def run(lang, query):
res = query.lower()
lang_map = to_heb_map if lang == "heb" else to_eng_map
for k, v in lang_map.items():
res = res.replace(k, v)
return res
def make_res_item(lang, res):
return {
"title": f"Copy {res}",
"subtitle": f"Copy {res} to clipboard",
"arg": [res],
"icon": {
# "type": "filetype",
"path": heb_icon if lang == "heb" else eng_icon,
},
"copy": res,
}
out = {"items": []}
if lang != "":
out['items'] = [make_res_item(run(lang, query))]
else:
out['items'] = [
make_res_item("eng", run("eng", query)),
make_res_item("heb", run("heb", query)),
]
# sys.stdout.write("args: " + str(args) + "\n")
# sys.stdout.write("lang: " + str(lang) + "\n")
# sys.stdout.write("query: " + str(query) + "\n")
sys.stdout.write(res)
sys.stdout.write(json.dumps(out))

BIN
icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -47,6 +47,29 @@
<false/>
</dict>
</array>
<key>2F689C29-73B9-47DD-8DAF-066DA770822C</key>
<array>
<dict>
<key>destinationuid</key>
<string>109B59F0-6256-4E7D-A5E8-EA2A14EAD771</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
<dict>
<key>destinationuid</key>
<string>ECC37026-A91B-46A6-8279-EE3309A6A4EE</string>
<key>modifiers</key>
<integer>524288</integer>
<key>modifiersubtext</key>
<string>Paste '{query}' to foremost app</string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>3695395D-88FA-4847-82DF-108EB654FBF1</key>
<array>
<dict>
@@ -60,46 +83,7 @@
<false/>
</dict>
</array>
<key>58DD496E-CAE5-41B7-824B-CF66B4471916</key>
<array>
<dict>
<key>destinationuid</key>
<string>80259FED-3596-44D8-9895-609284FAC0F9</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>5EAA025A-A267-432E-9089-0608B2CBE4D3</key>
<array>
<dict>
<key>destinationuid</key>
<string>DE855189-B739-4E1D-8C2A-C1E474929C75</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>7482EBE2-FF2B-4BA5-ADF5-4EBB4DA91A51</key>
<array>
<dict>
<key>destinationuid</key>
<string>23A8633E-D968-4643-91AE-DFCF1EDECD6D</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>80259FED-3596-44D8-9895-609284FAC0F9</key>
<key>5FADF381-6928-484A-9162-DE351E7822A2</key>
<array>
<dict>
<key>destinationuid</key>
@@ -111,12 +95,22 @@
<key>vitoclose</key>
<false/>
</dict>
<dict>
<key>destinationuid</key>
<string>ECC37026-A91B-46A6-8279-EE3309A6A4EE</string>
<key>modifiers</key>
<integer>524288</integer>
<key>modifiersubtext</key>
<string>Paste '{query}' to foremost app</string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>85B31B09-7486-435A-A0A7-2A83BEE74B85</key>
<key>7482EBE2-FF2B-4BA5-ADF5-4EBB4DA91A51</key>
<array>
<dict>
<key>destinationuid</key>
<string>58DD496E-CAE5-41B7-824B-CF66B4471916</string>
<string>23A8633E-D968-4643-91AE-DFCF1EDECD6D</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
@@ -138,11 +132,34 @@
<false/>
</dict>
</array>
<key>DE855189-B739-4E1D-8C2A-C1E474929C75</key>
<key>865BAB3E-842D-4C3B-90BE-B01556A80D71</key>
<array>
<dict>
<key>destinationuid</key>
<string>80259FED-3596-44D8-9895-609284FAC0F9</string>
<string>109B59F0-6256-4E7D-A5E8-EA2A14EAD771</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
<dict>
<key>destinationuid</key>
<string>ECC37026-A91B-46A6-8279-EE3309A6A4EE</string>
<key>modifiers</key>
<integer>524288</integer>
<key>modifiersubtext</key>
<string>Paste '{query}' to foremost app</string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>ECC37026-A91B-46A6-8279-EE3309A6A4EE</key>
<array>
<dict>
<key>destinationuid</key>
<string>78273A8C-8846-4074-B3A3-7DEB09AA83E4</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
@@ -155,7 +172,7 @@
<key>createdby</key>
<string>Chen Asraf</string>
<key>description</key>
<string>Flip Hebrew and english letters in selected text</string>
<string>Flip Hebrew and english letters when you mess it up</string>
<key>disabled</key>
<false/>
<key>name</key>
@@ -176,7 +193,7 @@
<key>hotkey</key>
<integer>4</integer>
<key>hotmod</key>
<integer>393216</integer>
<integer>917504</integer>
<key>hotstring</key>
<string>H</string>
<key>leftcursor</key>
@@ -266,7 +283,7 @@
<key>hotkey</key>
<integer>14</integer>
<key>hotmod</key>
<integer>393216</integer>
<integer>917504</integer>
<key>hotstring</key>
<string>E</string>
<key>leftcursor</key>
@@ -303,40 +320,51 @@
<dict>
<key>config</key>
<dict>
<key>alfredfiltersresults</key>
<false/>
<key>alfredfiltersresultsmatchmode</key>
<integer>0</integer>
<key>argumenttreatemptyqueryasnil</key>
<true/>
<key>argumenttrimmode</key>
<integer>0</integer>
<key>argumenttype</key>
<integer>0</integer>
<key>escaping</key>
<integer>102</integer>
<key>keyword</key>
<string>heb</string>
<string>flip</string>
<key>queuedelaycustom</key>
<integer>3</integer>
<key>queuedelayimmediatelyinitially</key>
<true/>
<key>queuedelaymode</key>
<integer>0</integer>
<key>queuemode</key>
<integer>1</integer>
<key>runningsubtext</key>
<string>...</string>
<key>script</key>
<string>echo $(./heb_flip.py "" {query})</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>subtext</key>
<string>Flip '{query}' to Hebrew</string>
<key>text</key>
<string>Flip To Hebrew</string>
<string></string>
<key>title</key>
<string></string>
<key>type</key>
<integer>5</integer>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.keyword</string>
<string>alfred.workflow.input.scriptfilter</string>
<key>uid</key>
<string>85B31B09-7486-435A-A0A7-2A83BEE74B85</string>
<string>865BAB3E-842D-4C3B-90BE-B01556A80D71</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>argument</key>
<string>heb {query}</string>
<key>passthroughargument</key>
<false/>
<key>variables</key>
<dict/>
</dict>
<key>type</key>
<string>alfred.workflow.utility.argument</string>
<key>uid</key>
<string>58DD496E-CAE5-41B7-824B-CF66B4471916</string>
<key>version</key>
<integer>1</integer>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
@@ -357,29 +385,6 @@
<key>version</key>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>68</integer>
<key>script</key>
<string>./heb_flip.py {query}</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>type</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>80259FED-3596-44D8-9895-609284FAC0F9</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
@@ -404,40 +409,119 @@
<dict>
<key>config</key>
<dict>
<key>alfredfiltersresults</key>
<false/>
<key>alfredfiltersresultsmatchmode</key>
<integer>0</integer>
<key>argumenttreatemptyqueryasnil</key>
<true/>
<key>argumenttrimmode</key>
<integer>0</integer>
<key>argumenttype</key>
<integer>0</integer>
<key>escaping</key>
<integer>102</integer>
<key>keyword</key>
<string>eng</string>
<string>heb</string>
<key>queuedelaycustom</key>
<integer>3</integer>
<key>queuedelayimmediatelyinitially</key>
<true/>
<key>queuedelaymode</key>
<integer>0</integer>
<key>queuemode</key>
<integer>1</integer>
<key>runningsubtext</key>
<string>...</string>
<key>script</key>
<string>echo $(./heb_flip.py heb {query})</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>subtext</key>
<string>Flip '{query}' to English</string>
<key>text</key>
<string>Flip To English</string>
<string></string>
<key>title</key>
<string></string>
<key>type</key>
<integer>5</integer>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.keyword</string>
<string>alfred.workflow.input.scriptfilter</string>
<key>uid</key>
<string>5EAA025A-A267-432E-9089-0608B2CBE4D3</string>
<string>2F689C29-73B9-47DD-8DAF-066DA770822C</string>
<key>version</key>
<integer>1</integer>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>argument</key>
<string>eng {query}</string>
<key>passthroughargument</key>
<key>autopaste</key>
<true/>
<key>clipboardtext</key>
<string>{query}</string>
<key>ignoredynamicplaceholders</key>
<false/>
<key>transient</key>
<false/>
<key>variables</key>
<dict/>
</dict>
<key>type</key>
<string>alfred.workflow.utility.argument</string>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>DE855189-B739-4E1D-8C2A-C1E474929C75</string>
<string>ECC37026-A91B-46A6-8279-EE3309A6A4EE</string>
<key>version</key>
<integer>1</integer>
<integer>3</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>alfredfiltersresults</key>
<false/>
<key>alfredfiltersresultsmatchmode</key>
<integer>0</integer>
<key>argumenttreatemptyqueryasnil</key>
<true/>
<key>argumenttrimmode</key>
<integer>0</integer>
<key>argumenttype</key>
<integer>0</integer>
<key>escaping</key>
<integer>102</integer>
<key>keyword</key>
<string>eng</string>
<key>queuedelaycustom</key>
<integer>3</integer>
<key>queuedelayimmediatelyinitially</key>
<true/>
<key>queuedelaymode</key>
<integer>0</integer>
<key>queuemode</key>
<integer>1</integer>
<key>runningsubtext</key>
<string>...</string>
<key>script</key>
<string>echo $(./heb_flip.py eng {query})</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>subtext</key>
<string></string>
<key>title</key>
<string></string>
<key>type</key>
<integer>5</integer>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.scriptfilter</string>
<key>uid</key>
<string>5FADF381-6928-484A-9162-DE351E7822A2</string>
<key>version</key>
<integer>3</integer>
</dict>
</array>
<key>readme</key>
@@ -447,95 +531,94 @@
<key>077E1BE2-CA93-4F8B-9564-DC9CCFDACC60</key>
<dict>
<key>xpos</key>
<integer>475</integer>
<real>440</real>
<key>ypos</key>
<integer>55</integer>
<real>130</real>
</dict>
<key>109B59F0-6256-4E7D-A5E8-EA2A14EAD771</key>
<dict>
<key>xpos</key>
<integer>635</integer>
<real>830</real>
<key>ypos</key>
<integer>370</integer>
<real>470</real>
</dict>
<key>23A8633E-D968-4643-91AE-DFCF1EDECD6D</key>
<dict>
<key>xpos</key>
<integer>880</integer>
<real>845</real>
<key>ypos</key>
<integer>105</integer>
<real>180</real>
</dict>
<key>264B96B1-A47C-491E-972F-53804A38DC68</key>
<dict>
<key>xpos</key>
<integer>475</integer>
<real>440</real>
<key>ypos</key>
<integer>175</integer>
<real>250</real>
</dict>
<key>2F689C29-73B9-47DD-8DAF-066DA770822C</key>
<dict>
<key>xpos</key>
<real>255</real>
<key>ypos</key>
<real>480</real>
</dict>
<key>3695395D-88FA-4847-82DF-108EB654FBF1</key>
<dict>
<key>xpos</key>
<integer>635</integer>
<real>600</real>
<key>ypos</key>
<integer>230</integer>
<real>305</real>
</dict>
<key>58DD496E-CAE5-41B7-824B-CF66B4471916</key>
<key>5FADF381-6928-484A-9162-DE351E7822A2</key>
<dict>
<key>xpos</key>
<integer>315</integer>
<real>255</real>
<key>ypos</key>
<integer>325</integer>
</dict>
<key>5EAA025A-A267-432E-9089-0608B2CBE4D3</key>
<dict>
<key>xpos</key>
<integer>145</integer>
<key>ypos</key>
<integer>450</integer>
<real>630</real>
</dict>
<key>7482EBE2-FF2B-4BA5-ADF5-4EBB4DA91A51</key>
<dict>
<key>xpos</key>
<integer>720</integer>
<real>685</real>
<key>ypos</key>
<integer>105</integer>
<real>180</real>
</dict>
<key>78273A8C-8846-4074-B3A3-7DEB09AA83E4</key>
<dict>
<key>xpos</key>
<integer>800</integer>
<real>995</real>
<key>ypos</key>
<integer>370</integer>
</dict>
<key>80259FED-3596-44D8-9895-609284FAC0F9</key>
<dict>
<key>xpos</key>
<integer>450</integer>
<key>ypos</key>
<integer>370</integer>
</dict>
<key>85B31B09-7486-435A-A0A7-2A83BEE74B85</key>
<dict>
<key>xpos</key>
<integer>145</integer>
<key>ypos</key>
<integer>290</integer>
<real>470</real>
</dict>
<key>85B7F9A2-9EE2-4B60-99D7-131F8937EC99</key>
<dict>
<key>xpos</key>
<integer>630</integer>
<real>595</real>
<key>ypos</key>
<integer>70</integer>
<real>145</real>
</dict>
<key>DE855189-B739-4E1D-8C2A-C1E474929C75</key>
<key>865BAB3E-842D-4C3B-90BE-B01556A80D71</key>
<dict>
<key>xpos</key>
<integer>320</integer>
<real>255</real>
<key>ypos</key>
<integer>485</integer>
<real>330</real>
</dict>
<key>ECC37026-A91B-46A6-8279-EE3309A6A4EE</key>
<dict>
<key>xpos</key>
<real>815</real>
<key>ypos</key>
<real>620</real>
</dict>
</dict>
<key>userconfigurationconfig</key>
<array/>
<key>variablesdontexport</key>
<array/>
<key>version</key>
<string>1.0.0</string>
<key>webaddress</key>
<string>https://casraf.blog</string>
</dict>