現在、以下のバージョン、ライブラリを利用して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いただけますと幸いです。よろしくお願いいたします。