Cross-platform, high level file I/O module
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 829
- Avg merge
- 15h 39m
- Merged PRs (30d)
- 40
Description
Is your feature request related to a problem? Please describe.
There is the problem that in Android 11 the standard file I/O will not be supported anymore on external storage.
All file access on external storage must be done with the SAF (Storage Access Framework)
https://developer.android.com/about/versions/11/privacy/storage
Describe the solution you'd like
I would like to have an abstract, cross-platform, high level module for handling file I/O.
Files should not be referenced with a file path but rather with an URI.
On Android, they would be content URIs (content://), on other platforms, we could use file URIs (file://) or whatever fits the platform.
The module should provide about following functions:
- read a text file (with handling encoding and EOL conversion)
- read a binary file
- write a text file (with handling encoding and EOL conversion)
- write a binary file
- create a file
- delete a file
- create a folder
- get content of a folder
- delete a folder
- check for existence
- info about a file (size, timestamps, flags, etc.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Android 11 Storage Access Framework documentation linked in the issue, then survey Toga's existing platform abstractions for a suitable integration point. Done means providing the requested cross-platform URI-based file and folder operations, including text encoding, EOL conversion, metadata, and Android external-storage support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, python
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100