Esempio n. 1
0
    def _observe_bible(self, change):
        if self.bible is None:
            if 'bible' in self.state:
                del self.state['bible']
        else:
            self.state['bible'] = self.bible.version.key

        #: When a bible is set, force an update
        AndroidApplication.instance().force_update()
Esempio n. 2
0
    def _handle_response(self, response):
        self.status = u"Converting..."
        AndroidApplication.instance().force_update()
        try:
            #: Load buffer into json
            self._buffer.seek(3)  # First 3 bytes are crap
            data = json.load(self._buffer)

            #: Create downloads folder
            downloads = os.path.dirname(self.path)
            if not os.path.exists(downloads):
                os.makedirs(downloads)

            #: Save in msgpack format
            with open(self.path, 'wb') as f:
                msgpack.dump(data, f)

            self.downloaded = True
            self.status = u"Done!"
        except Exception as e:
            self.status = u"{}".format(e)
        finally:
            self.downloading = False
Esempio n. 3
0
 def _queue_save(self, change):
     """ Schedule a save """
     self._pending_saves += 1
     AndroidApplication.instance().timed_call(self._save_delay,
                                              self._dequeue_save)
Esempio n. 4
0
 def _observe_wake_lock(self, change):
     AndroidApplication.instance().keep_screen_on = self.wake_lock
     self.state['wake_lock'] = self.wake_lock