diff --git a/Jarvis2.py b/Jarvis2.py index 95fc876..dcd3bed 100644 --- a/Jarvis2.py +++ b/Jarvis2.py @@ -15,6 +15,25 @@ MASTER = "Harsha" engine = pyttsx3.init('nsss') voices = engine.getProperty('voices') engine.setProperty('voice', voices[0].id) +popular_websites = {'google': 'https://www.google.com', + 'youtube': 'https://www.youtube.com', + 'wikipedia': 'https://www.wikipedia.org', + 'amazon': 'https://www.amazon.com'} +search_engines = {'google': 'https://www.google.com', + 'youtube': 'https://www.youtube.com', + 'bing': 'https://www.bing.com'} + + +def open_url(url): + webbrowser.open(url) + chrome_path = 'open -a /Applications/Google\ Chrome.app %s' + webbrowser.get(chrome_path).open(url) + +def search(search_query, search_engine): + try: + open_url(f'{search_engines[search_engine]}/search?q={search_query}') + except IndexError: + open_url(f'https://www.google.com/search?q={search_query}') def speak(text): @@ -80,21 +99,19 @@ elif "what\'s up" in query or 'how are you' in query: 'Nice!', 'I am nice and full of energy'] speak(random.choice(stMsgs)) -elif 'open youtube' in query.lower(): +elif 'open' in query.lower(): + website = query.replace('open', '').strip().lower() + try: + open_url(popular_websites[website]) + except IndexError: # If the website is unknown + print(f'Unknown website: {website}') + speak(f'Sorry, i don\'t know the website {website}') - webbrowser.open("youtube.com") - url = 'https://www.youtube.com/' +elif 'search' in query.lower(): + search_query = query.split('for')[-1] + search_engine = query.split('for')[0].replace('search', '').strip().lower() + search(search_query, search_engine) - chrome_path = 'open -a /Applications/Google\ Chrome.app %s' - webbrowser.get(chrome_path).open(url) - -elif 'on google' in query.lower(): - - webbrowser.open("google.com") - url = 'https://www.google.com/' - - chrome_path = 'open -a /Applications/Google\ Chrome.app %s' - webbrowser.get(chrome_path).open(url) elif 'email' in query: speak('Who is the recipient? ')