fetch: Update for new metadir functions
[mw] / src / mw / clicommands.py
index 3657d532ad18280d37db5bdd90878fede112ec77..ccfc9cb3f7fc2b574bfa37c3a7d414fc34112921 100644 (file)
@@ -13,8 +13,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# with this program.  If not, see <http://www.gnu.org/licenses/>.
 ###
 
 import getpass
@@ -92,12 +91,17 @@ class FetchCommand(CommandBase):
             }
             response = self.api.call(data)['query']['pages']
             for pageid in response.keys():
+                if 'missing' in response[pageid].keys():
+                    print '%s: %s: page does not exist, file not created' % \
+                            (self.me, response[pageid]['title'])
+                    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])
-                fd = file(os.path.join(self.metadir.root, \
-                        response[pageid]['title'].replace(' ', '_') + \
-                        '.wiki'), 'w')
+                self.metadir.pagedict_add(response[pageid]['title'],
+                                          int(pageid))
+                self.metadir.pages_add_rev(int(pageid),
+                                           response[pageid]['revisions'][0])
+                filename = response[pageid]['title'].replace(' ', '_')
+                filename = filename.replace('/', '!')
+                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?