Monday, 27 September 2021

Storage Access Framework in Python

I have this small application and I'd like to rewrite it to use more privacy-friendly best practices, such as the Storage Access Framework.

How to do it in Python (Kivy)? I searched the web and haven't found any tutorial or examples with Python. I know only very little Java and Kotlin at all. So, I would like to read the examples in Python.

I would like to replace this code:

request_permissions([Permission.WRITE_EXTERNAL_STORAGE,
                             Permission.READ_EXTERNAL_STORAGE])
        try:
            if autoclass('android.os.Build$VERSION').SDK_INT >= 29:
                Context = autoclass('android.content.Context')
                self.working_directory = os.path.join(Context.getExternalFilesDir(None).getAbsolutePath(), "tdg_articles")
                self.data_dir = os.path.join(Context.getExternalFilesDir(None).getAbsolutePath(), "nltk")
            else:
                Environment = autoclass('android.os.Environment')
                self.working_directory = os.path.join(Environment.getExternalStorageDirectory().getAbsolutePath(), "tdg_articles")
                self.data_dir = os.path.join(Environment.getExternalStorageDirectory().getAbsolutePath(), "nltk")
        except:
            self.working_directory = os.path.join(App.get_running_app().user_data_dir, "tdg_articles")
            self.data_dir = os.path.join(App.get_running_app().user_data_dir, "nltk")
        
        if not os.path.exists(self.working_directory):
            os.makedirs(self.working_directory)
        
        if not os.path.exists(self.data_dir):
            os.makedirs(self.data_dir)
        
        os.chdir(self.working_directory)


from Storage Access Framework in Python

No comments:

Post a Comment