@@ -984,6 +984,9 @@ def __clicked_new_folder(self):
984
984
985
985
# Remove illegal filesystem characters (mainly for Windows)
986
986
new_folder_name = "" .join (i for i in new_folder_name if i not in r'\/:*?"<>|' )
987
+ # Check again
988
+ if not len (new_folder_name ):
989
+ return
987
990
988
991
new_folder_url += "&name={}" .format (new_folder_name )
989
992
self .manager .put (
@@ -1154,6 +1157,9 @@ class ProjectTree(QtWidgets.QTreeWidget):
1154
1157
1155
1158
# Event fired when refresh of tree is finished
1156
1159
refreshFinished = QtCore .pyqtSignal ()
1160
+ # Maximum of items to return per request (e.g. files in a folder). OSF
1161
+ # automatically paginates its results
1162
+ ITEMS_PER_PAGE = 50
1157
1163
1158
1164
def __init__ (self , manager , use_theme = None , theme_path = './resources/iconthemes' ):
1159
1165
""" Constructor
@@ -1530,6 +1536,9 @@ def populate_tree(self, reply, parent=None):
1530
1536
except AttributeError as e :
1531
1537
raise osf .OSFInvalidResponse ("Invalid api call for getting next"
1532
1538
"entry point: {}" .format (e ))
1539
+ # Add page size parameter to url to let more than 10 results per page be
1540
+ # returned
1541
+ next_entrypoint += "?page[size]={}" .format (self .ITEMS_PER_PAGE )
1533
1542
req = self .manager .get (
1534
1543
next_entrypoint ,
1535
1544
self .populate_tree ,
@@ -1586,6 +1595,9 @@ def process_repo_contents(self, logged_in_user):
1586
1595
)
1587
1596
# Clear the tree to be sure
1588
1597
self .clear ()
1598
+ # Add the max items to return per request to the api url
1599
+ user_nodes_api_call += "?page[size]={}" .format (self .ITEMS_PER_PAGE )
1600
+
1589
1601
# Start populating the tree
1590
1602
req = self .manager .get (
1591
1603
user_nodes_api_call ,
0 commit comments