Twython ключевые слова и светодиоды
Я создаю проект, используя Raspberry Pi и ягодный клип. Поэтому я запрограммировал это (используя twython), код ищет твиттеры с определенным ключевым словом, которое вводит пользователь, и когда он находит его, он показывает твит и светодиодную вспышку. Я хочу расширить это на своем ягодном клипе и использовать все 6 светодиодов с 6 различными ключевыми словами. Мне удалось запрограммировать его на поиск по 6 ключевым словам, но до сих пор я не могу понять, как сделать каждый светодиод зависимым от ключевого слова. Например, если поток находит первое ключевое слово, первый светодиод будет мигать. Если он найдет второе ключевое слово, то второй светодиод будет мигать и т. Д., И т. Д. Я пытался использовать операторы if внутри первого оператора if (if 'text' in data:
) добавляя if TERMS in 'text':
но это не сработало. Это мой код до сих пор:
#!/usr/bin/python
import time
import RPi.GPIO as GPIO
from twython import TwythonStreamer
ledList=[4,17,22,10,9,11]
GPIO.setmode(GPIO.BCM)
GPIO.setup(ledList,GPIO.OUT)
TERMS=(raw_input("Please type the first keyword"));
TERMS2=(raw_input("Please type the second keyword"));
TERMS3=(raw_input("Please type the third keyword"));
TERMS4=(raw_input("Please type the fourth keyword"));
TERMS5=(raw_input("Please type the fifth keyword"));
TERMS6=(raw_input("Please type the sixth keyword"));
termsList=[TERMS,TERMS1,TERMS2,TERMS3,TERMS4,TERMS5,TERMS6]
APP_KEY='xxxxxxxxxxxx'
APP_SECRET='xxxxxxxxx'
OAUTH_TOKEN='xxxxxxxxx'
OAUTH_TOKEN_SECRET='xxxxxxxxx'
class streamer(TwythonStreamer):
def success(self,data):
if 'text' in data:
tweet_data=data['text'].encode('utf-8')
print (tweet_data)
GPIO.output(4,True)
time.sleep(1)
GPIO.output(4,False)
try:
stream = streamer(APP_KEY,APP_SECRET,OAUTH_TOKEN,OAUTH_TOKEN_SECRET)
stream.statuses.filter(track=termsList)
except KeyboardInterrupt:
print ('ending')
GPIO.cleanup()
1 ответ
Как вы и сказали, вам нужно проверить, какой термин содержится в тексте твита. (Я не знаю много о Raspberry Pi, но я думаю, что следующее будет освещать i-й, когда i-й термин найден в твите)
class streamer(TwythonStreamer):
def success(self,data):
if 'text' in data:
tweet_data=data['text'].encode('utf-8')
for i, term in enumerate(termList):
if term in tweet_data:
GPIO.output(i,True)
time.sleep(1)
GPIO.output(i,False)