@@ -732,12 +732,12 @@ def project_versions_page(self, project_path, page, per_page=100, descending=Fal
732732 :param descending: order of sorting
733733 :type descending: Bool
734734
735- :rtype: List[Dict]
735+ :rtype: List[Dict], Int
736736 """
737737 params = {"page" : page , "per_page" : per_page , "descending" : descending }
738738 resp = self .get ("/v1/project/versions/paginated/{}" .format (project_path ), params )
739739 resp_json = json .load (resp )
740- return resp_json ["versions" ]
740+ return resp_json ["versions" ], resp_json [ "count" ]
741741
742742 def project_versions_count (self , project_path ):
743743 """
@@ -786,15 +786,16 @@ def project_versions(self, project_path, since=1, to=None):
786786 start_page = math .ceil (num_since / per_page )
787787 if not num_to :
788788 # let's get first page and count
789- versions = self .project_versions_page (project_path , start_page , per_page )
790- num_to = self . project_versions_count ( project_path )
789+ versions , num_to = self .project_versions_page (project_path , start_page , per_page )
790+
791791 latest_version = int_version (versions [- 1 ]["name" ])
792792 if latest_version < num_to :
793793 versions += self .project_versions (project_path , f"v{ latest_version + 1 } " , f"v{ num_to } " )
794794 else :
795795 end_page = math .ceil (num_to / per_page )
796796 for page in range (start_page , end_page + 1 ):
797- versions += self .project_versions_page (project_path , page , per_page )
797+ page_versions , _ = self .project_versions_page (project_path , page , per_page )
798+ versions += page_versions
798799
799800 # filter out versions not within range
800801 filtered_versions = list (filter (lambda v : (num_since <= int_version (v ["name" ]) <= num_to ), versions ))
0 commit comments