1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-22 06:37:17 +00:00

Wrapped data modules around edition-specific core.app subclasses to prepare for data modules removal.

This commit is contained in:
Virgil Dupras
2011-09-20 18:40:27 -04:00
parent f730f4f55a
commit f2164924f7
16 changed files with 384 additions and 370 deletions

View File

@@ -46,10 +46,11 @@ class SysWrapper(io.IOBase):
logging.warning(s)
class DupeGuru(QObject):
MODELCLASS = None
LOGO_NAME = '<replace this>'
NAME = '<replace this>'
def __init__(self, data_module):
def __init__(self):
QObject.__init__(self)
appdata = str(QDesktopServices.storageLocation(QDesktopServices.DataLocation))
if not op.exists(appdata):
@@ -63,7 +64,7 @@ class DupeGuru(QObject):
sys.stdout = SysWrapper()
self.prefs = self._create_preferences()
self.prefs.load()
self.model = DupeGuruModel(view=self, data_module=data_module, appdata=appdata)
self.model = self.MODELCLASS(view=self, appdata=appdata)
self._setup()
#--- Private
@@ -256,11 +257,11 @@ class DupeGuru(QObject):
def reveal_path(path):
DupeGuru.open_path(path[:-1])
def start_job(self, jobid, func, *args):
def start_job(self, jobid, func, args=()):
title = JOBID2TITLE[jobid]
try:
j = self._progress.create_job()
args = tuple([j] + list(args))
args = (j, ) + tuple(args)
self._progress.run(jobid, title, func, args=args)
except job.JobInProgressError:
msg = trmsg("TaskHangingMsg")

View File

@@ -6,7 +6,8 @@
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
from core_me import data, scanner, fs, __appname__
from core_me import scanner, fs, __appname__
from core_me.app import DupeGuru as DupeGuruModel
from ..base.app import DupeGuru as DupeGuruBase
from .details_dialog import DetailsDialog
@@ -14,13 +15,11 @@ from .preferences import Preferences
from .preferences_dialog import PreferencesDialog
class DupeGuru(DupeGuruBase):
MODELCLASS = DupeGuruModel
EDITION = 'me'
LOGO_NAME = 'logo_me'
NAME = __appname__
def __init__(self):
DupeGuruBase.__init__(self, data)
def _setup(self):
self.model.scanner = scanner.ScannerME()
self.model.directories.fileclasses = [fs.MusicFile]

View File

@@ -11,9 +11,10 @@ import logging
from PyQt4.QtGui import QImage, QImageReader, QTransform
from core_pe import data as data_pe, __appname__
from core_pe import __appname__
from core_pe.photo import Photo as PhotoBase
from core_pe.scanner import ScannerPE
from core_pe.app import DupeGuru as DupeGuruModel
from ..base.app import DupeGuru as DupeGuruBase
from .block import getblocks
@@ -66,13 +67,11 @@ class File(PhotoBase):
class DupeGuru(DupeGuruBase):
MODELCLASS = DupeGuruModel
EDITION = 'pe'
LOGO_NAME = 'logo_pe'
NAME = __appname__
def __init__(self):
DupeGuruBase.__init__(self, data_pe)
def _setup(self):
self.model.scanner = ScannerPE()
self.model.directories.fileclasses = [File]

View File

@@ -6,7 +6,8 @@
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
from core_se import data, __appname__
from core_se import __appname__
from core_se.app import DupeGuru as DupeGuruModel
from core.directories import Directories as DirectoriesBase, DirectoryState
from ..base.app import DupeGuru as DupeGuruBase
@@ -24,13 +25,11 @@ class Directories(DirectoriesBase):
return DirectoryState.Excluded
class DupeGuru(DupeGuruBase):
MODELCLASS = DupeGuruModel
EDITION = 'se'
LOGO_NAME = 'logo_se'
NAME = __appname__
def __init__(self):
DupeGuruBase.__init__(self, data)
def _setup(self):
self.directories = Directories()
DupeGuruBase._setup(self)