বানশি থেকে সদৃশ ট্র্যাকগুলি কীভাবে সরিয়ে ফেলবেন?


19

বানশি থেকে সদৃশ ট্র্যাকগুলি কীভাবে সরিয়ে ফেলবেন?


এছাড়াও দয়া করে এই থ্রেডটি দেখুন: Askubuntu.com/questions/4323/how-can-i-find-duplicate-songs
belacqua

sooo আমি যদি এই কমান্ডটি 1,000 বার চালানোর জন্য 1,00 সদৃশ ট্র্যাকগুলি বলতে পারি?

উত্তর:


7

এটি একটি পরিচিত বাগ যা বাঁশির নতুন সংস্করণে স্থির করা হয়েছে।

বানশি পিপিএ থেকে আপনি বাঁশির সর্বশেষতম সংস্করণটি ব্যবহার করতে পারেন :

sudo add-apt-repository ppa:banshee-team/ppa
sudo apt-get update && sudo apt-get upgrade

আমি কীভাবে বাগের সাবস্ক্রাইব করব?


1
আমি এই ধারণাটি বিশেষত সেই বাগটি উল্লেখ করছি এমন ছাপের মধ্যে ছিল না। আপনি কখনই সেই আমদানি / পুনরুদ্ধার বাগটি না চালিয়ে গেলেও আপনি নিজের লাইব্রেরিতে নকল ট্র্যাকগুলি দিয়ে শেষ করতে পারেন এবং এখনই স্বয়ংক্রিয়ভাবে সেগুলি সরিয়ে নেওয়ার কোনও উপায় সম্পর্কে আমি নিশ্চিত নই যে বিকল্পটি আর মাইরাজ এক্সটেনশনে পাওয়া যায় না।
মাইকেল মার্টিন-স্মুকার

3

Sqlite3 ডাটাবেস সন্ধান করুন (~ / .config / বনশি -1 / বানশি.ডবি) এবং নিম্নলিখিত কোয়েরি চালান:

delete from coretracks where TrackID in
(
  select trackid from 
     (
      select TrackID as trackid, count(TrackID) as c from coretracks 
      group by TitleLowered,ArtistID,AlbumID,Title
     )
  where c > 1
);

পিএস ডাটাবেস খোলার জন্য "sqlite3" কমান্ডটি ব্যবহার করুন, এবং কেবল "স্ক্লাইট" নয়।

পিপিএস আমাকে বেশ কয়েকবার ক্যোয়ারী চালাতে হয়েছিল, প্রতিটি রান কেবল একটি অতিরিক্ত ডুপ্লিকেট মুছে ফেলে। এটি ঘটে কারণ অভ্যন্তরীণ নির্বাচন আপনাকে কেবল প্রতিটি শিরোনাম / শিল্পী / অ্যালবামের সংমিশ্রণের জন্য একটি উদ্বৃত্ত ট্র্যাকের আইডি ফিরিয়ে দেয়।


2

এই উত্তরটি বনশি ডাটাবেস অ্যাক্সেস করার জন্য অজগর ব্যবহার করে, তারপরে ডানবিচা একটি মোচড়ের সাথে তালিকাভুক্ত স্কেল ক্রিয়া সম্পাদন করে। স্কল কোডটি বহুবার চালানোর পরিবর্তে, আমি পাইথনকে স্কিল কোডটিতে বিদ্যমান উদাহরণগুলির সংখ্যার উপর দিয়ে এসকিএল কোড লুপ করতে বলেছি। আপনার কেবল এই কোডটি একবার চালানো দরকার। আপনাকে আপনার বাড়ির পাথটি প্রতিস্থাপন করতে হবে ("/ home / JONDOE" কে আপনার বাড়ির পথের সাথে প্রতিস্থাপন করুন)।

#!/usr/bin/env python

import sqlite3

#open database to determine number of rows to loop over

db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db')
cursor = db.cursor()

a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title')
a_trackid = a.fetchall()
db.close()

#Close database to ensure results do not impact future results. Then reopen database

db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db')
cursor = db.cursor()
sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)')

for i in a_trackid:
    cursor.execute(sql)

db.commit()
db.close()

2

বনশি স্ক্লাইট ডাটাবেস থেকে সদৃশ গানের অপসারণের অন্যান্য বিকল্প:

cd /home/youruser/.config/banshee-1/

বন্ধ আপনার ডিবি ব্যাকআপ করুন:

cp banshee.db banshee.db.bck

যদি আপনি স্ক্লাইট ইনস্টল না করেন:

sudo apt-get install sqlite3

ওপেন ডিবি:

sqlite3 banshee.db

এই ক্যোয়ারী টাইপ করুন:

DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);

প্রস্থান:

.q

আপনি হয়ে গেছেন, বানশি খুলুন এবং ফলাফলটি দেখুন।


আমারও অনুরূপ সমস্যা ছিল এবং এটি আমার পক্ষে একেবারে ঠিক করে দিয়েছে। ধন্যবাদ।
বেশ কয়েকটি ব্লুবেরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.