Pythonistaはまがりなりにも開発環境です。
しかも、標準添付のモジュールにdropboxもある。
●[参考] Dropbox for Python — Pythonista Documentation
これはすなわち、Pythonista 2から失われたDropbox同期機能を、ユーザーサイドで後付けできるということを意味します。
そのような必要性と環境の助けで作られたDropboxSync.pyというPythonista用のスクリプトが存在します。これは、DocumentsフォルダのDropboxとの同期を可能にします。
●[参考] DropboxSync
Dropbox上の任意のファイルをPythonistaのDocumentsフォルダにダウンロードしてくるDropbox File Picker.pyというスクリプトも存在します。これは、Pythonista 3の開発者Ole Zorn氏が作られたもの。
●[参考] Dropbox File Picker.py
これを導入すると、Pythonista 3の作業環境としての快適性は大幅に向上します。
そして、Pythonistaにない、シェルを追加する大技ありのスクリプトStaShというものが存在します。
![install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00017.jpg Install stash shell dropbox sync dropbox file picker to the pythonista 3 00017](http://hitoriblog.com/wp-content/uploads/2016/07/install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00017.jpg)
PythonistaにはPythonインタプリタと対話できるインタラクティブコンソールがありますが、それとは別にシェルを追加するのです。
●[参考] StaSh – Shell Like an Expert in Pythonista | omz:forum
これまたとんでもないもので、Pythonista 3のObjective-Cとのブリッジ機能を活用し、Pythonista 3自身を拡張する形で動作します。
Pythonista 3は別に仕様をオープンしているわけでもAPIを公開しているわけでもありません。Pythonista 3をリバースエンジニアリングして作られています。
Pythonista 3には、Pythonista 3の合法ドラッグのような危険な魅力を嗅ぎ付けてきた、このような黒魔術を使うユーザーが集っていてなかなか楽しいのです。
StaShは、Pythonista 3のタブ内でターミナルエミュレータとして動作する部分と、その中で動作するコマンドから成る、一つのCUI作業環境です。Windows 10における﹁Windows Subsystem for Linux﹂のようなものというと言い過ぎかもしれませんが、StaShをPythonistaにインストールすると、pip、git、ls、rm、cd、pwd、wget、curl、telnet、ssh、scpなどなど、普段我々がPC/Mac上で使っているおなじみのコマンドがPythonista 3上で使えるようになります。
![install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00013.PNG Install stash shell dropbox sync dropbox file picker to the pythonista 3 00013](http://hitoriblog.com/wp-content/uploads/2016/07/install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00013.png)
manもあります。﹁man pip﹂とすれば、簡単なマニュアルが表示されます。
マニアックなところでは、macOSユーザーにはおなじみのpbcopy、pbpasteなども移植されています。
前置きが大分長くなりましたが、Pythonista 3の作業環境を大幅に改善するDropbox File Picker.py、DropboxSync.py、StaShをPythonistaにインストールする方法を紹介します。
これで、Pythonista 3の真の姿が覚醒します!
StaShのインストール
まずは、DropboxSync.pyなどをインストールするときにも便利に使えるStaShからインストールします。
インストール方法は非常に簡単。Pythonista 3のインタラクティブコンソールに次の1行をコピペしてenter。
import requests as r; exec(r.get('http://bit.ly/get-stash').text)
これでStaShのzipがダウンロードされ、展開されます。macOSのHomebrewを連想した人も多いのではないでしょうか。
Pythonista 3の再起動が促されるので、iOSデバイスのHomeボタン2度押しからPythonist 3を上スワイプでいったん終了させ、再度起動します。
しかる後に、launch_stash.pyをファイルリストからタップして開きます。
コードエディタ画面右上のレンチアイコンをタップし、区切り線の右端にある﹁Edit﹂をタップして﹁+﹂アイコンをタップ。﹁Custom Title﹂を﹁StaSh﹂にして﹁Done﹂ボタンをタップ。
これで、コードエディタを使用している最中にレンチアイコンからStaShがすぐに起動できるようになりました。
![install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00010.PNG Install stash shell dropbox sync dropbox file picker to the pythonista 3 00010](http://hitoriblog.com/wp-content/uploads/2016/07/install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00010.png)
レンチアイコンをタップし、登録した﹁Stash﹂アイコンをタップしてStaShを起動。
Stashを起動したらdev版にアップデートします。安定版は2016年以降更新がありませんが、dev版はマメに更新されています。
selfupdate dev
﹁help﹂で使用可能なコマンド一覧が表示されます。
![install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00012.PNG Install stash shell dropbox sync dropbox file picker to the pythonista 3 00012](http://hitoriblog.com/wp-content/uploads/2016/07/install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00012.png)
複数起動可能で、起動するごとにStaShのタブが増えていきます。
![install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00011.PNG Install stash shell dropbox sync dropbox file picker to the pythonista 3 00011](http://hitoriblog.com/wp-content/uploads/2016/07/install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00011.png)
レンチメニューの﹁Home Screen﹂から、Home画面に登録することもできます。
![install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00009.PNG Install stash shell dropbox sync dropbox file picker to the pythonista 3 00009](http://hitoriblog.com/wp-content/uploads/2016/07/install-stash-shell-dropbox-sync-dropbox-file-picker-to-the-pythonista-3-00009.png)
Dropbox File Picker.pyのインストール
今度はDropbox File Picker.pyをインストールします。
多少直すところがあったので僕のgistに登録したものを使います。
●[参考] Dropbox File Picker.py
必要なファイルのダウンロード
以下のテキストエリア内のテキストを全選択してコピー。
Pythonista 3内でStaShを起動し、ペースト。これで、wget.pyによるダウンロードが完了するはずです。
トークンの取得
Dropbox File Picker.pyで必要なトークンを取得します。
以下のページにDropboxにログインした状態でアクセス。