Esempio n. 1
0
 def _repl():
     while True:
         lang = self.lang or raw_input(color("Lang: ", "magenta"))
         try:
             lang = get_lang(lang)
             logger.info("** " + color(type(lang).__name__, "green") + " is selected")
             break
         except Exception, e:
             logger.error(color(e, "red"))
             self.lang = None
Esempio n. 2
0
 def _repl():
     while True:
         lang = self.lang or raw_input(color('Lang: ', 'magenta'))
         try:
             lang = get_lang(lang)
             logger.info('** ' + color(type(lang).__name__, 'green') +
                         ' is selected')
             break
         except Exception, e:
             logger.error(color(e, 'red'))
             self.lang = None
Esempio n. 3
0
 def _repl():
     while True:
         lang = self.lang or raw_input(color('Lang: ', 'magenta'))
         try:
             lang = get_lang(lang)
             logger.info('** ' + color(type(lang).__name__, 'green') + \
                         ' is selected')
             break
         except HangulizeError, e:
             logger.error(color(e, 'red'))
             self.lang = None
Esempio n. 4
0
 def run(self):
     langs = hangulize.langs.get_list()
     examples = []
     for lang in (x.replace('.', '_') for x in langs):
         mod = getattr(__import__('tests.%s' % lang), lang)
         case = [x for x in dir(mod) if x.endswith('TestCase') and \
                                        not x.startswith('Hangulize')][0]
         examples += getattr(mod, case).get_examples().keys()
     print_('Supported languages:', end=' ')
     print_(color(len(langs), 'cyan'))
     print_('Prepared examples:', end=' ')
     print_(color(len(examples), 'cyan'))
Esempio n. 5
0
 def assert_examples(self, examples, lang=None, logger=None):
     cls = type(self)
     # store examples
     if getattr(cls, '_store_examples', False):
         cls._stored_examples.update(examples)
         return
     errors = []
     lang = lang or self.lang
     if isinstance(lang, basestring):
         lang = hangulize.get_lang(lang)
     try:
         lang_name = type(lang).__name__
     except AttributeError:
         lang_name = 'AnonymouseLanguage'
     for word, want in examples.items():
         try:
             got = lang.hangulize(word, logger=logger)
             assert want == got
         except self.failureException:
             errors.append((word, want, got))
     if errors:
         def form(error):
             return " * '%s' should be '%s', but '%s' was given" % (
                 color(error[0], 'cyan'),
                 color(error[1], 'green'),
                 color(error[2], 'red')
             )
         errors = map(form, errors)
         msg = color(lang_name, 'yellow') + '\n' + '\n'.join(errors)
         raise HangulizeAssertionError(msg.encode('utf-8'))
Esempio n. 6
0
 def _repl():
     while True:
         lang = self.lang or raw_input(color('Lang: ', 'magenta'))
         try:
             lang = get_lang(lang)
             logger.info('** ' + color(type(lang).__name__, 'green') +
                         ' is selected')
             break
         except Exception as e:
             logger.error(color(e, 'red'))
             self.lang = None
     while True:
         string = raw_input(color('==> ', 'cyan'))
         if not string:
             logger.info('** ' + color('End', 'green'))
             break
         yield lang.hangulize(string.decode(encoding), logger=logger)
Esempio n. 7
0
 def _repl():
     while True:
         lang = self.lang or raw_input(color('Lang: ', 'magenta'))
         try:
             lang = get_lang(lang)
             logger.info('** ' + color(type(lang).__name__, 'green') +
                         ' is selected')
             break
         except Exception as e:
             logger.error(color(e, 'red'))
             self.lang = None
     while True:
         string = raw_input(color('==> ', 'cyan'))
         if not string:
             logger.info('** ' + color('End', 'green'))
             break
         yield lang.hangulize(string.decode(encoding), logger=logger)
Esempio n. 8
0
 def handle(self, record):
     msg = self.readably(record.msg)
     # keywords
     maxlen = max([len(x) for x in self.color_map.keys()])
     def deco(color_name):
         def replace(m):
             pad = ' ' * (maxlen - len(m.group(1)))
             return color(m.group(1), color_name) + pad
         return replace
     for keyword, color_name in self.color_map.items():
         msg = re.sub(r'(?<=\t)(%s)' % keyword, deco(color_name), msg)
     # result
     msg = re.sub(r'(?<=^\=\>)(.*)$', color(r'\1', 'yellow'), msg)
     # step
     msg = re.sub(r'^(>>|\.\.)', color(r'\1', 'blue'), msg)
     msg = re.sub(r'^(=>)', color(r'\1', 'magenta'), msg)
     # arrow
     msg = re.sub(r'(->)(?= [^ ]+$)', color(r'\1', 'black'), msg)
     record.msg = msg
     return logging.StreamHandler.handle(self, record)
Esempio n. 9
0
 def handle(self, record):
     msg = self.readably(record.msg)
     # keywords
     maxlen = max([len(x) for x in self.color_map.keys()])
     def deco(color_name):
         def replace(m):
             pad = ' ' * (maxlen - len(m.group(1)))
             return color(m.group(1), color_name) + pad
         return replace
     for keyword, color_name in self.color_map.items():
         msg = re.sub(r'(?<=\t)(%s)' % keyword, deco(color_name), msg)
     # result
     msg = re.sub(r'(?<=^\=\>)(.*)$', color(r'\1', 'yellow'), msg)
     # step
     msg = re.sub(r'^(>>|\.\.)', color(r'\1', 'blue'), msg)
     msg = re.sub(r'^(=>)', color(r'\1', 'magenta'), msg)
     # arrow
     msg = re.sub(r'(->)(?= [^ ]+$)', color(r'\1', 'black'), msg)
     record.msg = msg
     return logging.StreamHandler.handle(self, record)
Esempio n. 10
0
 def run(self):
     import sys
     logger = make_logger()
     encoding = sys.stdout.encoding
     def _repl():
         while True:
             lang = self.lang or raw_input(color('Lang: ', 'magenta'))
             try:
                 lang = get_lang(lang)
                 logger.info('** ' + color(type(lang).__name__, 'green') + \
                             ' is selected')
                 break
             except HangulizeError, e:
                 logger.error(color(e, 'red'))
                 self.lang = None
         while True:
             string = raw_input(color('==> ', 'cyan'))
             if not string:
                 logger.info('** ' + color('end', 'green'))
                 break
             yield lang.hangulize(string.decode(encoding), logger=logger)
Esempio n. 11
0
    def run(self):
        import sys

        logger = make_logger()
        encoding = sys.stdout.encoding

        def _repl():
            while True:
                lang = self.lang or raw_input(color("Lang: ", "magenta"))
                try:
                    lang = get_lang(lang)
                    logger.info("** " + color(type(lang).__name__, "green") + " is selected")
                    break
                except Exception, e:
                    logger.error(color(e, "red"))
                    self.lang = None
            while True:
                string = raw_input(color("==> ", "cyan"))
                if not string:
                    logger.info("** " + color("End", "green"))
                    break
                yield lang.hangulize(string.decode(encoding), logger=logger)
Esempio n. 12
0
    def handle(self, record):
        msg = self.readably(record.msg)
        # keywords
        maxlen = max([len(x) for x in self.color_map.keys()])

        def deco(color_name):
            def replace(m):
                pad = " " * (maxlen - len(m.group(1)))
                return color(m.group(1), color_name) + pad

            return replace

        for keyword, color_name in self.color_map.items():
            msg = re.sub(r"(?<=\t)(%s)" % keyword, deco(color_name), msg)
        # result
        msg = re.sub(r"(?<=^\=\>)(.*)$", color(r"\1", "yellow"), msg)
        # step
        msg = re.sub(r"^(>>|\.\.)", color(r"\1", "blue"), msg)
        msg = re.sub(r"^(=>)", color(r"\1", "magenta"), msg)
        # arrow
        msg = re.sub(r"(->)(?= [^ ]+$)", color(r"\1", "black"), msg)
        record.msg = msg
        return logging.StreamHandler.handle(self, record)
Esempio n. 13
0
 def replace(m):
     pad = ' ' * (maxlen - len(m.group(1)))
     return color(m.group(1), color_name) + pad
Esempio n. 14
0
 def form(error):
     return " * '%s' should be '%s', but '%s' was given" % (
         color(error[0], 'cyan'),
         color(error[1], 'green'),
         color(error[2], 'red')
     )
Esempio n. 15
0
 def replace(m):
     pad = ' ' * (maxlen - len(m.group(1)))
     return color(m.group(1), color_name) + pad