def download(url, local_file, progress_title: str, progress_text: str = '', file_size: int = None): logger.info('downloading {} -> {}'.format(url, local_file)) Progress.start(progress_title) Progress.set_label(progress_text) def hook(data): Progress.set_value(float(data['percent_complete'])) dl = Downloader( url=url, filename=local_file, progress_hooks=[hook], content_length=file_size, ) return dl.download()
def _encode(self): logger.info('encoding lua tables') Progress.start('Decoding MIZ file', length=3) Progress.set_label('Encoding map resource') logger.debug('encoding map resource') with open(self.map_res_file, mode='w', encoding=ENCODING) as f: f.write(SLTP().encode(self._map_res, self._map_res_qual)) Progress.set_value(1) Progress.set_label('Encoding map resource') logger.debug('encoding l10n dictionary') with open(self.dictionary_file, mode='w', encoding=ENCODING) as f: f.write(SLTP().encode(self.l10n, self._l10n_qual)) Progress.set_value(2) Progress.set_label('Encoding map resource') logger.debug('encoding mission dictionary') with open(self.mission_file, mode='w', encoding=ENCODING) as f: f.write(SLTP().encode(self.mission.d, self._mission_qual)) Progress.set_value(3) logger.info('encoding done')
def _decode(self): logger.info('decoding lua tables') if not self.zip_content: self.unzip(overwrite=False) Progress.start('Decoding MIZ file', length=3) Progress.set_label('Decoding map resource') logger.debug('reading map resource file') with open(self.map_res_file, encoding=ENCODING) as f: self._map_res, self._map_res_qual = SLTP().decode(f.read()) Progress.set_value(1) Progress.set_label('Decoding dictionary file') logger.debug('reading l10n file') with open(self.dictionary_file, encoding=ENCODING) as f: self._l10n, self._l10n_qual = SLTP().decode(f.read()) Progress.set_value(2) Progress.set_label('Decoding mission file') logger.debug('reading mission file') with open(self.mission_file, encoding=ENCODING) as f: mission_data, self._mission_qual = SLTP().decode(f.read()) self._mission = Mission(mission_data, self._l10n) Progress.set_value(3) logger.info('decoding done')