python-redmineでuserをfilterを利用したときの戻り値について
現在、以下のバージョン、ライブラリを利用してRedmineのActiveなユーザ情報を全て取得しようとしています。
- Python3.7
- python-redmine
対象のRedmineには一度のAPIで取得できる件数(100)を超えているのでページングするために、一度total_countを取得しようと以下のコードを書いてみたのですが、「user_list.total_count」を取得する際に exceptions.ResultSetTotalCountError
が発生してしまいます。
redmine = Redmine('https://example.com/redmine', key='XXXXXXXXXXXXXXXX')
user_list = redmine.user.filter(offset=1, limit=1, status=1)
repeat = user_list.total_count // 100
if user_list.total_count % 100 > 0:
repeat += 1
for i in range(0, repeat):
offset = (i * 100 ) + 1
user_list = redmine.user.filter(offset=offset, limit=100, status=1)
そこで試しにuser_listが取得できてきないのかどうか、上記コードの1行目と2行目の間に以下のコードを追加すると、何の問題もなく正常に動作してしまいました。
for user in user_list:
print(user)
なぜこれを追加するだけでうまくいってしまうのか理解できず、、for文を消してsleepを入れてみたり色々と試してみたのですが、原因がわからず気持ち悪いと感じております。
何か思い当たる方いらっしゃれば、Adviseいただけますと幸いです。よろしくお願いいたします。