Add callback when updating a project

Julien LepillerSat Nov 09 16:10:17+0100 2019

915fe8f

Add callback when updating a project

offlate/systems/git.py

121121
        except:
122122
            raise ProjectNotFoundSystemException(self.name)
123123
124-
    def update(self, callback):
124+
    def update(self, askmerge, callback=None):
125125
        rename(self.basedir + "/current", self.basedir + "/old")
126-
        self.clone(self.basedir + "/current")
126+
        self.clone(self.basedir + "/current", callback)
127127
        oldfiles = self.updateFilesFromDirectory(self.basedir + "/old")
128128
        self.updateFiles()
129129
        newfiles = self.translationfiles

136136
                    oldformat = mmfile['format']
137137
            if oldformat is None:
138138
                continue
139-
            newformat.merge(oldformat, callback)
139+
            newformat.merge(oldformat, askmerge)
140140
        rmdir(self.basedir + "/old")
141141
142142
    def send(self, interface):

offlate/systems/tp.py

8888
    def updateFileName(self):
8989
        self.filename = self.name + '-' + self.version + '.' + self.lang + '.po'
9090
91-
    def update(self, callback):
91+
    def update(self, askmerge, callback=None):
9292
        oldversion = self.version
9393
        oldname = self.filename
9494
        oldpath = self.popath

111111
                 'version': '0.1',
112112
                 'fullname': self.conf['fullname'],
113113
                 'lang': self.lang})
114-
        newcontent.merge(content, callback)
114+
        newcontent.merge(content, askmerge)
115115
        self.po = newcontent
116116
        os.remove(oldpath)
117117
        os.rename(self.popath, newname)

offlate/systems/transifex.py

6060
        else:
6161
            raise ProjectNotFoundSystemException(self.name)
6262
63-
    def update(self, callback):
63+
    def update(self, askmerge, callback=None):
6464
        self.updateFileList()
6565
        for ff in self.files:
6666
            slug = ff['slug']

7474
                currentformat = YamlFormat({'dest': fname, 'source': sname})
7575
            else:
7676
                raise UnsupportedFormatException(ff['i18n_type'])
77-
            currentformat.merge(oldformat, callback)
77+
            currentformat.merge(oldformat, askmerge)
7878
7979
    def filename(self, slug, is_source):
8080
        ext = ''

offlate/ui/editor.py

257257
        # TODO: Actually do something more intelligent
258258
        return newstr
259259
260-
    def update(self):
260+
    def update(self, callback=None):
261261
        self.project.save()
262-
        self.project.update(self.askmerge)
262+
        print(callback)
263+
        self.project.update(self.askmerge, callback)
263264
        self.content = self.project.content()
264265
        self.updateContent()
265266

508509
        super().__init__()
509510
        self.widget = widget
510511
        self.signals = RunnableSignals()
512+
        self.oldamount = -1
513+
        self.error = None
514+
        self.name = self.widget.project.name
511515
    
512516
    def run(self):
513517
        self.widget.send()
514-
        self.signals.finished.emit(self.widget.project.name)
518+
        self.signals.finished.emit(self.name)
515519
516520
class UpdateRunnable(QRunnable, RunnableCallback):
517521
    def __init__(self, widget):
518522
        super().__init__()
519523
        self.widget = widget
520524
        self.signals = RunnableSignals()
525+
        self.oldamount = -1
526+
        self.error = None
527+
        self.name = self.widget.project.name
521528
    
522529
    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)