Fix pagename/filename conversion problem
[mw] / src / mw / clicommands.py
index f1b0ce81661afda67ab94b613944ec33f784c9b1..5bddd62d0be9c12c724fc637b7c9d09ae3433bee 100644 (file)
@@ -91,13 +91,16 @@ class FetchCommand(CommandBase):
             }
             response = self.api.call(data)['query']['pages']
             for pageid in response.keys():
+                pagename = response[pageid]['title']
+                if 'missing' in response[pageid].keys():
+                    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.add_page_info(int(pageid),
-                                           response[pageid]['title'],
-                                           revid)
-                self.metadir.add_rv_info(response[pageid]['revisions'][0])
-                filename = response[pageid]['title'].replace(' ', '_')
-                filename = filename.replace('/', '!')
+                self.metadir.pagedict_add(pagename, int(pageid))
+                self.metadir.pages_add_rv(int(pageid),
+                                          response[pageid]['revisions'][0])
+                filename = mw.api.pagename_to_filename(pagename)
                 fd = file(os.path.join(self.metadir.root, filename + '.wiki'),
                           'w')
                 fd.write(response[pageid]['revisions'][0]['*'].encode('utf-8'))

Benjamin Mako Hill || Want to submit a patch?