def initSong(): global currentprint global banner mc.sessionvars["songnumber"] = mc.sessionvars["songnumber"] + 1 filestuff.object2File(mc.sessionvars, "session.store") currentprint = [] currentprint.append(songtitle()) currentprint.append(banner) getnewsongtextThread(True) twitterstuff.ThreadingLookForTweets() voicerandom = random.random() if (voicerandom > 0.9): mc.voice = "en-us+f1" else: mc.voice = "en-us+m1"
def cleanSongs(hashtags): resong = [] for item in songs: for word in songs[item]["text"]: #clean unwanted words/hashtags, make the pure ascii in one go if word not in hashtags: resong.append(remove_non_ascii(word)) else: print("found and removed hashtag " + word) songs[item]["text"] = resong for item in songs: for word in songs[item]["text"]: print(word.encode("utf-8")) filestuff.object2File(songs, "songs.store")
def lookfornewtexts(): global tweetvars search = tweepy.Cursor(api.search, q="#123piano #inspiration", since_id=tweetvars["sinceID"], lang="en", tweet_mode='extended').items(50) for item in search: print(item.entities) print(api.get_user(item.user.id).screen_name) text = parseTweetToSongText(item.full_text, item.entities['hashtags']) user = api.get_user(item.user.id).screen_name print(item.id) if (item.id > tweetvars["sinceID"]): tweetvars["sinceID"] = item.id storenewsongtext(text, user, tweetvars["sinceID"]) print("storing text") tweetReply(tweetvars["sinceID"]) #store updates back to the object # remove the line below to activate real storing etc # tweetvars["sinceID"] = 1158415586206113792 filestuff.object2File(tweetvars, "tweet.store") subprocess.call(shlex.split('./commit.sh ' + str(tweetvars["sinceID"])))
import pyowm import filestuff from authkeys import owmkey import datetime datechecked = datetime.datetime.utcnow() API_key = owmkey owm = pyowm.OWM(API_key) try: observation = owm.weather_at_place('Ghent,be') filestuff.object2File(observation, "lib/lastweather.object") except: print("it did not work as expected") observation = filestuff.file2Object("lib/lastweather.object") w = observation.get_weather() # w.get_temperature(unit='celsius') # w.get_wind() # print(dir(w)) print(w.get_temperature(unit='celsius')) def checkweather(): global w if ((datetime.datetime.utcnow() - datechecked).total_seconds() < 3600): #recheck weather, an hour or more has passed w = observation.get_weather() else: pass
def updateobjectcount(): path, dirs, files = next(os.walk("./objects")) file_count = len(files) mc.sessionvars["wordcount"] = file_count filestuff.object2File(mc.sessionvars, "session.store")
def storenewsongtext(text, user, id): songtext.songs[id] = {"text": text, 'user': user} # copyfile("songs.store", "songs.store.backup") filestuff.object2File(songtext.songs, "songs.store") return True
model = {} playstate = False cursor = 0 speakerpitch = 50 # voice = "-ven-us+f1 -s450" voice = "en-us+f1" lastnote = 64 polyvoicy = False # sessionvars = { "songnumber": 0, "songlocation": "L40", "maxsilencetime": 3, "maxsonglength": 10} # object2File(sessionvars, "session.store") sessionvars = filestuff.file2Object("session.store") sessionvars['minsonglength'] = 20 #should alway be bigger then maxsilencetime sessionvars['maxsonglength'] = 300 sessionvars['maxsilencetime'] = 10 sessionvars["charpagewidth"] = 56 filestuff.object2File(sessionvars, "session.store") print(sessionvars) def resetSeqs(): global msgs global seqNotes global seqNotesOn global seqNotesOff global seqVelocityOn global seqVelocityOff global seqDeltaOn global seqDeltaOff global playstate global sessionvars