Add callback when updating a project
offlate/systems/git.py
| 121 | 121 | except: | |
| 122 | 122 | raise ProjectNotFoundSystemException(self.name) | |
| 123 | 123 | ||
| 124 | - | def update(self, callback): | |
| 124 | + | def update(self, askmerge, callback=None): | |
| 125 | 125 | rename(self.basedir + "/current", self.basedir + "/old") | |
| 126 | - | self.clone(self.basedir + "/current") | |
| 126 | + | self.clone(self.basedir + "/current", callback) | |
| 127 | 127 | oldfiles = self.updateFilesFromDirectory(self.basedir + "/old") | |
| 128 | 128 | self.updateFiles() | |
| 129 | 129 | newfiles = self.translationfiles | |
… | |||
| 136 | 136 | oldformat = mmfile['format'] | |
| 137 | 137 | if oldformat is None: | |
| 138 | 138 | continue | |
| 139 | - | newformat.merge(oldformat, callback) | |
| 139 | + | newformat.merge(oldformat, askmerge) | |
| 140 | 140 | rmdir(self.basedir + "/old") | |
| 141 | 141 | ||
| 142 | 142 | def send(self, interface): | |
offlate/systems/tp.py
| 88 | 88 | def updateFileName(self): | |
| 89 | 89 | self.filename = self.name + '-' + self.version + '.' + self.lang + '.po' | |
| 90 | 90 | ||
| 91 | - | def update(self, callback): | |
| 91 | + | def update(self, askmerge, callback=None): | |
| 92 | 92 | oldversion = self.version | |
| 93 | 93 | oldname = self.filename | |
| 94 | 94 | oldpath = self.popath | |
… | |||
| 111 | 111 | 'version': '0.1', | |
| 112 | 112 | 'fullname': self.conf['fullname'], | |
| 113 | 113 | 'lang': self.lang}) | |
| 114 | - | newcontent.merge(content, callback) | |
| 114 | + | newcontent.merge(content, askmerge) | |
| 115 | 115 | self.po = newcontent | |
| 116 | 116 | os.remove(oldpath) | |
| 117 | 117 | os.rename(self.popath, newname) | |
offlate/systems/transifex.py
| 60 | 60 | else: | |
| 61 | 61 | raise ProjectNotFoundSystemException(self.name) | |
| 62 | 62 | ||
| 63 | - | def update(self, callback): | |
| 63 | + | def update(self, askmerge, callback=None): | |
| 64 | 64 | self.updateFileList() | |
| 65 | 65 | for ff in self.files: | |
| 66 | 66 | slug = ff['slug'] | |
… | |||
| 74 | 74 | currentformat = YamlFormat({'dest': fname, 'source': sname}) | |
| 75 | 75 | else: | |
| 76 | 76 | raise UnsupportedFormatException(ff['i18n_type']) | |
| 77 | - | currentformat.merge(oldformat, callback) | |
| 77 | + | currentformat.merge(oldformat, askmerge) | |
| 78 | 78 | ||
| 79 | 79 | def filename(self, slug, is_source): | |
| 80 | 80 | ext = '' | |
offlate/ui/editor.py
| 257 | 257 | # TODO: Actually do something more intelligent | |
| 258 | 258 | return newstr | |
| 259 | 259 | ||
| 260 | - | def update(self): | |
| 260 | + | def update(self, callback=None): | |
| 261 | 261 | self.project.save() | |
| 262 | - | self.project.update(self.askmerge) | |
| 262 | + | print(callback) | |
| 263 | + | self.project.update(self.askmerge, callback) | |
| 263 | 264 | self.content = self.project.content() | |
| 264 | 265 | self.updateContent() | |
| 265 | 266 | ||
… | |||
| 508 | 509 | super().__init__() | |
| 509 | 510 | self.widget = widget | |
| 510 | 511 | self.signals = RunnableSignals() | |
| 512 | + | self.oldamount = -1 | |
| 513 | + | self.error = None | |
| 514 | + | self.name = self.widget.project.name | |
| 511 | 515 | ||
| 512 | 516 | def run(self): | |
| 513 | 517 | self.widget.send() | |
| 514 | - | self.signals.finished.emit(self.widget.project.name) | |
| 518 | + | self.signals.finished.emit(self.name) | |
| 515 | 519 | ||
| 516 | 520 | class UpdateRunnable(QRunnable, RunnableCallback): | |
| 517 | 521 | def __init__(self, widget): | |
| 518 | 522 | super().__init__() | |
| 519 | 523 | self.widget = widget | |
| 520 | 524 | self.signals = RunnableSignals() | |
| 525 | + | self.oldamount = -1 | |
| 526 | + | self.error = None | |
| 527 | + | self.name = self.widget.project.name | |
| 521 | 528 | ||
| 522 | 529 | def run(self): | |
| 523 | - | self.widget.update() | |
| 524 | - | self.signals.finished.emit(self.widget.project.name) | |
| 530 | + | self.widget.update(self) | |
| 531 | + | self.signals.finished.emit(self.name) | |