def get_songs(self): cursor = self.db.cursor() sql = '''\ select id, uid, title, artist, url, img_url, played_count, created_at, description, duration FROM SONGS ''' cursor.execute(sql) ret = [] while True: data = cursor.fetchone() if data: song = Song() song.dbid = data[0] song.uid = data[1] song.title = data[2] song.artist = data[3] song.url = data[4] song.img_url = data[5] song.played_count = data[6] song.created_at = data[7] song.description = data[8] song.duration = data[9] yield song else: break
def find_songs_by_title(self, title): "노래 제목으로 곡을 찾는다." cursor = self.db.cursor() sql = '''\ select id, uid, title, artist, url, img_url, played_count, created_at, description, duration FROM SONGS where title like ? ''' cursor.execute(sql, (title, )) ret = [] for data in cursor.fetchmany(5): if data: song = Song() song.dbid = data[0] song.uid = data[1] song.title = data[2] song.artist = data[3] song.url = data[4] song.img_url = data[5] song.played_count = data[6] song.created_at = data[7] song.description = data[8] song.duration = data[9] ret.append(song) return ret
def find_by_id(self, dbid): "UID로 노래를 찾는다." cursor = self.db.cursor() sql = '''\ select id, uid, title, artist, url, img_url, played_count, created_at, description, duration FROM SONGS where id = ? ''' cursor.execute(sql, (dbid, )) data = cursor.fetchone() if data: song = Song() song.dbid = data[0] song.uid = data[1] song.title = data[2] song.artist = data[3] song.url = data[4] song.img_url = data[5] song.played_count = data[6] song.created_at = data[7] song.description = data[8] song.duration = data[9] return song
def firstsTreatmentsOnFiles(): """ open our 3 corpus files delete stop words get the most used words generate lexical fields and score write song info, lexical fields, most used words into result file """ directory = "corpus\\" corpus_filenames = ["mxm_dataset_test.txt", "mxm_dataset_train.txt"] songData_filename = "mxm_779k_matches.txt" """ ============================================================ Get song data and generate Words and Lexical fields ============================================================ """ wordsId = getWordsId() #data with artist and song name songGlobalData = getListOfGlobalSongData() i = 0 for filename in corpus_filenames: songListWithWords = getListOfSongsAndWords(directory + filename) n = 5 for s in songListWithWords: song = Song(s[0], s[1]) #Get artist and Title song.artist = songGlobalData[song.tid][0] song.title = songGlobalData[song.tid][1] try: if (detect(song.title) == 'en'): song.words = getMostUsedWords(s, n) song.lexicalFields = generateLexicalFields(song.words, 3) writeResults(song) except: print("langage error") i += 1 print(i)