Package: yokadi
Version: 0.13.0-1
First, the version file referenced by --version is missing. See
utils.py.
When running yokadi and using the command t_describe, I get:
Error: *** Yokadi error ***
'NoneType' object has no attribute 'encode'
TL;DR: t_describe fails because new tasks have a description with a
default value of None, rather than "".
I traced it to tui.py:
METHOD: editText(text)
LINE: fl.write(text.encode(ENCODING, "replace"))
Which is called in taskcmd.py:
METHOD: do_t_describe(self, line)
LINE: description = tui.editText(self.cryptoMgr.decrypt(task.description))
Which calls self.cryptoMgr.decrypt(task.description), which returns
None because of the code in cryptutils.py:
METHOD: decrypt(self, data)
CODE:
if not self.isEncrypted(data):
# Just return data as is if it's not encrypted
return data
So I checked if task.description is None. It is. Checking in
dbutils.py where task creation takes place:
METHOD: addTask(projectName, title, keywordDict, interactive=True)
LINE: task = Task(creationDate=datetime.now(), project=project,
title=title, description="", status="new")
And if I print task.description after this line I get None.
Of course is calling the constructor for the Task object, defined in
db.py:
CLASS: Task(SQLObject)
LINE: description = UnicodeCol(default="", notNone=True)
But I got lost at this point.
Thank you,
Carl Strickland
--
Carl Strickland <[email protected]>. keyserver: <http://pgp.mit.edu>
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]