

現在、以下のバージョン、ライブラリを利用してRedmineのActiveなユーザ情報を全て取得しようとしています。

  * Python3.7
  * python-redmine

対象のRedmineには一度のAPIで取得できる件数(100)を超えているのでページングするために、一度total_countを取得しようと以下のコードを書いてみたのですが、「user_list.total_count」を取得する際に
`exceptions.ResultSetTotalCountError` が発生してしまいます。

[code]

    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)
    
[/code]

そこで試しにuser_listが取得できてきないのかどうか、上記コードの1行目と2行目の間に以下のコードを追加すると、何の問題もなく正常に動作してしまいました。

[code]

    for user in user_list:
         print(user)
    
[/code]

なぜこれを追加するだけでうまくいってしまうのか理解できず、、for文を消してsleepを入れてみたり色々と試してみたのですが、原因がわからず気持ち悪いと感じております。

何か思い当たる方いらっしゃれば、Adviseいただけますと幸いです。よろしくお願いいたします。


CC BY-SA 4.0
2019-07-03T09:55:21.877
56352
2019-07-04T04:52:21.557
2019-07-04T04:52:21.557
2238
34963
question
python python3 redmine
python-redmineでuserをfilterを利用したときの戻り値について