From cbbb9be76c7ab4d7bec9c7f7afea3dda8fd949b6 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 22 Aug 2012 15:50:42 +0200 Subject: Non-TV ponies --- configure | 35 +++++++++++++++++++++++++---------- extraponies/.info | 3 +++ extrattyponies/.info | 3 +++ ponysay | 51 +++++++++++++++++++++++++++++++++++++++++---------- 4 files changed, 72 insertions(+), 20 deletions(-) create mode 100644 extraponies/.info create mode 100644 extrattyponies/.info diff --git a/configure b/configure index 6f8b57d..5c63dd3 100755 --- a/configure +++ b/configure @@ -6,7 +6,7 @@ INFODESC=\''My Little Ponies for your terminal'\' SHELL='bash' completions='completion/bash-completion.sh completion/fish-completion.fish completion/zsh-completion.zsh' -shareDirs='ponies ttyponies quotes balloons' +shareDirs='ponies ttyponies quotes balloons extraponies extrattyponies' manFiles='manuals/manpage.6 manuals/manpage.es.6' licenseFiles='COPYING' @@ -360,15 +360,30 @@ EOF ttyponies: mkdir -p "ttyponies" - for pony in \$\$(ls --color=no "ponies/"); do \\ - echo "building ttypony: \$\$pony" ;\\ - if [ "\`readlink "ponies/\$\$pony"\`" = '' ]; then \\ - ponysay2ttyponysay < "ponies/\$\$pony" | tty2colourfultty -c 1 > "ttyponies/\$\$pony" ;\\ - git add "ttyponies/\$\$pony" ;\\ - else \\ - ln -sf \`readlink "ponies/\$\$pony"\` "ttyponies/\$\$pony" ;\\ - git add "ttyponies/\$\$pony" ;\\ - fi ;\\ + for pony in \$\$(ls --color=no "ponies/"); do \\ + if [ 1 "\$\$pony" = '.info' ]; then \\ + echo "building ttypony: \$\$pony" ;\\ + if [ "\`readlink "ponies/\$\$pony"\`" = '' ]; then \\ + ponysay2ttyponysay < "ponies/\$\$pony" | tty2colourfultty -c 1 > "ttyponies/\$\$pony" ;\\ + git add "ttyponies/\$\$pony" ;\\ + else \\ + ln -sf \`readlink "ponies/\$\$pony"\` "ttyponies/\$\$pony" ;\\ + git add "ttyponies/\$\$pony" ;\\ + fi ;\\ + fi ;\\ + done + mkdir -p "extrattyponies" + for pony in \$\$(ls --color=no "extraponies/"); do \\ + if [ 1 "\$\$pony" = '.info' ]; then \\ + echo "building extrattypony: \$\$pony" ;\\ + if [ "\`readlink "extraponies/\$\$pony"\`" = '' ]; then \\ + ponysay2ttyponysay < "extraponies/\$\$pony" | tty2colourfultty -c 1 > "extrattyponies/\$\$pony" ;\\ + git add "extrattyponies/\$\$pony" ;\\ + else \\ + ln -sf \`readlink "extraponies/\$\$pony"\` "extrattyponies/\$\$pony" ;\\ + git add "extrattyponies/\$\$pony" ;\\ + fi ;\\ + fi ;\\ done pdfmanual: diff --git a/extraponies/.info b/extraponies/.info new file mode 100644 index 0000000..12d5bea --- /dev/null +++ b/extraponies/.info @@ -0,0 +1,3 @@ +Dummy file for this directory as it is otherwise empty. + +Non-MLP:FiM ponies should be placed here. diff --git a/extrattyponies/.info b/extrattyponies/.info new file mode 100644 index 0000000..333e827 --- /dev/null +++ b/extrattyponies/.info @@ -0,0 +1,3 @@ +Dummy file for this directory as it is otherwise empty. + +Non-MLP:FiM ttyponies should be placed here. diff --git a/ponysay b/ponysay index 9fc8c70..62f6834 100755 --- a/ponysay +++ b/ponysay @@ -58,14 +58,24 @@ class Ponysay(): else: self.__bestpony(args) self.__ucsremap(args) + self.__extraponies(args) if args.opts['-q'] is not None: self.quote(args) else: self.print_pony(args) ## - ## Auxiliary methods + ## Methods that run in the beginning of non-listing and non-help stuff ## + ''' + Use best.pony if nothing else is set + ''' + def __bestpony(self, args): + if args.opts['-F'] is not None: + args.opts['-f'] = args.opts['-F'] + ponydirs = extraponydirs + + ''' Use best.pony if nothing else is set ''' @@ -118,6 +128,10 @@ class Ponysay(): args.opts[flag][i] = map[args.opts[flag][i]] + ## + ## Auxiliary methods + ## + ''' Apply USC:ise pony names according to UCS settings ''' @@ -1596,6 +1610,12 @@ Whether stderr is piped pipelineerr = not sys.stderr.isatty() +''' +Whether KMS is used +''' +usekms = Ponysay.isUsingKMS() + + ''' Root share/ directories ''' @@ -1607,17 +1627,27 @@ for sharedir in _sharedirs: ''' -The directories where pony files are stored, ttyponies/ are used if the terminal is Linux VT (also known as TTY) +The directories where pony files are stored, ttyponies/ are used if the terminal is Linux VT (also known as TTY) and not with KMS ''' ponydirs = [] -_kms = Ponysay.isUsingKMS() -if linuxvt and not _kms: _ponydirs = [d + 'ttyponies/' for d in sharedirs] -else: _ponydirs = [d + 'ponies/' for d in sharedirs] +if linuxvt and not usekms: _ponydirs = [d + 'ttyponies/' for d in sharedirs] +else: _ponydirs = [d + 'ponies/' for d in sharedirs] for ponydir in _ponydirs: if os.path.isdir(ponydir): ponydirs.append(ponydir) +''' +The directories where pony files are stored, extrattyponies/ are used if the terminal is Linux VT (also known as TTY) and not with KMS +''' +extraponydirs = [] +if linuxvt and not usekms: _extraponydirs = [d + 'extrattyponies/' for d in sharedirs] +else: _extraponydirs = [d + 'extraponies/' for d in sharedirs] +for extraponydir in _extraponydirs: + if os.path.isdir(extraponydir): + extraponydirs.append(extraponydir) + + ''' The directories where quotes files are stored ''' @@ -1638,11 +1668,11 @@ for balloondir in _balloondirs: balloondirs.append(balloondir) -usage_saythink = '\033[34;1m(ponysay | ponythink)\033[21;39m' -usage_common = '[-c] [-W \033[4mCOLUMN\033[24m] [-b \033[4mSTYLE\033[24m]' -usage_listhelp = '(-l | -L | -B | -v | -h)' -usage_file = '[-f \033[4mPONY\033[24m]... ([--] \033[4mmessage\033[24m | <<<\033[4mmessage\033[24m)' -usage_quote = '-q [\033[4mPONY\033[24m...]' +usage_saythink = '\033[34;1m(ponysay | ponythink)\033[21;39m' +usage_common = '[-c] [-W \033[4mCOLUMN\033[24m] [-b \033[4mSTYLE\033[24m]' +usage_listhelp = '(-l | -L | -B | -v | -h)' +usage_file = '[(-f | -F) \033[4mPONY\033[24m]... ([--] \033[4mmessage\033[24m | <<<\033[4mmessage\033[24m)' +usage_quote = '-q [\033[4mPONY\033[24m...]' usage = '%s %s\n%s %s %s\n%s %s %s' % (usage_saythink, usage_listhelp, usage_saythink, usage_common, usage_file, @@ -1677,6 +1707,7 @@ opts.add_argumentless(['-c', '--compact'], help = opts.add_argumented( ['-W', '--wrap'], arg = 'COLUMN', help = 'Specify the column when the message should be wrapped.') opts.add_argumented( ['-b', '--bubble', '--balloon'], arg = 'STYLE', help = 'Select a balloon style.') opts.add_argumented( ['-f', '--file', '--pony'], arg = 'PONY', help = 'Select a pony.\nEither a file name or a pony name.') +opts.add_argumented( ['-F', '++file', '++pony'], arg = 'PONY', help = 'Select a non-MLP:FiM pony.') opts.add_variadic( ['-q', '--quote'], arg = 'PONY', help = 'Select a ponies which will quote themself.') opts.parse() -- cgit