We're making changes to the Community, so you may have received some notifications - thanks for your patience and welcome back. Learn more here.
Forum Discussion
vas1992
2 years agoHelpful | Level 5
Python. Get full storage information
Hello. How can I display the full size of my storage using python?
I was able to get only the occupied volume:
print(dbx.users_get_space_usage().used)
The only thing I could do was get this:
print(dbx.users_get_space_usage().allocation)
Result:
SpaceAllocation('individual', IndividualSpaceAllocation(allocated=2147483648))
I don't know how to extract "allocated" from here.
vas1992 Здравко is correct; here's what a simple usage of this may look like:
allocation = dbx.users_get_space_usage().allocation if allocation.is_individual(): print("Individual allocation:") print(allocation.get_individual().allocated) elif allocation.is_team(): print("Team allocation:") print(allocation.get_team().allocated)
- ЗдравкоLegendary | Level 20
vas1992 wrote:...
I don't know how to extract "allocated" from here.
Hi vas1992,
You can do it like any other field on any other object in Python (as programing language). Just read what you have got in documentation. 'users_get_space_usage' method returns SpaceUsage class object. You have successful get in touch to 'used' field of this object (type int). 👍
The other field of the same object - 'allocation' - is not basic type, but another object! The object's type is SpaceAllocation - an union of individual and team allocation data. Since your account is individual (in the particular case, but you should check it in a common case), 'get_individual' method is applicable. This method result is of type IndividualSpaceAllocation class. I believe it's easy to see that field 'allocated' can be accessed here (int type) in the same way you are accessing 'used' field before. 😉 Take a look here too.
Hope this clarifies matter.
- vas1992Helpful | Level 5
Something I did not understand at all. It is possible as much as possible in detail, for stupid?
I use:
print(dropbox.users.SpaceAllocation('individual', value=None).get_individual())
I am getting an error:
Traceback (most recent call last):
File "/home/vas/MyScripts/UploadCSV/RMS_up_Dx.py", line 108, in <module>
space_usage(dbx)
File "/home/vas/MyScripts/UploadCSV/RMS_up_Dx.py", line 66, in space_usage
print(dropbox.users.SpaceAllocation('individual', value=None).get_individual())
File "/home/vas/.local/lib/python3.8/site-packages/stone/backends/python_rsrc/stone_base.py", line 145, in __init__
validator.validate_type_only(value)
File "/home/vas/.local/lib/python3.8/site-packages/stone/backends/python_rsrc/stone_validators.py", line 543, in validate_type_only
raise ValidationError('expected type %s, got %s' %
stone.backends.python_rsrc.stone_validators.ValidationError: expected type dropbox.users.IndividualSpaceAllocation, got null - Greg-DBDropbox Staff
vas1992 Здравко is correct; here's what a simple usage of this may look like:
allocation = dbx.users_get_space_usage().allocation if allocation.is_individual(): print("Individual allocation:") print(allocation.get_individual().allocated) elif allocation.is_team(): print("Team allocation:") print(allocation.get_team().allocated)
About Discuss Dropbox Developer & API
Make connections with other developers
795 PostsLatest Activity: 5 days agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!