feat(py): grep command
This commit is contained in:
parent
8f01d2f185
commit
a017206120
|
@ -6,12 +6,19 @@ import os
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
def listnotes(filter = ""):
|
def listnotes(filter = "", grep = False):
|
||||||
matching = []
|
matching = []
|
||||||
for i in reversed(range(len(data))):
|
for i in reversed(range(len(data))):
|
||||||
if filter.lower() in data[i]["title"].lower():
|
if filter.lower() in data[i]["title"].lower():
|
||||||
print("[" + str(i) + "]", data[i]["title"])
|
print("[" + str(i) + "]", data[i]["title"])
|
||||||
matching.append(data[i])
|
matching.append(data[i])
|
||||||
|
elif grep and filter.lower() in data[i]["content"].lower():
|
||||||
|
print("[" + str(i) + "]", data[i]["title"])
|
||||||
|
for line in data[i]["content"].split("\n"):
|
||||||
|
if filter.lower() in line.lower():
|
||||||
|
index = line.lower().index(filter.lower())
|
||||||
|
print("\t", line[index:index+30])
|
||||||
|
matching.append(data[i])
|
||||||
return matching
|
return matching
|
||||||
|
|
||||||
def readtextfile(path):
|
def readtextfile(path):
|
||||||
|
@ -89,6 +96,9 @@ while not (command == "quit" or command == "exit" or command == "q"):
|
||||||
elif command[0:3] == "mv ":
|
elif command[0:3] == "mv ":
|
||||||
action = "rename"
|
action = "rename"
|
||||||
command = command[3:]
|
command = command[3:]
|
||||||
|
elif command[0:5] == "grep ":
|
||||||
|
action = "grep"
|
||||||
|
command = command[5:]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
index = int(command)
|
index = int(command)
|
||||||
|
@ -106,11 +116,11 @@ while not (command == "quit" or command == "exit" or command == "q"):
|
||||||
if newname:
|
if newname:
|
||||||
note["title"] = newname
|
note["title"] = newname
|
||||||
savedata()
|
savedata()
|
||||||
elif note:
|
elif note and not action == "grep":
|
||||||
editnote(note)
|
editnote(note)
|
||||||
else:
|
else:
|
||||||
matching = listnotes(command)
|
matching = listnotes(command, action == "grep")
|
||||||
if len(matching) == 0:
|
if len(matching) == 0 and not action == "grep":
|
||||||
if ask("create '" + command + "'? "):
|
if ask("create '" + command + "'? "):
|
||||||
note = {
|
note = {
|
||||||
"title": command,
|
"title": command,
|
||||||
|
|
Loading…
Reference in New Issue