_login() now actually logs in to remote wiki
[mw] / src / mw / clicommands.py
index c180c6ada2f43af5c1b11e7dbda88ad2ca549989..936082205bd3ee102ad714a12fe7d84e86ae0e46 100644 (file)
@@ -48,6 +48,11 @@ class CommandBase(object):
     def _login(self):
         user = raw_input('Username: ')
         passwd = getpass.getpass()
+        result = self.api.call({'action': 'login',
+                                'lgname': user,
+                                'lgpassword': passwd})
+        if result['login']['result'] != 'Success':
+            raise Exception('Login error: %s' % result['login']['result'])
 
     def _die_if_no_init(self):
         if self.metadir.config is None:
@@ -96,8 +101,9 @@ class PullCommand(CommandBase):
                     print '%s: %s: page does not exist, file not created' % \
                             (self.me, pagename)
                     continue
-                revid = [x['revid'] for x in response[pageid]['revisions']]
-                self.metadir.pagedict_add(pagename, int(pageid))
+                revids = [x['revid'] for x in response[pageid]['revisions']]
+                revids.sort()
+                self.metadir.pagedict_add(pagename, pageid, revids[-1])
                 self.metadir.pages_add_rv(int(pageid),
                                           response[pageid]['revisions'][0])
                 filename = mw.api.pagename_to_filename(pagename)

Benjamin Mako Hill || Want to submit a patch?