原稿を進める火曜日

8:00

おはようございます。本日は予定が特にないので、ばりばりと原稿を。

Textbox:

ブクログのフィードを二重処理してしまう問題をどうにかしましょう。ようは記号の扱いが問題です。

* * *

状況の整理。AmazonとBook walkerで処理が異なる。BW側では、記号の扱いが問題だったので処理するコードを書いたが、その結果Amazonで買った本に記号が含まれていると、二重に登録されるようになった。本を判定するときに記号が認識されず、違う本として判断されてしまう。

さらにAmazon側で処理してもいいが、むしろ、判断のロジックをまったく変えた方がいい?

あきらかにリストラクチャリングのタイミング。データの処理を抜本的に見直すこと。これは後々の宿題とする。

Palin Text Editor

Image from Gyazo

Mac専用のテキストエディタ。プレーンテキストオンリー。複雑な機能がまったくなく、シンプルに使える(シンプルにしか使いようがない)

9:00

メルマガ:

まずはメルマガの原稿から書きましょう。

* * *

3700文字の原稿を書きました。一仕事。

11:00

一日一英文:

In 1995, Ando received architecture’s most prestigious award.

12:00

環読プロジェクト:

第10章のまとめを書きましょう。

* * *

publish:『TAKE NOTES!』Chapter10のまとめ |倉下忠憲

14:00

note:

Kindleの月替わりセールをチェックします。

* * *

2024年12月Kindle月替わりセールを漁る|倉下忠憲

デジタルノート研究会:

投稿を書きましょう。

* * *

publish:Capacitiesで「Photo」というオブジェクト - by 倉下忠憲@rashita2

Textbox:

朝の課題をクリアしましょう。

* * *

設計の再確認。まず、JSONのデータを保存するときに、ISBNを保存するようにする。そして、データが保存されているかどうかはISBNによって判断する。こういうやり方です。

Kindle版の場合はどうなる?

Kindle版でもISBNではないが、ASINがフィードに含まれているので、それで一意性を担保できる。

* * *

まず、ISBNを保存するところから。

「paap.makeJSONData」が担当しているっっぽい。→search.pyが中身。

search_items

SearchItemsResource.IMAGES_PRIMARY_LARGE,

SearchItemsResource.ITEMINFO_TITLE,

SearchItemsResource.ITEMINFO_BYLINEINFO,

SearchItemsResource.ITEMINFO_CONTENTINFO,

SearchItemsResource.ITEMINFO_MANUFACTUREINFO,

parseFeed() にデータがわたる。

ここで取得したfeedが解析されて、JSON用のdicsが生成されている。

まず、AmazonのAPIから返ってくるデータのどこにISBNが含まれているかを確認する。

AmazonAPIの返り値 - 倉下忠憲の発想工房

item_infoexternal_ids>external_ids isb_ns>display_values

というのが怪しいが、isb nsというのがあっているのかどうか。日本語の書籍でも該当するのかどうか。あと、KIndleの書籍はどうなっているか。これを確かめたい。

* * *

実際にAPIを叩いたら、

ExternalIds > ISBNs > DisplayValues に格納されていた。

Kindle版の場合は、

 "Items": [
   {
    "ASIN": "B0CPDTYFFS",

上記のISBNは存在しておらず、上記のASINだけがあった。

* * *

確認してみたら、紙版でもASINには、ISBNと同等の数字が入っている。ということはこれを見ればいい。問題はBookwalker版。

Bookwalker版はフィードが1/ではなく17になっている。

たとえば、こういう感じだろう。

17/9487ea85523c5f5d

この数字がフィードから返ってくる。この数字はISBNとは関係なく、Bookwalkerの数字だろう。これを整合させられればいい。

Amazonの方は、すでにASINが保存されているのでそれを使えばいい。BWの場合は追加でデータを入力するか、BW版だけタイトルで判断するようにするか。

* * *

コードを書き換えて、BWのときは、BWのidをASINに差し込むことにしました。あとは判定条件の変更です。

* * *

できました。これでタイトル文字列に記号が含まれていても重複の登録は避けられそうです。

16:00

KW:

今日のエッセイを書きましょう。

* * *

書きました。

続いて、Web Clipperの説明を続けます。

* * *

Obsidian Web Clipper | Knowledge Walkers

一項目だけ書きました。これくらいのスピードがちょうどよいかもしれません。