Hey @xeroc, love your stuff but I found a small bug with this logic:
if c["author"] in authors:
This will be true for substring matches in authors.
So if authors contains a name such as "longtestname"
and c["author"] contains a name such as "name" or "test"
It will evaluate as true
(Python is still new for me)
Thanks for taking a closer look, but since this expression
"a" in ["aa"]evaluates to
Falsein python, I'd say that python interprets all elements ofauthorsindependently and in full. That's becauseauthorsis an array or list.If it was just a single author then you would be right since
"a" in "aa"evaluates to
TrueAgreed?
Just tested this more and found out what the error was:
If you include the single quotes around the array, both statements return True
stringList = '["list","of","strings"]' print("list" in stringList) True print ("li" in stringList) TrueBut if you remove the single quotes around the array, it functions as intended:
stringList = ["list","of","strings"] print("list" in stringList) True print ("li" in stringList) FalseHope this helps!
In the first case, the
stringListis actually a simple string and is not interpreted as an array. that's why the test returns true in both cases.