投稿

ラベル(JSON)が付いた投稿を表示しています

マストドンのアーカイブをcsv形式にするコード

  mastodon-japan.netサーバーが閉鎖されるとのことなので、アーカイブをダウンロードした。その中に、outbox.jsonがあった。これはテキストエディタで開くには重すぎる。ただし、Windowsの「メモ帳」なら開ける。このoutbox.jsonから重要なデータを抽出してcsv形式にすることにした。jqというものを利用した。 https://jqlang.org/  このコードについては全く分からないので、Geminiにコードを作成してもらった。  to_csv.jq というファイルと to_csv.bat というファイルを作成して同じディレクトリーに置き、to_csv.bat を実行すると mastodon_data.csv というファイルが同じディレクトリーに作られる。  画像などの添付ファイルについては、アーカイブのzipファイルの media_attachments フォルダーの中のかなり深い階層に収納されていて、その位置は outbox.json に記載されているので、その位置も抽出することにした。投稿のidと日時とactorとコンテンツとinReplyToと画像などの添付ファイルの位置を抽出したのだが、idとactorはURL形式だった。  また、コンテンツに「"」や「,」が含まれている場合が心配だったが、Geminiによると、「ご使用になった jq のフィルタには、CSVの標準ルールに従ってこれらを自動で処理する仕組みが組み込まれていますので、 基本的に列がずれる心配はありません。 」とのことだった。最終行の @csv 演算子 のおかげらしい。 この @csv 演算子 が非常に重要で、以下の標準的なCSVルールに従ってデータを安全にエンコードします。 カンマ ( , ): (Geminiの嘘だと思ったが正しかった。「 データフィールド内にカンマが含まれている場合 」に限らず、コンテンツ全体が""で囲まれているから,のままで大丈夫) データフィールド内にカンマが含まれている場合、そのフィールド全体は 二重引用符 ( " ) で括られます。 例: あ,い,う → "あ,い,う" 二重引用符 ( " ): (Geminiの嘘。コンテンツ内の"は...

Feedbroの日本語化(Google翻訳 & 手動修正)

 FirefoxのアドオンFeedBroをインストールしたのだけど、日本語にするオプションが無くて、個人で日本語化するためのJSONファイルをアップロードしている所があったけれど、エラーが出てダメだったので、自分で作るしかなかった。そのためのソース。  ・ Feedbro – 🦊 Firefox (ja) 向け拡張機能  (Translations created by the community の所に feedbro-locale-ja_JP.json が無い)   参考にしたページには次のように書いてあった。 まずFeedBroの設定のところから言語ファイルをエクスポート的なところから言語ファイルの雛形となる英語のファイルをダウンロードします。で翻訳します。以上。 …中略… 言語ファイルをchromeで開きページを翻訳します。でこれをコピーして保存します。 ただこのままだと使えないのでちょっと調整をします。 引用元: FeedBroの日本語化(適当) - haruの自作工房  「エクスポート的なところ」は「Options」の「 Get Locale Template 」。ダウンロードされた「feedbro-locale-en_US.json」をChromで開いて日本語表示したものを「feedbro-locale-en_US.json」のコピーにペーストしてファイル名を「feedbro-locale-ja_JP.json」に変えてから修正。  chromeで翻訳したら、行の最後の「,」が「、」になってしまって、行末の「、」を「,」に一括置換したら、行末にあるはずの「、」が行の途中にあって「,」に置換できてなかったり、行末の「,」が消えている所があったり、""で囲まれていなければいけない所が一部「」に翻訳されてしまったりで、手動での調整に手間取った。chromeで日本語に翻訳された所を元のファイルの英語の所にコピーした方が早かったかもしれない。   「feedbro-locale-en_US.json」と「feedbro-locale-ja_JP.json」を比較して変になっているタグ名を修正したり、上記の問題を修正したりする。  エラーなしに日本語化できた feedbro-locale-ja_JP.json は次の通り。面倒なので細かい所は...