From ba4a0cf384519b014a1f120e27aefa6b8c80c73b Mon Sep 17 00:00:00 2001 From: massongit Date: Sun, 26 Nov 2017 17:55:40 +0900 Subject: [PATCH 1/2] Fix to be able to specify node-format option even when using UniDic --- natto/option_parse.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/natto/option_parse.py b/natto/option_parse.py index b25007c..2dc86fa 100644 --- a/natto/option_parse.py +++ b/natto/option_parse.py @@ -2,6 +2,8 @@ '''Helper class for parsing MeCab options.''' import argparse import logging +import shlex + from .support import string_support logger = logging.getLogger('natto.option_parse') @@ -76,7 +78,7 @@ def error(self, message): if type(options) is dict: for name in iter(list(self._SUPPORTED_OPTS.values())): if name in options: - if options[name]: + if options[name] or options[name] is '': val = options[name] if isinstance(val, bytes): val = self.__bytes2str(options[name]) @@ -148,12 +150,12 @@ def error(self, message): help='set cost factor (default 700)', action='store', dest='cost_factor', type=int) - opts = p.parse_args(options.split()) + opts = p.parse_args(shlex.split(options)) for name in iter(list(self._SUPPORTED_OPTS.values())): if hasattr(opts, name): v = getattr(opts, name) - if v: + if v or v is '': dopts[name] = v # final checks From 0e0100264cfbebe87bced931543e94facc248643 Mon Sep 17 00:00:00 2001 From: massongit Date: Sun, 26 Nov 2017 18:39:30 +0900 Subject: [PATCH 2/2] Fix to split options --- natto/option_parse.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/natto/option_parse.py b/natto/option_parse.py index 2dc86fa..2f40157 100644 --- a/natto/option_parse.py +++ b/natto/option_parse.py @@ -2,8 +2,6 @@ '''Helper class for parsing MeCab options.''' import argparse import logging -import shlex - from .support import string_support logger = logging.getLogger('natto.option_parse') @@ -150,7 +148,7 @@ def error(self, message): help='set cost factor (default 700)', action='store', dest='cost_factor', type=int) - opts = p.parse_args(shlex.split(options)) + opts = p.parse_args([o.replace('\"', '').replace('\'', '') for o in options.split()]) for name in iter(list(self._SUPPORTED_OPTS.values())): if hasattr(opts, name):