def print_folder_info(folder, level=0):
indent = " " * level
print(f"{indent}Folder: {folder['displayPath']}, totalMessages: {folder['totalMessages']}, size: {folder['size'] / 1024**2:.2f} MB")
for subfolder in folder.get('subFolders', []):
print_folder_info(subfolder, level + 1)
# ListMailFolders
_url = f"{sup_ascholz.uri}api/v1/folders/list-email-folders"
response = requests.get(url=_url, headers=sup_ascholz.HeaderImpersonate)
if response.status_code == 200:
for folder in response.json().get('folderList', [])[:10]:
print_folder_info(folder)
Folder: __ARCHIVE, totalMessages: 1457, size: 12.16 MB
Folder: _CAL_Invites, totalMessages: 0, size: 0.00 MB
Folder: _CAL_Invites/Teams, totalMessages: 1, size: 0.01 MB
Folder: _CAL_Invites/Zoom, totalMessages: 4, size: 0.08 MB
Folder: _DISL_SPACE_THRESHOLD_, totalMessages: 2241, size: 19.24 MB
Folder: /new_folder, totalMessages: 0, size: 0.00 MB
Folder: /new_folder/sent, totalMessages: 0, size: 0.00 MB
Folder: 075-2E3528C9-0014, totalMessages: 0, size: 0.00 MB
Folder: 075-2E3528C9-0014/7252024 133 PM, totalMessages: 23, size: 1.19 MB
Folder: 075-2E3528C9-0014/mail12.newtechweb.com, totalMessages: 6, size: 1.18 MB
Folder: 075-2E3528C9-0014/mail12.newtechweb.com/Sub-001, totalMessages: 0, size: 0.00 MB
Folder: 075-2E3528C9-0014/mail12.newtechweb.com/Sub-001/Sub-002, totalMessages: 0, size: 0.00 MB
Folder: 07D-2EF4A1D3-0003, totalMessages: 0, size: 0.00 MB
Folder: 09F-2F2E7A3F-0002, totalMessages: 5, size: 0.47 MB
Folder: 16B-2F19565F-002A, totalMessages: 2, size: 0.05 MB
Folder: 1BB-2E3BC535-001E, totalMessages: 56, size: 26.01 MB
Folder: 1BE-2E6A1C33-0027, totalMessages: 0, size: 0.00 MB
Folder: 1BE-2E6A1C33-0027/GRP, totalMessages: 837, size: 45.39 MB