aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure35
-rw-r--r--extraponies/.info3
-rw-r--r--extrattyponies/.info3
-rwxr-xr-xponysay51
4 files changed, 72 insertions, 20 deletions
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,18 +58,28 @@ 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
+ '''
+ def __bestpony(self, args):
if (args.opts['-f'] is None) or (args.opts['-q'] is None) or (len(args.opts['-q']) == 0):
for ponydir in ponydirs:
if os.path.isfile(ponydir + 'best.pony') or os.path.islink(ponydir + 'best.pony'):
@@ -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
'''
@@ -1597,6 +1611,12 @@ pipelineerr = not sys.stderr.isatty()
'''
+Whether KMS is used
+'''
+usekms = Ponysay.isUsingKMS()
+
+
+'''
Root share/ directories
'''
sharedirs = []
@@ -1607,18 +1627,28 @@ 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
'''
quotedirs = []
@@ -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()