commit needs to write latest rev to file too, as text may be changed such as a sig...
[mw] / src / mw / clicommands.py
index 2681c438ee99aa4d5da20856340eeeb0fbfe43b4..3be6da394fec01f618cf5afc11e42805e56f88fd 100644 (file)
@@ -319,11 +319,11 @@ class CommitCommand(CommandBase):
                 if self.options.bot:
                     data['bot'] = 'bot'
                 response = self.api.call(data)
-                 if 'error' in response:
-                     if 'code' in response['error']:
-                         if response['error']['code'] == 'permissiondenied':
-                             print 'Permission denied -- try running "mw login"'
-                             return
+                if 'error' in response:
+                    if 'code' in response['error']:
+                        if response['error']['code'] == 'permissiondenied':
+                            print 'Permission denied -- try running "mw login"'
+                            return
                 if response['edit']['result'] == 'Success':
                     if 'nochange' in response['edit']:
                         print 'warning: no changes detected in %s - ' \
@@ -346,6 +346,12 @@ class CommitCommand(CommandBase):
                     response = self.api.call(data)['query']['pages']
                     self.metadir.pages_add_rv(int(pageid),
                                               response[pageid]['revisions'][0])
+                    # need to write latest rev to file too, as text may be changed
+                    # such as a signature
+                    with file(full_filename, 'w') as fd:
+                        data = response[pageid]['revisions'][0]['*']
+                        data = data.encode('utf-8')
+                        fd.write(data)
                     if file_num != len(status) - 1:
                         print 'waiting 3s before processing the next file'
                         time.sleep(3)

Benjamin Mako Hill || Want to submit a patch?