X-Git-Url: https://projects.mako.cc/source/mw/blobdiff_plain/9167eb311905dc0547ce206f6c9f060d97ab144f..b9fb2a729cda6442da7aa4c2a9cdddd1b38a8409:/src/mw/clicommands.py diff --git a/src/mw/clicommands.py b/src/mw/clicommands.py index aec3f24..1d0c46d 100644 --- a/src/mw/clicommands.py +++ b/src/mw/clicommands.py @@ -175,7 +175,8 @@ class PullCommand(CommandBase): converted_pages.append(pagename) pages = converted_pages - for these_pages in [pages[i:i + 25] for i in range(0, len(pages), 25)]: # XXX ? + for these_pages in [pages[i:i + 25] for i in + range(0, len(pages), 25)]: # what does this '25' do? - reagle data = { 'action': 'query', 'titles': '|'.join(these_pages), @@ -187,7 +188,11 @@ class PullCommand(CommandBase): for pageid in response.keys(): pagename = response[pageid]['title'] - # Is the revisions list a sorted one, should I use [0] or [-1]? -- reagle + if 'revisions' not in response[pageid]: + print 'skipping: "%s" -- cannot find page, perhaps deleted' % (pagename) + continue + + # Is the revisions list a sorted one, should I use [0] or [-1]? - reagle if 'comment' in response[pageid]['revisions'][0]: last_wiki_rev_comment = response[pageid]['revisions'][0]['comment'] else: @@ -213,7 +218,8 @@ class PullCommand(CommandBase): last_working_revid = working_revids[-1] if ( os.path.exists(full_filename) and last_wiki_revid == last_working_revid): - print 'wiki unchanged: "%s"' % (pagename) + #print 'wiki unchanged: "%s"' % (pagename) + pass else: print 'pulling: "%s" : "%s" by "%s"' % ( pagename, last_wiki_rev_comment, last_wiki_rev_user) @@ -230,12 +236,19 @@ class StatusCommand(CommandBase): def __init__(self): CommandBase.__init__(self, 'status', 'check repo status') self.shortcuts.append('st') + self.parser.add_option('-A', '--all', dest='show_all', action='store_true', + default = False, + help="show all files' status") def _do_command(self): self._die_if_no_init() status = self.metadir.working_dir_status() for filename in status: - print '%s %s' % (status[filename], filename) + + if not self.options.show_all and status[filename] == 'C': + continue + else: + print '%s %s' % (status[filename], filename) class DiffCommand(CommandBase): @@ -307,8 +320,8 @@ class CommitCommand(CommandBase): files_to_commit = 0 # how many files to process status = self.metadir.working_dir_status(files=self.args) for filename in status: - print '%s %s' % (status[filename], filename) if status[filename] in ['M']: + print '%s %s' % (status[filename], filename) files_to_commit += 1 if not files_to_commit: print 'nothing to commit'