Case 2
unknown
python
4 years ago
3.7 kB
11
Indexable
import os
import json
todo = []
def clear():
if os.name == 'nt':
os.system('cls')
elif os.name == 'posix':
os.system('clear')
def menu():
print('*****************************')
print(' Todoify ')
print('-----------------------------')
print('list | List todos ')
print('add | Add todo ')
print('check | Check todo ')
print('delete | Delete todo ')
print('-----------------------------')
print('save | Save todos to file ')
print('load | Load todos from file')
print('-----------------------------')
def add():
print('-----------------------------')
itemToAdd = input('Todo description > ')
todo.append(['[ ]',itemToAdd])
print('-----------------------------')
print('\nSUCCESS: Todo added\n')
def list_todo():
print('-----------------------------')
for item in todo:
print (item[0], item[1])
def check():
print('-----------------------------')
for index, item in enumerate(todo):
print (index, '|', item[0], item[1])
print('-----------------------------')
indexOfItemToCheck = input('Todo index > ')
try:
indexOfItemToCheck = int(indexOfItemToCheck)
if todo[indexOfItemToCheck][0] == '[X]':
todo[indexOfItemToCheck][0] = '[ ]'
print('-----------------------------')
print('\nSUCCESS: CHECKED -> UNCHECKED\n')
elif todo[indexOfItemToCheck][0] == '[ ]':
todo[indexOfItemToCheck][0] = '[X]'
print('-----------------------------')
print('\nSUCCESS: UNCHECKED -> CHECKED\n')
except IndexError:
print('-----------------------------')
print('\nERROR: ', indexOfItemToCheck, ' is not a valid index\n')
except ValueError:
print('-----------------------------')
print('\nERROR: ', indexOfItemToCheck, ' is not a valid integer\n')
def delete():
print('-----------------------------')
for index, item in enumerate(todo):
print (index,' | ', item[0], item[1])
print('-----------------------------')
indexOfItemToDelete = input('Todo index > ')
try:
indexOfItemToDelete = int(indexOfItemToDelete)
del todo[indexOfItemToDelete]
print('-----------------------------')
print('\nSUCCESS: Todo deleted\n')
except IndexError:
print('-----------------------------')
print('\nERROR: ',indexOfItemToDelete, ' is not a valid index\n')
except ValueError:
print('-----------------------------')
print('\nERROR: ',indexOfItemToDelete, ' is not a valid integer\n')
def saveToFileAsJson():
print('-----------------------------')
file = open('case2fil.json','w')
list_json = json.dumps(todo)
file.write(list_json)
file.close()
print('\nSUCCESS: Todos saved to file\n')
def loadFromJsonFile():
print('-----------------------------')
filejson = open('case2fil.json')
todo = json.loads(filejson.read())
filejson.close()
print('\nSUCCESS: Todos loaded from file\n')
while True:
clear()
menu()
selection = input('Selection > ').lower()
if selection == 'list':
list_todo()
elif selection == 'add':
add()
elif selection == 'check':
check()
elif selection == 'delete':
delete()
elif selection == 'save':
saveToFileAsJson()
elif selection == 'load':
loadFromJsonFile()
else:
print('-----------------------------')
print('\nERROR: Unknown command', '(' + selection + ')\n')
print('-----------------------------')
input('Press enter to continue...')
Editor is loading...