mirror of
https://github.com/erkin/ponysay.git
synced 2025-01-31 10:26:43 +01:00
split out logic for the message
Signed-off-by: Mattias Andrée <maandree@operamail.com>
This commit is contained in:
parent
2b0cea8e0c
commit
0d73716fce
1 changed files with 39 additions and 18 deletions
|
@ -896,20 +896,10 @@ class Ponysay():
|
||||||
## TODO +q -Q
|
## TODO +q -Q
|
||||||
(pony, quote) = self.__getPony(selection, args)
|
(pony, quote) = self.__getPony(selection, args)
|
||||||
|
|
||||||
## Get message and remove tailing whitespace from stdin (but not for each line)
|
## Get message and manipulate it
|
||||||
msg = None
|
msg = self.__getMessage(args, quote)
|
||||||
if quote is not None:
|
msg = self.__colouriseMessage(args, msg)
|
||||||
msg = quote
|
msg = self.__compressMessage(args, msg)
|
||||||
elif args.message is None:
|
|
||||||
msg = ''.join(sys.stdin.readlines()).rstrip()
|
|
||||||
else:
|
|
||||||
msg = args.message
|
|
||||||
if args.opts['--colour-msg'] is not None:
|
|
||||||
msg = '\033[' + ';'.join(args.opts['--colour-msg']) + 'm' + msg
|
|
||||||
|
|
||||||
## This algorithm should give some result as cowsay's (according to tests)
|
|
||||||
if args.opts['-c'] is not None:
|
|
||||||
msg = self.__compressMessage(msg)
|
|
||||||
|
|
||||||
## Print info
|
## Print info
|
||||||
printinfo('pony file: ' + pony)
|
printinfo('pony file: ' + pony)
|
||||||
|
@ -997,13 +987,44 @@ class Ponysay():
|
||||||
print(output)
|
print(output)
|
||||||
|
|
||||||
|
|
||||||
def __compressMessage(self, msg):
|
def __getMessage(self, args, quote):
|
||||||
'''
|
'''
|
||||||
This algorithm should give some result as cowsay's
|
Get message and remove tailing whitespace from stdin (but not for each line)
|
||||||
|
|
||||||
|
@param args:ArgParser Command line options
|
||||||
|
@param quote:str? The quote, or `None` if none
|
||||||
|
@return :str The message
|
||||||
|
'''
|
||||||
|
if quote is not None:
|
||||||
|
return quote
|
||||||
|
if args.message is None:
|
||||||
|
return ''.join(sys.stdin.readlines()).rstrip()
|
||||||
|
return args.message
|
||||||
|
|
||||||
|
|
||||||
|
def __colouriseMessage(self, args, msg):
|
||||||
|
'''
|
||||||
|
Colourise message if option is set
|
||||||
|
|
||||||
|
@param args:ArgParser Command line options
|
||||||
|
@param msg:str The message
|
||||||
|
@return :str The message colourised
|
||||||
|
'''
|
||||||
|
if args.opts['--colour-msg'] is not None:
|
||||||
|
msg = '\033[' + ';'.join(args.opts['--colour-msg']) + 'm' + msg
|
||||||
|
return msg
|
||||||
|
|
||||||
|
|
||||||
|
def __compressMessage(self, args, msg):
|
||||||
|
'''
|
||||||
|
This algorithm should give some result as cowsay's, if option is set
|
||||||
|
|
||||||
|
@param args:ArgParser Command line options
|
||||||
@param msg:str The message
|
@param msg:str The message
|
||||||
@return :str The message compressed
|
@return :str The message compressed
|
||||||
'''
|
'''
|
||||||
|
if args.opts['-c'] is None:
|
||||||
|
return msg
|
||||||
buf = ''
|
buf = ''
|
||||||
last = ' '
|
last = ' '
|
||||||
CHARS = '\t \n'
|
CHARS = '\t \n'
|
||||||
|
|
Loading…
Reference in a new issue