Merged revisions 66511,66548-66549,66644,66646-66652 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
  r66511 | benjamin.peterson | 2008-09-18 21:49:27 -0500 (Thu, 18 Sep 2008) | 1 line

  remove a  useless if __name__ == '__main__'
........
  r66548 | benjamin.peterson | 2008-09-21 21:14:14 -0500 (Sun, 21 Sep 2008) | 1 line

  avoid the perils of mutable default arguments
........
  r66549 | benjamin.peterson | 2008-09-21 21:26:11 -0500 (Sun, 21 Sep 2008) | 1 line

  some places in RefactoringTool should raise an error instead of logging it
........
  r66644 | benjamin.peterson | 2008-09-27 10:45:10 -0500 (Sat, 27 Sep 2008) | 1 line

  fix doctest refactoring
........
  r66646 | benjamin.peterson | 2008-09-27 11:40:13 -0500 (Sat, 27 Sep 2008) | 1 line

  don't print to stdout when 2to3 is used as a library
........
  r66647 | benjamin.peterson | 2008-09-27 12:28:28 -0500 (Sat, 27 Sep 2008) | 1 line

  let fixer modules and classes have different prefixes
........
  r66648 | benjamin.peterson | 2008-09-27 14:02:13 -0500 (Sat, 27 Sep 2008) | 1 line

  raise errors when 2to3 is used as a library
........
  r66649 | benjamin.peterson | 2008-09-27 14:03:38 -0500 (Sat, 27 Sep 2008) | 1 line

  fix docstring
........
  r66650 | benjamin.peterson | 2008-09-27 14:22:21 -0500 (Sat, 27 Sep 2008) | 1 line

  make use of enumerate
........
  r66651 | benjamin.peterson | 2008-09-27 14:24:13 -0500 (Sat, 27 Sep 2008) | 1 line

  revert last revision; it breaks things
........
  r66652 | benjamin.peterson | 2008-09-27 16:03:06 -0500 (Sat, 27 Sep 2008) | 1 line

  add tests for lib2to3.refactor
........
diff --git a/Lib/lib2to3/main.py b/Lib/lib2to3/main.py
index c092886..02e28e3 100644
--- a/Lib/lib2to3/main.py
+++ b/Lib/lib2to3/main.py
@@ -10,6 +10,20 @@
 from . import refactor
 
 
+class StdoutRefactoringTool(refactor.RefactoringTool):
+    """
+    Prints output to stdout.
+    """
+
+    def log_error(self, msg, *args, **kwargs):
+        self.errors.append((msg, args, kwargs))
+        self.logger.error(msg, *args, **kwargs)
+
+    def print_output(self, lines):
+        for line in lines:
+            print line
+
+
 def main(fixer_pkg, args=None):
     """Main program.
 
@@ -68,7 +82,7 @@
         fixer_names = avail_names if "all" in options.fix else explicit
     else:
         fixer_names = avail_names
-    rt = refactor.RefactoringTool(fixer_names, rt_opts, explicit=explicit)
+    rt = StdoutRefactoringTool(fixer_names, rt_opts, explicit=explicit)
 
     # Refactor all files and directories passed as arguments
     if not rt.errors:
@@ -80,7 +94,3 @@
 
     # Return error status (0 if rt.errors is zero)
     return int(bool(rt.errors))
-
-
-if __name__ == "__main__":
-    sys.exit(main())