def start(args): if args["server"]: api.Run(nlp, userin, args["server"]) if Config.TWITTER_CONSUMER_KEY != 'CONSUMER_KEY': auth = OAuthHandler(Config.TWITTER_CONSUMER_KEY, Config.TWITTER_CONSUMER_SECRET) auth.set_access_token(Config.TWITTER_ACCESS_KEY, Config.TWITTER_ACCESS_SECRET) userin.twitter_api = tweepy.API(auth) print("Listening Twitter mentions...") l = MentionListener(args) stream = Stream(auth, l) stream.filter(track=['DragonfireAI'], async=True) elif args["cli"]: while (True): com = raw_input("Enter your command: ") thread.start_new_thread(VirtualAssistant.command, (com, args)) time.sleep(0.5) elif args["gspeech"]: from dragonfire.sr.gspeech import GspeechRecognizer recognizer = GspeechRecognizer() recognizer.recognize(args) else: from dragonfire.sr.deepspeech import DeepSpeechRecognizer recognizer = DeepSpeechRecognizer() recognizer.recognize(args)
def start(args, userin): """Function that starts the virtual assistant with the correct mode according to command-line arguments. Args: args: Command-line arguments. userin: :class:`dragonfire.utilities.TextToAction` instance. """ if args["db"] == "mysql": engine = create_engine('mysql+pymysql://' + Config.MYSQL_USER + ':' + Config.MYSQL_PASS + '@' + Config.MYSQL_HOST + '/' + Config.MYSQL_DB) else: engine = create_engine('sqlite:///dragonfire.db', connect_args={'check_same_thread': False}, echo=True) Base.metadata.create_all(engine) Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) db_session = DBSession() learner.db_session = db_session if args["server"]: import dragonfire.api as API # API of Dragonfire import tweepy # An easy-to-use Python library for accessing the Twitter API from tweepy import OAuthHandler from tweepy import Stream from dragonfire.twitter import MentionListener if Config.TWITTER_CONSUMER_KEY != 'CONSUMER_KEY': auth = OAuthHandler(Config.TWITTER_CONSUMER_KEY, Config.TWITTER_CONSUMER_SECRET) auth.set_access_token(Config.TWITTER_ACCESS_KEY, Config.TWITTER_ACCESS_SECRET) userin.twitter_api = tweepy.API(auth) print("Listening Twitter mentions...") l = MentionListener(args, userin) stream = Stream(auth, l) stream.filter(track=['DragonfireAI'], is_async=True) API.Run(nlp, learner, odqa, dc, coref, userin, args["server"], args["port"], db_session) else: global user_full_name global user_prefix if args["cli"]: her = VirtualAssistant(args, userin, user_full_name, user_prefix) while (True): com = raw_input("Enter your command: ") thread.start_new_thread(her.command, (com, )) time.sleep(0.5) else: from dragonfire.sr import SpeechRecognizer her = VirtualAssistant(args, userin, user_full_name, user_prefix) if args["gspeech"]: recognizer = SpeechRecognizer('gspeech') else: recognizer = SpeechRecognizer('deepspeech') recognizer.recognize(her)
def start(args, userin): """Function that starts the virtual assistant with the correct mode according to command-line arguments. Args: args: Command-line arguments. userin: :class:`dragonfire.utilities.TextToAction` instance. """ if args["server"]: import dragonfire.api as API # API of Dragonfire import tweepy # An easy-to-use Python library for accessing the Twitter API from tweepy import OAuthHandler from tweepy import Stream from dragonfire.twitter import MentionListener if Config.TWITTER_CONSUMER_KEY != 'CONSUMER_KEY': auth = OAuthHandler(Config.TWITTER_CONSUMER_KEY, Config.TWITTER_CONSUMER_SECRET) auth.set_access_token(Config.TWITTER_ACCESS_KEY, Config.TWITTER_ACCESS_SECRET) userin.twitter_api = tweepy.API(auth) print("Listening Twitter mentions...") l = MentionListener(args, userin) stream = Stream(auth, l) stream.filter(track=['DragonfireAI'], async=True) API.Run(nlp, learner, omniscient, dc, coref, userin, args["server"], args["port"]) else: global user_full_name global user_prefix if args["cli"]: her = VirtualAssistant(args, userin, user_full_name, user_prefix) while (True): com = raw_input("Enter your command: ") thread.start_new_thread(her.command, (com, )) time.sleep(0.5) elif args["gspeech"]: from dragonfire.sr.gspeech import GspeechRecognizer recognizer = GspeechRecognizer() recognizer.recognize(args, userin, user_full_name, user_prefix) else: from dragonfire.sr.deepspeech import DeepSpeechRecognizer recognizer = DeepSpeechRecognizer() recognizer.recognize(args, userin, user_full_name, user_prefix)
PORT = 3301 API_SERVER = 'http://*****:*****@' + Config.MYSQL_HOST + '/' + Config.MYSQL_DB) else: engine = create_engine('sqlite:///dragonfire.db', connect_args={'check_same_thread': False}, echo=True) Base.metadata.create_all(engine) Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) db_session = DBSession() dragonfire.learner.db_session = db_session dragonfire.learner.is_server = True api_ref = API.Run(dragonfire.nlp, dragonfire.learner, dragonfire.omniscient, dragonfire.dc, dragonfire.coref, dragonfire.userin, REG_KEY, PORT, db_session, dont_block=True) time.sleep(5) @pytest.fixture def token(): headers = {'Content-Type': 'application/x-www-form-urlencoded'} url = API_SERVER + '/register' params = {'name': 'John', 'gender': 'M', 'birth_date': '1990-01-01', 'reg_key': REG_KEY} response = requests.post(url, params=params, headers=headers) return json.loads(response.text)['token'] def test_api_tagger_end(token): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': token} url = API_SERVER + '/tag'