ちょうどちょっと直したい事があったので、ついでにimportとsyncもどきを実装する事に。

以前欲しいと言ってた機能に近い物 MeatPieDayで複数端末同期を楽して実装したいなぁ

syncもどきは現状隠し機能っぽくて、最初のセルが、

IssueId: 数字

で、かつこの数字が一致する時だけ動くようになってる。

正式にやるならguidとかなんだろうけど、github issuesとかにあげる時に変なguid入ってるのダサいので、アドホックに。まぁ隠し機能という事で。

ipynbのmetadataに入ってる各セルのタイムスタンプを比べて、ipynbのタイムスタンプが大きい場合はセルを更新する。 さらに末尾に追加分があれば足す。

セルの削除とかが他方にだけあると、あまりうまく動きません。

これまで結構書いてきて、セルの削除をしたものをsyncしたい、と思った事は一度も無いので、たぶんあまり無いでしょう、と結論づける。

そもそも、だいたいがより新しいipynbを取り込みたい、というシチュエーションなので、その時が一番楽で安全になるように作りたい。 特殊な時は一回削除してインポートすれば良いので。

contentスキーム対応

一通り動いたのだが、最近はfileスキームだと怒られる、という事で、content resolverを使うように直したい。 というかDropBoxで使いたい。

InputStream自体はresolverから得られるのだが、今回はファイル名も欲しい。という事で、この辺を幾つかのアプリで調べて、display nameにだいたいファイル名が入るな、という事を確認して実装する。

この辺、コードの書き溜めがあるのでどうという事は無いが、知らない人がやるといろいろはまりそうだなぁ。cursorから取るとかひでぇAPIだよなぁ。

という事で完成ヽ(´ー`)ノ

しばらく使って問題無さそうなら一応リリースしよう。