Closed xena68 closed 10 years ago
[Update -- something is still not working correctly even after the fix below.]
I found the error. Same error was causing this to fail:
self.keywords.append({'find': [['turn', '*', 'the', 'outside', 'lights']], 'call': 'outsidelights'})
The fix is in search.py. wildcard_end was being set to 0 instead of -1 in this clause:
if (wildcard_end > -1): wildcards_found[wildcard_counter] = q[wildcard_start:wildcard_end] wildcard_start = 0 wildcard_end = -1
Thank you for the report. I will look for this and try to fix it. Did you try to use a phrase instead of just a single word? Instead of ['turn', '', 'the', 'outside', 'lights']: ['turn', '', 'the outside lights']?
No, I didn't realize that would work. I will try it.
On Sat, May 10, 2014 at 3:15 PM, HcDevel notifications@github.com wrote:
Thank you for the report. I will look for this and try to fix it. Did you try to use a phrase instead of just a single word? Instead of ['turn', '', 'the', 'outside', 'lights']: ['turn', '', 'the outside lights']?
Reply to this email directly or view it on GitHubhttps://github.com/HcDevel/Siri-API/issues/6#issuecomment-42753051 .
I tried self.keywords.append({'find': [['*', 'the', 'garage']], 'call': 'garage'})
and as you described, it didn't work. But with a phrase it works: self.keywords.append({'find': [['*', 'the garage']], 'call': 'garage'})
. Your second example has to look like this: self.keywords.append({'find': [['turn', '*', 'the outside lights']], 'call': 'outsidelights'})
.
In the next version I will redesign the code and make it better documented. Maybe I will also improve the wildcard handling.
Made the changes you suggested and yes, they work now! Thanks you.
Encountered a new problem. The following is not found even though the words and case all come through correctly:
self.keywords.append({'find': [['turn', '', 'the volume', '', 'the', '', 'room'], ['turn', '', 'the volume', '', 'the', '']], 'call': 'volumeupdown'})
I can't test it right now but I think you just forgot the stars to declare the wildcards.
That did paste strange in the post, but the asterisks are there in the code.
I found your problem and solved it. I added a solution in the issue #6 branch which you can find here: https://github.com/HcDevel/Siri-API/tree/Issue-%236. To download it with git you can run this command: git clone https://github.com/HcDevel/Siri-API.git -b Issue-#6
.
Please let me know if this worked for you.
Yes, that worked. Thanks.
Thank you for the testing. I just merged the code to the master repository. I didn't change anything else so you don't have to update again.
I tried to use wildcards[0] to reflect "open" or "close" with this keyword statement, however, it does not work. I suspect the problem is using "*" as the first search phrase.
self.keywords.append({'find': [['*', 'the', 'garage']], 'call': 'garage'})