mirror of
				https://github.com/9001/copyparty.git
				synced 2025-11-03 21:43:12 +00:00 
			
		
		
		
	prevent dupe tags from mtp (replace id3 tags)
This commit is contained in:
		@@ -700,6 +700,16 @@ class Up2k(object):
 | 
				
			|||||||
                # indicate scanned without tags
 | 
					                # indicate scanned without tags
 | 
				
			||||||
                tags = {"x": 0}
 | 
					                tags = {"x": 0}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if not tags:
 | 
				
			||||||
 | 
					            return 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for k in tags.keys():
 | 
				
			||||||
 | 
					            q = "delete from mt where w = ? and ({})".format(
 | 
				
			||||||
 | 
					                " or ".join(["k = ?"] * len(tags))
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            args = [wark[:16]] + list(tags.keys())
 | 
				
			||||||
 | 
					            write_cur.execute(q, tuple(args))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ret = 0
 | 
					        ret = 0
 | 
				
			||||||
        for k, v in tags.items():
 | 
					        for k, v in tags.items():
 | 
				
			||||||
            q = "insert into mt values (?,?,?)"
 | 
					            q = "insert into mt values (?,?,?)"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,6 +67,17 @@ wget -S --header='Accept-Encoding: gzip' -U 'MSIE 6.0; SV1' http://127.0.0.1:392
 | 
				
			|||||||
shab64() { sp=$1; f="$2"; v=0; sz=$(stat -c%s "$f"); while true; do w=$((v+sp*1024*1024)); printf $(tail -c +$((v+1)) "$f" | head -c $((w-v)) | sha512sum | cut -c-64 | sed -r 's/ .*//;s/(..)/\\x\1/g') | base64 -w0 | cut -c-43 | tr '+/' '-_'; v=$w; [ $v -lt $sz ] || break; done; }
 | 
					shab64() { sp=$1; f="$2"; v=0; sz=$(stat -c%s "$f"); while true; do w=$((v+sp*1024*1024)); printf $(tail -c +$((v+1)) "$f" | head -c $((w-v)) | sha512sum | cut -c-64 | sed -r 's/ .*//;s/(..)/\\x\1/g') | base64 -w0 | cut -c-43 | tr '+/' '-_'; v=$w; [ $v -lt $sz ] || break; done; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## sqlite3 stuff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# find dupe metadata keys
 | 
				
			||||||
 | 
					sqlite3 up2k.db 'select mt1.w, mt1.k, mt1.v, mt2.v from mt mt1 inner join mt mt2 on mt1.w = mt2.w where mt1.k = mt2.k and mt1.rowid != mt2.rowid'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# partial reindex by deleting all tags for a list of files
 | 
				
			||||||
 | 
					sqlite3 up2k.db 'select mt1.w from mt mt1 inner join mt mt2 on mt1.w = mt2.w where mt1.k = mt2.k and mt1.rowid != mt2.rowid'  > warks
 | 
				
			||||||
 | 
					cat warks | while IFS= read -r x; do sqlite3 up2k.db "delete from mt where w = '$x'"; done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##
 | 
					##
 | 
				
			||||||
## vscode
 | 
					## vscode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user