def weather(query): key = "772992eec7a54fc87f19fcf6fc03d643" weather_url = "http://api.openweathermap.org/data/2.5/weather?" if "in" in query: ind = query.split().index("in") else: ind = query.split().index("of") # print(ind) location = query.split()[ind + 1 :] location = "".join(location) url = weather_url + "appid=" + key + "&q=" + location js = requests.get(url).json() if js["cod"] != "404": temp = js["main"] tem = temp["temp"] tem = tem - 273.15 humidity = temp["humidity"] desc = js["weather"][0]["description"] response = ( "The temperature in Calcius is " + str(round(tem, 2)) + " The humidity is " + str(round(humidity, 2)) + " and the weather description is " + str(desc) ) print(response) speak(response) else: speak("City not found")
def notethat(): speak("what should i remember sir") rememberMessage = ask() speak("you said me to remember" + rememberMessage) remember = open("data.txt", "w") remember.write(rememberMessage) remember.close()
def brightness(query): res = [int(i) for i in query.split() if i.isdigit()] if len(res) == 0: speak("No digit specified") else: lev = res[0] current_brightness = sbc.get_brightness() new_lev = lev if ( "increment" in query or "add" in query or "increase" in query or "up" in query or "high" in query ): new_lev = min(current_brightness + lev, 100) sbc.set_brightness(new_lev) elif ( "decrement" in query or "subtract" in query or "decrease" in query or "low" in query or "down" in query ): print(lev) new_lev = max(current_brightness - lev, 0) sbc.set_brightness(new_lev) else: if new_lev > 100: new_lev = 100 elif new_lev < 0: new_lev = 0 sbc.set_brightness(new_lev) speak("Brightness is changed to" + str(new_lev))
def picture_taker_caller(input_string): speak("preparing to take image press space to save and escape to quit") cam = cv2.VideoCapture(0) cv2.namedWindow("test") img_counter = 0 while True: ret, frame = cam.read() if not ret: print("failed to grab frame") break cv2.imshow("test", frame) k = cv2.waitKey(1) if k % 256 == 27: # ESC pressed print("Escape hit, closing...") break elif k % 256 == 32: # SPACE pressed img_name = "picture{}.png".format(img_counter) cv2.imwrite(img_name, frame) print("{} written!".format(img_name)) img_counter += 1 cam.release() cv2.destroyAllWindows()
def main_date(): now = datetime.datetime.now() speak("Sir, the Current Date is : " + now.strftime("%m-%d-%Y") + "\n") print("Sir, the Current Date is : ") print(now.strftime("%d-%m-%Y") + "\n") print("")
def mozila(): if platform == "linux" or platform == "linux2": subprocess.run("firefox", shell=True) elif platform == "darwin": subprocess.run("open -a Firefox --args -private-window", shell=True) elif platform == "win32": subprocess.run("start firefox", shell=True) else: speak("Unsupported OS")
def open_chrome(): if platform == "linux" or platform == "linux2": subprocess.run("chrome", shell=True) elif platform == "darwin": subprocess.run("open -a Chrome --args -private-window", shell=True) elif platform == "win32": subprocess.run("start chrome", shell=True) else: speak("Unsupported OS")
def show_battery(): speak("Showing remaining battery") battery = psutil.sensors_battery() percent = battery.percent percentinletters = str(percent) speak( "Sir, there is " + percentinletters + " percent remaining. Battery remaining is printed in the main screen.") print("There is " + percentinletters + " % remaining.") print("")
def gk(query): app_id = "A5JYYE-TPRTRVW2AX" cilent = wolframalpha.Client(app_id) ind = query.split().index("is") text = query.split()[ind + 1 :] res = cilent.query(" ".join(text)) answer = next(res.results).text ans = "" for i in text: ans += i ans += " " ans = ans + "is " + answer print(ans) speak(ans)
def pasword(): s1 = string.ascii_lowercase s2 = string.ascii_uppercase s3 = string.digits s4 = string.punctuation speak("please enter password length") plen = int(input("Enter password length\n")) s = [] s.extend(s1) s.extend(s2) s.extend(s3) s.extend(s4) p = "".join(random.sample(s, plen)) speak("here is yout password sir you can copy it to yout clipboard") print(p)
def createfile(): speak("please tell me file name") query = ask().lower() speak("Tell the file type that you want to create") ext = ask().lower() ext = identify_extension(ext) query = query + ext f = open(query, "w") speak( "file created successfully. please tell me what do you want to write ") query = ask().lower() f.write(str(query)) speak("file created")
def deletefile(): speak("please tell me file name to delete") query = ask().lower() speak("please tell the file extension") ext = ask().lower() ext = identify_extension(ext) query = query + ext if os.path.exists(str(query)): os.remove(str(query)) speak("file deleted successfully") query = query.lower() else: speak("file doesnt exist")
def corona(): url = "https://www.worldometers.info/coronavirus/country/india/" # Website URL address used for web-scraping req = requests.get(url) bsObj = BeautifulSoup(req.text, "html.parser") data = bsObj.find_all("div", class_="maincounter-number") print("Collecting the data....") speak("Collecting the data") print("Total Cases: ", data[0].text.strip()) speak("Total Cases: " + data[0].text.strip()) print("Total Deaths: ", data[1].text.strip()) speak("Total Deaths: " + data[1].text.strip()) print("Total Recovered: ", data[2].text.strip()) speak("Total Recovered: " + data[2].text.strip())
def player(): file_path_video = folder_finder() flist_video = [ p for p in pathlib.Path(file_path_video).iterdir() if p.is_file() ] f_video = [] filename = {} c = 0 for f in flist_video: f_video.append('"' + str(f) + '"') stemp, ftemp = os.path.split(str(f)) filename[c] = str(ftemp) c += 1 speak('Please provide the Number of the file') print_dict(filename) t = int(ask()) - 11 os.system(f_video[t])
def movie_suggest(): url = "http://www.imdb.com/chart/top" response = requests.get(url) soup = BeautifulSoup(response.text, "html.parser") movies = soup.select("td.titleColumn") links = [a.attrs.get("href") for a in soup.select("td.titleColumn a")] crew = [a.attrs.get("title") for a in soup.select("td.titleColumn a")] ratings = [ b.attrs.get("data-value") for b in soup.select("td.posterColumn span[name=ir]") ] votes = [b.attrs.get("data-value") for b in soup.select("td.ratingColumn strong")] imdb = [] # Store each item into dictionary (data), then put those into a list (imdb) for index in range(0, len(movies)): # Seperate movie into: 'place', 'title', 'year' movie_string = movies[index].get_text() movie = " ".join(movie_string.split()).replace(".", "") movie_title = movie[len(str(index)) + 1 : -7] year = re.search("\((.*?)\)", movie_string).group(1) place = movie[: len(str(index)) - (len(movie))] data = { "movie_title": movie_title, "year": year, "place": place, "star_cast": crew[index], "rating": ratings[index], "vote": votes[index], "link": links[index], } imdb.append(data) speak("Here is the top 10 imdb rating movie to watch.") k = 0 for item in imdb: print(k + 1, "-", item["movie_title"]) speak(item["movie_title"]) k += 1 if k == 10: break
def search_wiki(): speak("What do you want to search on wikipedia ?") sinwiki = ask() sinwiki = sinwiki.replace("wikipedia", "") results = wikipedia.summary(sinwiki, sentences=2) print(results) speak("According to Wikipedia,") speak(results)
def folder_finder(): speak( "please specify the folder name which contains Movies Videos Photos or Musics" ) file_k = ask() file_names = [file_k.lower()] if (file_k[-1] != 's'): file_names.append(file_k.lower() + 's') sysos = platform.system() found_paths = [] if sysos == "Windows": drive_latter = os.popen("fsutil fsinfo drives").readlines() drive_latter = drive_latter[1].split(' ') drive_latter.pop(0) drive_latter.pop(-1) for file_name in file_names: for drive_path in drive_latter: found_paths.extend(find_folder(file_name, drive_path)) elif sysos == "Linux": found_paths = find_folder(file_name, "//") elif sysos == "Darwin": found_paths = find_folder(file_name, "//") if len(found_paths) == 0: speak('Sorry, system cannot find your folder. Please try again.') elif len(found_paths) == 1: speak('Here System found only one folder with given file name') print('Here System found only one folder with given file name : ', file_k) ff = found_paths[0] else: speak('System found This many path, from which path you want to play') print('System found This many path from which you want to play', file_k.capitalize()) print('\n***************************') for i in range(0, len(found_paths)): print(i + 11, ' : ', found_paths[i]) print('***************************') ff = found_paths[int(ask()) - 11] print("\033[1m", '\nPlease provide the Number of the file :', "\033[0m") return ff
def meaning(query): reg_ex = re.search(".meaning of (.+)", query) print(reg_ex) if reg_ex: # word_id = reg_ex.group(1) ind = query.split().index("of") temp = query.split()[ind + 1 :] word_id = temp[0] print(word_id) app_id = "4ea13c64" # app_id from oxforddictionaries app_key = "ee330a18c6d1b84caa707af849421635" # app_key from oxforddictionaries language = "en" url = ( "https://od-api.oxforddictionaries.com:443/api/v2/entries/" + language + "/" + word_id.lower() ) urlFR = ( "https://od-api.oxforddictionaries.com:443/api/v2/stats/frequency/word/" + language + "/?corpus=nmc&lemma=" + word_id.lower() ) r = requests.get(url, headers={"app_id": app_id, "app_key": app_key}) name_json = r.json() name_list = [] for name in name_json["results"]: name_list.append(name["word"]) print("You searched for the word : " + word_id) speak("You searched for the word : " + word_id) url_mean = ( "https://od-api.oxforddictionaries.com:443/api/v1/entries/" + language + "/" + word_id.lower() ) mean_json = r.json() mean_list = [] speak("I can Read it out for you") for result in mean_json["results"]: for lexicalEntry in result["lexicalEntries"]: for entry in lexicalEntry["entries"]: for sense in entry["senses"]: mean_list.append(sense["definitions"][0]) for i in mean_list: print(word_id + " : " + i) speak(word_id + " : " + i)
def news(): url = "http://newsapi.org/v2/top-headlines?country=in&apiKey=e19bfb969c6840549b0244cca9f1fb83" try: response = requests.get(url) except: speak("Please Check your connection") news = json.loads(response.text) k = 1 for new in news["articles"]: k += 1 print(str(new["title"]), "\n") speak(str(new["title"])) print(str(new["description"]), "\n") speak(str(new["description"])) if k >= 3: break response = requests.get(url)
def eval_s_caller(query): app_id = json.load(open(WFA_KEY_JSON, "r"))["APPID"] client = wolframalpha.Client(app_id) if "calculate" in query.lower(): indx = query.lower().split().index("calculate") elif "evaluate" in query.lower(): indx = query.lower().split().index("evaluate") try: query = query.split()[indx + 1:] except: speak("Could you please specify what to calculate?") query = ask() res = client.query(" ".join(query)) try: answer = next(res.results).text except: speak("No responce from the API") return print("The answer is " + answer) speak("The answer is " + answer)
""" Developer : Naman Dave College ID : 201801439 About : Temporary file (for testing purpose) """ import os import src.va as va import recombyte as rb my_list = [ ] query_list = list(my_list) rm = True if rm or not os.path.exists(rb.DATA_STORAGE_FILENAME): os.remove("data_storage.p") rb.save_data(query_list) query_list, total_words, words_dict, tot_words_dict = rb.load_data() command = "" while True: command = va.ask() if "stop" in command: break answer = rb.recombyte_q(command, query_list, words_dict, tot_words_dict) print(answer) if answer != []: va.speak(answer[0][0])
"make document": create_caller, "create ppt": create_caller, "make ppt": create_caller, "create powerpoint": create_caller, "make powerpoint": create_caller, "create css": create_caller, "make css": create_caller, "create javascript": create_caller, "make javascript": create_caller, "create python": create_caller, "make python": create_caller, "create java": create_caller, "make java": create_caller, "create cpp": create_caller, "make cpp": create_caller, "create html": create_caller, "make html": create_caller, "create pdf": create_caller, "make pdf": create_caller, } # main function if __name__ == "__main__": while True: query = ask().lower() if str(query) in query: # calling create file function speak("creating file") createfile()
def gmail_caller(input_string): speak("Opening Gmail") webbrowser.open("https://mail.google.com/mail/u/0/#inbox")
"delete ppt": delete_caller, "remove ppt": delete_caller, "delete powerpoint": delete_caller, "remove powerpoint": delete_caller, "delete css": delete_caller, "remove css": delete_caller, "delete javascript": delete_caller, "remove javascript": delete_caller, "delete python": delete_caller, "remove python": delete_caller, "delete java": delete_caller, "remove java": delete_caller, "delete cpp": delete_caller, "remove cpp": delete_caller, "delete html": delete_caller, "remove html": delete_caller, "delete pdf": delete_caller, "remove pdf": delete_caller, } # main function if __name__ == "__main__": while True: query = ask().lower() if str(query) in query: # calling create file function speak("deleting file") deletefile()
def google_map(query): ind = query.split().index("is") location = query.split()[ind + 1 :] url = "https://www.google.com/maps/place/" + " ".join(location) speak("This is where" + str(location) + "is.") webbrowser.open_new_tab(url)
def tell_joke(): speak(pyjokes.get_joke())
def tell_time(): tim = datetime.datetime.now().strftime("%I:%M:%S") speak("Sir, The time is: ") print(tim) speak(tim)
def book_suggest(): url = "https://www.goodreads.com/book/most_read" # Website URL address used for web-scraping req = requests.get(url) bsObj = BeautifulSoup(req.text, "html.parser") book_title = bsObj.find_all(class_="bookTitle") author_name = bsObj.find_all(class_="authorName") print("Here are the 5 Most Read Books This Week \n") speak("Here are the 5 Most Read Books This Week") print(book_title[0].text.strip() + " by " + author_name[0].text.strip()) speak(book_title[0].text.strip() + " by " + author_name[0].text.strip()) print(book_title[1].text.strip() + " by " + author_name[1].text.strip()) speak(book_title[1].text.strip() + " by " + author_name[1].text.strip()) print(book_title[2].text.strip() + " by " + author_name[2].text.strip()) speak(book_title[2].text.strip() + " by " + author_name[2].text.strip()) print(book_title[3].text.strip() + " by " + author_name[3].text.strip()) speak(book_title[3].text.strip() + " by " + author_name[3].text.strip()) print(book_title[4].text.strip() + " by " + author_name[4].text.strip()) speak(book_title[4].text.strip() + " by " + author_name[4].text.strip())