mirror of
https://github.com/arsenetar/dupeguru.git
synced 2024-11-01 06:15:58 +00:00
70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
# Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
|
|
#
|
|
# This software is licensed under the "HS" 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/hs_license
|
|
|
|
from hsutil.cocoa import signature
|
|
|
|
from core.app_cocoa_inter import PyDupeGuruBase, PyDetailsPanel
|
|
from core_me.app_cocoa import DupeGuruME
|
|
from core.scanner import (SCAN_TYPE_FILENAME, SCAN_TYPE_FIELDS, SCAN_TYPE_FIELDS_NO_ORDER,
|
|
SCAN_TYPE_TAG, SCAN_TYPE_CONTENT, SCAN_TYPE_CONTENT_AUDIO)
|
|
|
|
# Fix py2app imports which chokes on relative imports and other stuff
|
|
from core_me import app_cocoa, data, fs, scanner
|
|
from hsmedia import aiff, flac, genres, id3v1, id3v2, mp4, mpeg, ogg, wma
|
|
from lxml import etree, _elementpath
|
|
import gzip
|
|
|
|
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 = [
|
|
SCAN_TYPE_FILENAME,
|
|
SCAN_TYPE_FIELDS,
|
|
SCAN_TYPE_FIELDS_NO_ORDER,
|
|
SCAN_TYPE_TAG,
|
|
SCAN_TYPE_CONTENT,
|
|
SCAN_TYPE_CONTENT_AUDIO
|
|
][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"
|
|
|