mirror of
https://github.com/arsenetar/dupeguru.git
synced 2024-11-18 13:09:02 +00:00
75 lines
2.4 KiB
Python
75 lines
2.4 KiB
Python
# Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
|
|
#
|
|
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
|
# which should be included with this package. The terms are also available at
|
|
# http://www.hardcoded.net/licenses/bsd_license
|
|
|
|
from hscommon.cocoa import signature
|
|
|
|
from core.app_cocoa_inter import PyDupeGuruBase, PyDetailsPanel
|
|
from core_me.app_cocoa import DupeGuruME
|
|
from core.scanner import ScanType
|
|
|
|
# Fix py2app imports which chokes on relative imports and other stuff
|
|
import core_me.app_cocoa, core_me.data, core_me.fs, core_me.scanner
|
|
import hsaudiotag.aiff, hsaudiotag.flac, hsaudiotag.genres, hsaudiotag.id3v1,\
|
|
hsaudiotag.id3v2, hsaudiotag.mp4, hsaudiotag.mpeg, hsaudiotag.ogg, hsaudiotag.wma
|
|
from hsaudiotag import aiff, flac, genres, id3v1, id3v2, mp4, mpeg, ogg, wma
|
|
import hsutil.conflict
|
|
import core.engine, core.fs, core.app
|
|
import xml.etree.ElementPath
|
|
import gzip
|
|
import aem.kae
|
|
import appscript.defaultterminology
|
|
|
|
class PyDupeGuru(PyDupeGuruBase):
|
|
def init(self):
|
|
self = super(PyDupeGuru,self).init()
|
|
self.py = DupeGuruME()
|
|
return self
|
|
|
|
def removeDeadTracks(self):
|
|
self.py.remove_dead_tracks()
|
|
|
|
def scanDeadTracks(self):
|
|
self.py.scan_dead_tracks()
|
|
|
|
#---Information
|
|
@signature('i@:')
|
|
def deadTrackCount(self):
|
|
return len(self.py.dead_tracks)
|
|
|
|
#---Properties
|
|
def setMinMatchPercentage_(self, percentage):
|
|
self.py.scanner.min_match_percentage = int(percentage)
|
|
|
|
def setScanType_(self, scan_type):
|
|
try:
|
|
self.py.scanner.scan_type = [
|
|
ScanType.Filename,
|
|
ScanType.Fields,
|
|
ScanType.FieldsNoOrder,
|
|
ScanType.Tag,
|
|
ScanType.Contents,
|
|
ScanType.ContentsAudio,
|
|
][scan_type]
|
|
except IndexError:
|
|
pass
|
|
|
|
def setWordWeighting_(self, words_are_weighted):
|
|
self.py.scanner.word_weighting = words_are_weighted
|
|
|
|
def setMatchSimilarWords_(self, match_similar_words):
|
|
self.py.scanner.match_similar_words = match_similar_words
|
|
|
|
def enable_scanForTag_(self, enable, scan_tag):
|
|
if enable:
|
|
self.py.scanner.scanned_tags.add(scan_tag)
|
|
else:
|
|
self.py.scanner.scanned_tags.discard(scan_tag)
|
|
|
|
#---Registration
|
|
def appName(self):
|
|
return "dupeGuru Music Edition"
|
|
|