l = map(lambda s: s.strip(), page.get_body().splitlines()) r = map(lambda s: s.strip(), output.splitlines()) if l != r: d = u'\n'.join(filter(lambda s: s and s[0] in u'+-?', differ.compare(l, r))) print((u'#### Diff in %s ####' % weapon_name).encode('utf-8')) print(d.encode('utf-8')) except PageEditor.Unchanged: pass if not is_sub and j.get(u'subStatusMap', {}): processWeapon(j, context, True, dry_run) if __name__ == '__main__': from MoinMoin import config context = ScriptContext() context.remote_addr = '127.0.0.1' root_page = RootPage(context) parser = argparse.ArgumentParser() parser.add_argument('file', type=file) parser.add_argument('--no-dry-run', dest='no_dry_run', type=bool, default=False) args = parser.parse_args() dry_run = not args.no_dry_run json_lines = args.file.readlines() for json_text in json_lines: j = json.loads(json_text) if not isinstance(j, list): j = [j]
import argparse from MoinMoin.PageEditor import PageEditor from MoinMoin.web.contexts import ScriptContext from MoinMoin.web.request import TestRequest from MoinMoin.Page import RootPage from macro.utils import json_printer, json_loader COMMENTS = u"""==== コメント ==== <<AddComment>> <<Comments>>""" RE_COMMENTS = re.compile(ur"====\s*コメント\s*====\s*<<AddComment>>\s*<<Comments>>") if __name__ == "__main__": from MoinMoin import config context = ScriptContext() context.remote_addr = "127.0.0.1" root_page = RootPage(context) for page_name in root_page.getPageList(user=""): page = PageEditor(context, page_name) data = page.get_raw_body() match = RE_COMMENTS.search(data) if match: data = RE_COMMENTS.sub(u"", data) data += COMMENTS page.saveText(data, page.current_rev())