diff babel/messages/frontend.py @ 119:c84f629da9de

Made new frontend tests more ''unit-y'', i.e. calling the APIs directly instead of launching the scripts.
author cmlenz
date Fri, 15 Jun 2007 19:26:35 +0000
parents eeed857fa3d5
children 03f106700f02
line wrap: on
line diff
--- a/babel/messages/frontend.py
+++ b/babel/messages/frontend.py
@@ -101,7 +101,8 @@
 
     def initialize_options(self):
         self.charset = 'utf-8'
-        self.keywords = self._keywords = DEFAULT_KEYWORDS.copy()
+        self.keywords = ''
+        self._keywords = DEFAULT_KEYWORDS.copy()
         self.no_default_keywords = False
         self.mapping_file = None
         self.no_location = False
@@ -123,10 +124,11 @@
                                        'disable the default ones')
         if self.no_default_keywords:
             self._keywords = {}
-        if isinstance(self.keywords, basestring):
+        if self.keywords:
             self._keywords.update(parse_keywords(self.keywords.split()))
-        self.keywords = self._keywords
 
+        if not self.output_file:
+            raise DistutilsOptionError('no output file specified')
         if self.no_wrap and self.width:
             raise DistutilsOptionError("'--no-wrap' and '--width' are mutually "
                                        "exclusive")
@@ -170,7 +172,7 @@
                              % (filepath, optstr))
 
                 extracted = extract_from_dir(dirname, method_map, options_map,
-                                             keywords=self.keywords,
+                                             keywords=self._keywords,
                                              comment_tags=self._add_comments,
                                              callback=callback)
                 for filename, lineno, message, comments in extracted:
Copyright (C) 2012-2017 Edgewall Software