Pythonista 實際應用

由於上週末只帶了 iPad 回宜蘭, 想到星期日早上有 One Piece 動畫可以看, 想說先抓好, 這樣回台北可以直接看。

一開始是想說把 torrent 抓下來後上傳到 put.io 就好了, 但是 iPad 沒辦法存或是上傳圖片以外的檔案, 所以就開始想說用 Pythonista 來做這件事。首先就是給 torrent 網址, 存到 local 之後, 再透過 put.io 的 api 把 torrent 上傳上去, 之後就透過 put.io 下載檔案。

簡單的 script 如下, 都在 iPad 上完成, 實在是超硬的, 不過挺有趣的。

import sys  
import requests  
import urllib


PUTIO_ACCESS_TOKEN = 'your put.io access token'  
PUTIO_API_URL = 'https://api.put.io/v2/files/upload'


url = sys.argv[1]  
filename = url.rsplit('/', 1)[1]

# ============================
# Download and save the file
# ============================
print("Download and save the file.")  
r = requests.get(url)  
with open(filename, 'w+') as f:  
    f.write(r.content)


# ============================
# Upload your file to put.io
# ============================
print("Upload your file to put.io")

params = urllib.urlencode({'oauth_token': PUTIO_ACCESS_TOKEN})

files = {'file': open(filename, 'rb')}  
r = requests.post(PUTIO_API_URL + '?' + params, files=files)

if r.status_code == 200:  
    print("Finished!")  
else:  
    print("Upload to put.io failed!n%s" % r.content)

話說 url = sys.argv[1] 這部分的寫法是因為可以透過下面的方式來存取 url, 只要把這段網址存成書籤後, 就可以直接執行這個 script 下載當下瀏覽的檔案, 當然 filename 的部份還需要另外處理一些狀況就是了。

pythonista://PutIOUpload.py?action=run&argv=http://the_file_url_for_download  

所以只要把上面這段網址存成書籤, 之後瀏覽到想要下載的 torrent, 直接透過這個書籤就可以直接送到 put.io 開始下載了 XD

其實後來想一想, 標題叫實際應用, 可是我根本就是再浪費時間, 一點都不切實際阿! XD

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!