File: mergeall-android-scripts/_readme-items/PYDROID3-TKINTER/CODE/_permissions.py (original) (raw)

File: mergeall-android-scripts/_readme-items/PYDROID3-TKINTER/CODE/_permissions.py

#==========================================================================

Test reads and writes at root and in app-specific subfolders of both

internal storage (/sdcard) and removable SD card (/storage/xxxx-xxxx).

This assumes the running app has already requested storage permissions

(e.g., Termux command, Pydroid 3 popup on access, or QPython3 install).

Termux and Pydroid 3 have same access: reads work everywhere; writes

work anywhere in internal storage, but only in app's folder on SD card.

See the docs (or ..) for screenshots of the results in each app.

Put cross-app items on /sdcard (e.g., an /sdcard/work working folder),

and be careful to retain data in app-specific folders on app uninstall.

#==========================================================================

import os

paths = [ # internal storage '/sdcard', '/sdcard/Android/data/ru.iiec.pydroid3', '/sdcard/Android/data/com.termux',

# removable sd card
'/storage/5C32-5336',
'/storage/5C32-5336/Android/data/ru.iiec.pydroid3',
'/storage/5C32-5336/Android/data/com.termux'] 

print('\nREADS') for path in paths: assert os.path.exists(path+'/rtest.txt'), path try: open(path+'/rtest.txt', 'r').read() print('worked:', path) except: print('failed:', path)

print('\nWRITES') for path in paths: assert os.path.exists(path), path try: open(path+'/wtest.txt', 'w').write('1234') print('worked:', path) except: print('failed:', path)