diff options
-rwxr-xr-x | ponysay.py | 21 | ||||
-rwxr-xr-x | ponysay.sh | 28 |
2 files changed, 17 insertions, 32 deletions
@@ -28,11 +28,17 @@ INSTALLDIR = '/usr' ''' +The user's home directory +''' +HOME = os.environ['HOME'] + + +''' The directories where pony files are stored, ttyponies/ are used if the terminal is Linux VT (also known as TTY) ''' ponydirs = [] -if os.environ['TERM'] == 'linux': _ponydirs = [INSTALLDIR + '/share/ponysay/ttyponies/', os.environ['HOME'] + '/.local/share/ponysay/ttyponies/'] -else: _ponydirs = [INSTALLDIR + '/share/ponysay/ponies/', os.environ['HOME'] + '/.local/share/ponysay/ponies/' ] +if os.environ['TERM'] == 'linux': _ponydirs = [INSTALLDIR + '/share/ponysay/ttyponies/', HOME + '/.local/share/ponysay/ttyponies/'] +else: _ponydirs = [INSTALLDIR + '/share/ponysay/ponies/', HOME + '/.local/share/ponysay/ponies/' ] for ponydir in _ponydirs: if os.path.isdir(ponydir): ponydirs.append(ponydir) @@ -42,7 +48,7 @@ for ponydir in _ponydirs: The directories where quotes files are stored ''' quotedirs = [] -_quotedirs = [INSTALLDIR + '/share/ponysay/quotes/', os.environ['HOME'] + '/.local/share/ponysay/quotes/'] +_quotedirs = [INSTALLDIR + '/share/ponysay/quotes/', HOME + '/.local/share/ponysay/quotes/'] for quotedir in _quotedirs: if os.path.isdir(quotedir): quotedirs.append(quotedir) @@ -270,8 +276,15 @@ class ponysay(): def print_pony(self, args): + ponycount = 0 + for ponydir in ponydirs: + ponycount = len(os.listdir(ponydir)) + if ponycount == 0: + sys.stderr.write('All the ponies are missing! Call the Princess!') + exit(1); + if args.message == None: - msg = sys.stdin.read().strip() + msg = sys.stdin.read() else: msg = args.message @@ -60,40 +60,12 @@ fi -# Marks ponies in lists that have quotes -qoutelist() { - bash -c "$("$qlistcmd" $("$quotecmd" --list))" -} - # Pony quotes ponyquotes() { [ "$TERM" = "-linux-" ] && TERM="linux" "$0" ${wrap:+-W$wrap} $("$quotecmd" $@) } -# Usage help print function -usage() { - version - cat <<EOF - -Usage: -${0##*/} [options] [message] - -If [message] is not provided, reads the message from STDIN. - -Options: - -v Show version and exit. - -h Show this help and exit. - -l List pony files. - -L List pony files with synonyms inside brackets. - -q Use the pony quote feature. - -f[name] Select a pony (either a file name or a pony name.) - -W[column] The screen column where the message should be wrapped. - -See man ponysay(6) for more information. -EOF -} - # Function for printing the ponies and the message say() { # Ponies use UTF-8 drawing characters. Prevent a Perl warning. |