mirror of
https://github.com/cheat/cheat.git
synced 2024-11-16 08:58:28 +01:00
Some minor modification (open inside the generator for better readability) + one bug fixe (the last block wasnt yiel by the generator)
This commit is contained in:
parent
d85fab763b
commit
69428a7279
1 changed files with 20 additions and 17 deletions
37
cheat
37
cheat
|
@ -179,26 +179,29 @@ class CheatSheets(object):
|
|||
return ('\n'.join(sorted(['%s [%s]' % (key.ljust(max_command), value)
|
||||
for key, value in self.sheets.items()])))
|
||||
|
||||
def __parse_cheat_command_block(self, cheat_fp):
|
||||
def __parse_cheat_command_block(self, cheat):
|
||||
"""Parse text blocks inside specified sheet file"""
|
||||
block = ""
|
||||
for line in cheat_fp.readlines():
|
||||
if line == '\n' or line == '':
|
||||
yield block
|
||||
block = ""
|
||||
else:
|
||||
block += line
|
||||
path = os.path.join(self.sheets[cheat], cheat)
|
||||
with open(path) as fp:
|
||||
for line in fp.readlines():
|
||||
if line == '\n':
|
||||
yield block
|
||||
block = ""
|
||||
else:
|
||||
block += line
|
||||
yield block
|
||||
|
||||
def search(self, term):
|
||||
for sheet, sheet_dir in self.sheets.iteritems():
|
||||
path = os.path.join(sheet_dir, sheet)
|
||||
with open(path) as f:
|
||||
output = ''
|
||||
for block in self.__parse_cheat_command_block(f):
|
||||
if term in block:
|
||||
if not output:
|
||||
output = sheet + ":\n"
|
||||
output += ''.join([" " + line + '\n' for line
|
||||
in block.split('\n')])
|
||||
"""Search for a term in sheetcheats"""
|
||||
for cheat in self.sheets.keys():
|
||||
output = ''
|
||||
for block in self.__parse_cheat_command_block(cheat):
|
||||
if term in block:
|
||||
if not output:
|
||||
output = cheat + ":\n"
|
||||
output += ''.join([" " + line + '\n' for line
|
||||
in block.split('\n')])
|
||||
if output:
|
||||
print output,
|
||||
|
||||
|
|
Loading…
Reference in a new issue