import urllib
import urllib2
+
class API(object):
+
def __init__(self, api_url):
self.api_url = api_url
self.cookiejar = cookielib.CookieJar()
name = name.replace('/', '!')
return name
+
def filename_to_pagename(name):
name = name.replace('!', '/')
name = name.replace('_', ' ')
import os
import sys
+
class CommandBase(object):
+
def __init__(self, name, description, usage=None):
self.me = os.path.basename(sys.argv[0])
self.description = description
self.args = self.args[1:] # don't need the first thing
self._do_command()
+ def _do_command(self):
+ pass
+
def _login(self):
user = raw_input('Username: ')
passwd = getpass.getpass()
class InitCommand(CommandBase):
+
def __init__(self):
usage = '%prog init API_URL'
CommandBase.__init__(self, 'init', 'start a mw repo', usage)
class PullCommand(CommandBase):
+
def __init__(self):
usage = '%prog fetch [options] PAGENAME ...'
CommandBase.__init__(self, 'pull', 'add remote pages to repo', usage)
self._api_setup()
pages = []
pages += self.args
- for these_pages in [pages[i:i+25] for i in range(0, len(pages), 25)]:
+ for these_pages in [pages[i:i + 25] for i in range(0, len(pages), 25)]:
data = {
'action': 'query',
'titles': '|'.join(these_pages),
class StatusCommand(CommandBase):
+
def __init__(self):
CommandBase.__init__(self, 'status', 'check repo status')
self.shortcuts.append('st')
import json
import os
import sys
-import time
+
class Metadir(object):
+
def __init__(self):
self.me = os.path.basename(sys.argv[0])
root = os.getcwd()
if '.mw' in os.listdir(root):
self.root = root
break
- (head, tail) = os.path.split(root)
+ head = os.path.split(root)[0]
if head == root:
self.root = os.getcwd()
break