fix: error when fetching tags for above 1000 songs #102
This commit is contained in:
		
							
								
								
									
										15
									
								
								database.py
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								database.py
									
									
									
									
									
								
							@@ -258,12 +258,19 @@ class MusicDatabase:
 | 
				
			|||||||
        return self._result_to_dict(results)
 | 
					        return self._result_to_dict(results)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def query_tags_by_ids(self, ids):
 | 
					    def query_tags_by_ids(self, ids):
 | 
				
			||||||
        condition_str = " OR ".join(['id=?'] * len(ids))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        conn = sqlite3.connect(self.db_path)
 | 
					        conn = sqlite3.connect(self.db_path)
 | 
				
			||||||
        cursor = conn.cursor()
 | 
					        cursor = conn.cursor()
 | 
				
			||||||
        results = cursor.execute("SELECT id, tags FROM music "
 | 
					        results = []
 | 
				
			||||||
                                 "WHERE %s" % condition_str, ids).fetchall()
 | 
					
 | 
				
			||||||
 | 
					        for i in range(int(len(ids)/990) + 1):
 | 
				
			||||||
 | 
					            condition_str = " OR ".join(['id=?'] * min(990, len(ids) - i*990))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            _results = cursor.execute("SELECT id, tags FROM music "
 | 
				
			||||||
 | 
					                                      "WHERE %s" % condition_str,
 | 
				
			||||||
 | 
					                                      ids[i*990: i*990 + min(990, len(ids) - i*990)]).fetchall()
 | 
				
			||||||
 | 
					            if _results:
 | 
				
			||||||
 | 
					                results.extend(_results)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        conn.close()
 | 
					        conn.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        lookup = {}
 | 
					        lookup = {}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user