Need to see if your shared folder is taking up space on your dropbox 👨‍💻? Find out how to check here.

Forum Discussion

vas1992's avatar
vas1992
Helpful | Level 5
3 years ago
Solved

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.

  • Greg-DB's avatar
    Greg-DB
    3 years ago

    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)
    

     

5 Replies

Replies have been turned off for this discussion
  • Здравко's avatar
    Здравко
    Legendary | Level 20
    3 years ago

    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.

  • vas1992's avatar
    vas1992
    Helpful | Level 5
    3 years ago

    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-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    3 years ago

    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)
    

     

  • Здравко's avatar
    Здравко
    Legendary | Level 20
    3 years ago

    vas1992 wrote:

    ...

    I am getting an error:

    ...


    Of course, when you are using invalid object, errors can be expected. Even more, would be strange if it passes without error.

About Discuss Dropbox Developer & API

Node avatar for Discuss Dropbox Developer & API
Make connections with other developers

The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.

If 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, Facebook or Instagram.

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!