Article Outline
Bitly with Keyboard maestro
前言
方法
安裝環境所需要的package
# 先檢查一下python版本
which python
pip install bitlyshortener
pip install pyperclip
# 在你想要的路徑創建以下檔案
vim bitly.py
python 程式碼
#!/usr/bin/env python
import bitlyshortener
import pyperclip
import re
# 從剪貼簿取得URL
myurl = pyperclip.paste()
# 建立一個正規表達式,來檢查剪貼簿內容是否是以https://開頭的正確網址
regex = re.compile(
r'^(?:http|ftp)s?://' # http:// or https://
r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' #domain...
r'localhost|' #localhost...
r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip
r'(?::\d+)?' # optional port
r'(?:/?|[/?]\S+)$', re.IGNORECASE)
if re.match(regex, myurl) is not None:
myurl = pyperclip.paste()
tokens_pool = ['db874d7954f55ad86d7a6bb769af1bff34153aa1']
shortener = bitlyshortener.Shortener(tokens=tokens_pool, max_cache_size=256)
long_urls = [myurl, 'https://www.cnn.com/election/2020', 'https://paperswithcode.com/sota']
x = shortener.shorten_urls(long_urls)
print(x[0])
else:
print("is not a valid url")
在keyboard maestro中:
- 先建立一個group
- 建立一個New Macro
- 建立一個Action
- Trigger 選
by string
,然後自定一個觸發,這裡我是用;b
- Excecute the Shell Script :
# 因為我有用pyenv裝python3,所以我的python路徑可能會不太一樣 # 如果沒有特別安裝,應該會是mac系統python3 # 原則是如下的寫法: python3 ~/path/to/your/bitly.py
- Set Clipboard to Text
結果
討論
結論