@zero_zaki_ghost ということなんですが、他にいい方法ないですかねーw

@noellabo そう言えばちょっと前にブックマーク整理する方法の話、僕とうちの鯖缶のはんさんとで言ってましたね。20件はあまりにもあまりにもですね

@zero_zaki_ghost favouritesのコードと同じでいいんで、ひっぱってきてMastodon.pyを書き換えちゃえばいいんですけど、なんか手軽にできますよ! にならないので……。

まず、フォークします! からはじめたくないw

@noellabo ElasticsearchのAPIでブックマーク管理する方法がある、ってはんさんが言ってたんですけど、それだとラクなんですかね。僕は中身見てないので分からないですが。

@zero_zaki_ghost 鯖缶じゃなくてユーザー向けの、簡易スクリプトを紹介しようっていう目的のものなので、さすがにElasticsearchのAPIはたたけない……(ダダ漏れ)

@noellabo paramsで件数指定できないんですかね?(githubのコードちょっと見ただけなのできちんと理解していませんが

@popn_ja params、なぜかbookmarksにだけついてないんですよ。Mastodon側はもちろん対応してますが、Mastodon.pyがw

@noellabo こいつですよね?
github.com/halcy/Mastodon.py/b

limitは違うのか?内部でparams読んでいるような気もするが。

フォロー

@popn_ja これがbookmarksのとこで
github.com/halcy/Mastodon.py/b

こっちがfavouritesです
github.com/halcy/Mastodon.py/b

パラメータの処理が書いてない。

もちろんなおすのは簡単なんですが、私がやるんじゃなくて、記事をみた人がやる想定なので、ちょっと避けたいって感じです。

@popn_ja そして、記事の方はこういう感じです。
blog.noellabo.jp/entry/2021/03

もう面倒くさいから公開しちゃったw

@noellabo function上書きというかそういうのできないんですかね?>python。まあ、そこの部分だけコード追加するのと同じになっちゃいますが。

@popn_ja rubyみたいなことできるのかなー。そこまでよく分かってないですw

@noellabo わたしも理解できていませんが、
return self.__api_request('GET', '/api/v1/bookmarks')

の部分が本体なので、
params = self.__generate_params(locals())

return self.__api_request('GET', '/api/v1/bookmarks, params)

のdefを上書きできればできそうですよね。selfがダメなのかな?

@popn_ja オブジェクトに外からメソッド追加できればいいんですが……もうちょっとやってみるか

@noellabo ちょっとこっちでも試行錯誤してみますねー

@noellabo こんな感じで作ってみましたー

import csv
from mastodon import Mastodon

class Mastodon2(Mastodon):
def test(self, limit=None):
params = super()._Mastodon__generate_params(locals())
return super()._Mastodon__api_request('GET', '/api/v1/bookmarks', params)

pass

mastodon = Mastodon2(
access_token = '',
api_base_url = 'popon.pptdn.jp'
)

toots = mastodon.test(100)
あと同じなので省略。

ログインして会話に参加
Fedibird

多くの独自機能を備えた、連合志向の汎用Mastodonサーバです。Fediverseの活動拠点としてご利用ください。