mirror of
https://github.com/erkin/ponysay.git
synced 2024-11-29 23:48:00 +01:00
bold outpont in --list on ponies with quotes
This commit is contained in:
parent
f14e7b6c06
commit
feeaa47ad8
1 changed files with 29 additions and 1 deletions
30
ponysay.py
30
ponysay.py
|
@ -53,6 +53,31 @@ class ponysay():
|
||||||
else: self.print_pony(args)
|
else: self.print_pony(args)
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Returns a set with all ponies that have quotes and is displayable
|
||||||
|
'''
|
||||||
|
def __quoters(self):
|
||||||
|
quotes = []
|
||||||
|
quoteshash = set()
|
||||||
|
_quotes = [item[:item.index('.')] for item in os.listdir(INSTALLDIR + '/share/ponysay/quotes/')]
|
||||||
|
for quote in _quotes:
|
||||||
|
if not quote[0] == '.':
|
||||||
|
if not quote in quoteshash:
|
||||||
|
quoteshash.add(quote)
|
||||||
|
quotes.append(quote)
|
||||||
|
|
||||||
|
ponies = set()
|
||||||
|
for ponydir in ponydirs:
|
||||||
|
for pony in os.listdir(ponydir):
|
||||||
|
if not pony[0] == '.':
|
||||||
|
p = pony[:-5] # remove .pony
|
||||||
|
for quote in quotes:
|
||||||
|
if ('+' + p + '+') in ('+' + quote + '+'):
|
||||||
|
if not p in ponies:
|
||||||
|
ponies.add(p)
|
||||||
|
|
||||||
|
return ponies
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Lists the available ponies
|
Lists the available ponies
|
||||||
'''
|
'''
|
||||||
|
@ -60,6 +85,8 @@ class ponysay():
|
||||||
termsize = Popen(['stty', 'size'], stdout=PIPE).communicate()[0].decode('utf8', 'replace')[:-1].split(" ")
|
termsize = Popen(['stty', 'size'], stdout=PIPE).communicate()[0].decode('utf8', 'replace')[:-1].split(" ")
|
||||||
termsize = [int(item) for item in termsize]
|
termsize = [int(item) for item in termsize]
|
||||||
|
|
||||||
|
quoters = self.__quoters()
|
||||||
|
|
||||||
for ponydir in ponydirs: # Loop ponydirs
|
for ponydir in ponydirs: # Loop ponydirs
|
||||||
print('\033[1mponyfiles located in ' + ponydir + '\033[21m')
|
print('\033[1mponyfiles located in ' + ponydir + '\033[21m')
|
||||||
|
|
||||||
|
@ -71,7 +98,8 @@ class ponysay():
|
||||||
|
|
||||||
x = 0
|
x = 0
|
||||||
for pony in ponies:
|
for pony in ponies:
|
||||||
print(pony + (" " * (width - len(pony))), end="") # Print ponyfilename
|
spacing = ' ' * (width - len(pony))
|
||||||
|
print(('\033[1m' + pony + '\033[21m' if (pony in quoters) else pony) + spacing, end="") # Print ponyfilename
|
||||||
x += width
|
x += width
|
||||||
if x > (termsize[1] - width): # If too wide, make new line
|
if x > (termsize[1] - width): # If too wide, make new line
|
||||||
print();
|
print();
|
||||||
|
|
Loading…
Reference in a new issue