mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-25 08:01:39 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
030eb8eb6e | ||
|
|
c9da8e26e6 | ||
|
|
7ddf9772df | ||
|
|
0382ad1534 | ||
|
|
1b6e1369a0 | ||
|
|
835050c337 | ||
|
|
ca6a42e6eb | ||
|
|
a2e4d893ac |
2
.hgtags
2
.hgtags
@@ -34,3 +34,5 @@ d3fe0d0dcda1e0bf1100d02f117503d3bf6baacf me5.10.0
|
||||
b07ac1398703dd358912c1f3d20bd995633db9fe pe1.11.0
|
||||
96b6aee668398d663b04eafc8d5dae05e18500ee before-fairware
|
||||
22239f94589baf2a9fad2123045b8a718dbd68f5 se2.12.2
|
||||
f9cae82a0752191276b24ffb2cc4e4a8afb5d754 me5.10.2
|
||||
154c8cb6f018d446d88fa099490c900906e86386 pe1.11.2
|
||||
|
||||
10
README
10
README
@@ -13,6 +13,7 @@ There are also other sub-folder that comes from external repositories (automatic
|
||||
with svn:externals):
|
||||
|
||||
- hscommon: A collection of helpers used across HS applications.
|
||||
- hsgui: Cross-toolkit GUI-related helper classes.
|
||||
- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications.
|
||||
- qtlib: A collection of helpers used across Qt UI codebases of HS applications.
|
||||
|
||||
@@ -25,9 +26,10 @@ General dependencies
|
||||
-----
|
||||
|
||||
- Python 3.1 (http://www.python.org)
|
||||
- Send2Trash3k (http://hg.hardcoded.net/send2trash3k)
|
||||
- hsutil3k (http://hg.hardcoded.net/hsutil3k)
|
||||
- hsaudiotag3k (for ME) (http://hg.hardcoded.net/hsaudiotag3k)
|
||||
- Send2Trash3k (http://hg.hardcoded.net/send2trash)
|
||||
- hsutil3k (http://hg.hardcoded.net/hsutil)
|
||||
- hsaudiotag3k (for ME) (http://hg.hardcoded.net/hsaudiotag)
|
||||
- jobprogress (http://hg.hardcoded.net/jobprogress)
|
||||
- Markdown, to generate help files. (http://pypi.python.org/pypi/Markdown)
|
||||
- PyYaml, for help files and the build system. (http://pyyaml.org/)
|
||||
- py.test, to run unit tests. (http://codespeak.net/py/dist/test/)
|
||||
@@ -38,7 +40,7 @@ OS X prerequisites
|
||||
- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
|
||||
- Sparkle (http://sparkle.andymatuschak.org/)
|
||||
- PyObjC 2.3. (http://pyobjc.sourceforge.net/)
|
||||
- py2app 0.5.4 (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)
|
||||
- py2app 0.5.4 (http://bitbucket.org/ronaldoussoren/py2app)
|
||||
|
||||
Windows prerequisites
|
||||
---
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>hsft</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>5.10.2</string>
|
||||
<string>5.10.3</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>hsft</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.11.1</string>
|
||||
<string>1.11.2</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
import logging
|
||||
import os.path as op
|
||||
|
||||
from hscommon import cocoa, job
|
||||
from jobprogress import job
|
||||
from hscommon import cocoa
|
||||
from hscommon.cocoa import install_exception_hook
|
||||
from hscommon.cocoa.objcmin import (NSNotificationCenter, NSUserDefaults,
|
||||
NSSearchPathForDirectoriesInDomains, NSApplicationSupportDirectory, NSUserDomainMask,
|
||||
|
||||
@@ -16,7 +16,7 @@ from unicodedata import normalize
|
||||
|
||||
from hsutil.misc import flatten
|
||||
from hsutil.str import multi_replace
|
||||
from hscommon import job
|
||||
from jobprogress import job
|
||||
|
||||
(WEIGHT_WORDS,
|
||||
MATCH_SIMILAR_WORDS,
|
||||
|
||||
@@ -11,7 +11,7 @@ import re
|
||||
from xml.etree import ElementTree as ET
|
||||
|
||||
from . import engine
|
||||
from hscommon.job import nulljob
|
||||
from jobprogress.job import nulljob
|
||||
from hscommon.markable import Markable
|
||||
from hsutil.misc import flatten, nonone
|
||||
from hsutil.str import format_size
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import logging
|
||||
import re
|
||||
|
||||
from hscommon import job
|
||||
from jobprogress import job
|
||||
from hsutil import io
|
||||
from hsutil.misc import dedupe
|
||||
from hsutil.str import get_file_ext, rem_file_ext
|
||||
|
||||
@@ -15,7 +15,7 @@ from hsutil import io
|
||||
from hsutil.path import Path
|
||||
from hsutil.decorators import log_calls
|
||||
import hsutil.files
|
||||
from hscommon.job import nulljob
|
||||
from jobprogress.job import nulljob
|
||||
|
||||
from . import data
|
||||
from .results_test import GetTestGroups
|
||||
@@ -28,7 +28,7 @@ from ..scanner import ScanType
|
||||
|
||||
class DupeGuru(DupeGuruBase):
|
||||
def __init__(self):
|
||||
DupeGuruBase.__init__(self, data, '/tmp', appid=4)
|
||||
DupeGuruBase.__init__(self, data, '/tmp')
|
||||
|
||||
def _start_job(self, jobid, func, *args):
|
||||
func(nulljob, *args)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import sys
|
||||
|
||||
from hscommon import job
|
||||
from jobprogress import job
|
||||
from hsutil.decorators import log_calls
|
||||
from hsutil.misc import first
|
||||
from hsutil.testutil import eq_
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
|
||||
from hscommon import job
|
||||
from jobprogress import job
|
||||
from hsutil import io
|
||||
from hsutil.path import Path
|
||||
from hsutil.testutil import eq_
|
||||
|
||||
@@ -10,7 +10,7 @@ import logging
|
||||
import multiprocessing
|
||||
from collections import defaultdict, deque
|
||||
|
||||
from hscommon import job
|
||||
from jobprogress import job
|
||||
|
||||
from core.engine import Match
|
||||
from .block import avgdiff, DifferentBlockCountError, NoBlocksError
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
- date: 2010-11-21
|
||||
version: 5.10.3
|
||||
description: |
|
||||
* Fixed crash when reading malformed mp4 files. (#117 #118)
|
||||
- date: 2010-10-06
|
||||
version: 5.10.2
|
||||
description: |
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
- date: 2010-10-07
|
||||
version: 1.11.2
|
||||
description: |
|
||||
* Fixed delta column colors which were broken since 1.11.0.
|
||||
* Fixed column sorting crash. (#108)
|
||||
* Fixed occasional crash during scan. (#106)
|
||||
- date: 2010-09-30
|
||||
version: 1.11.1
|
||||
description: |
|
||||
|
||||
@@ -86,7 +86,7 @@ def package_debian(edition):
|
||||
os.makedirs(destpath)
|
||||
os.makedirs(srcpath)
|
||||
shutil.copy('run.py', op.join(srcpath, 'run.py'))
|
||||
packages = ['hscommon', 'hsgui', 'core', ed('core_{0}'), 'qtlib', 'qt', 'hsutil', 'send2trash']
|
||||
packages = ['hscommon', 'hsgui', 'core', ed('core_{0}'), 'qtlib', 'qt', 'hsutil', 'send2trash', 'jobprogress']
|
||||
if edition == 'me':
|
||||
packages.append('hsaudiotag')
|
||||
copy_packages(packages, srcpath)
|
||||
|
||||
9
qt/ABOUT_LICENSE
Normal file
9
qt/ABOUT_LICENSE
Normal file
@@ -0,0 +1,9 @@
|
||||
PyQt is used in this UI package, and PyQt is GPL software. I used PyQt before going releasing my
|
||||
source as BSD, so I have commercial license. When I released this software as BSD, I assumed that,
|
||||
BSD being incompatible with GPL, anyone wanting to redistribute this code would need a commercial
|
||||
license from PyQt. Therefore, I had a warning here telling people they needed a commercial license
|
||||
to modify and redistribute the qt code.
|
||||
|
||||
But no! There are good news. I saw that PyQt has special permissions in its "GPL_EXCEPTION.TXT"
|
||||
file, thus making everything nice and shiny. The license of this software package is compatible with
|
||||
PyQt's GPL license. No problem here.
|
||||
11
qt/WARNING
11
qt/WARNING
@@ -1,11 +0,0 @@
|
||||
WARNING ABOUT THE HS LICENSE AND PyQt
|
||||
|
||||
Although Qt is now LGPL licensed, PyQt still is dual licensed. Until Nokia buys Riverbank and
|
||||
releases PyQt as LGPL, users of this part of the code (The PyQt-based GUI code) have to use the
|
||||
GPL version of PyQt, unless they possess a commercial license to it.
|
||||
|
||||
There is no problem to this AS LONG AS YOU DON'T REDISTRIBUTE HS LICENSED CODE. The GPL license, from the point of view of the user, is very permissive. You can do WHATEVER you want with the GPLed version of PyQt, as long as you don't redistribute any of the code, or code dependent on it. When you do, the code you distribute has to be GPL compliant. The HS license is NOT, I repeat, NOT compliant with the GPL.
|
||||
|
||||
So, what does it all mean? You have no restriction on the usage of the PyQt-dependent-HS-licensed code, but unless you possess a commercial PyQt license, Hardcoded Software (or anyone) cannot accept any contribution from you for this part of the code.
|
||||
|
||||
Note that this only affects the PyQt dependent code, and not any other part of HS licensed code (if it has "import PyQt4" in it, it's PyQt dependent code). For the rest of the code, the only restrictions that apply are the ones from the HS license.
|
||||
@@ -15,12 +15,12 @@ import os.path as op
|
||||
from PyQt4.QtCore import QTimer, QObject, QCoreApplication, QUrl, SIGNAL, pyqtSignal
|
||||
from PyQt4.QtGui import QDesktopServices, QFileDialog, QDialog, QMessageBox
|
||||
|
||||
from hscommon import job
|
||||
from jobprogress import job
|
||||
from jobprogress.qt import Progress
|
||||
|
||||
from core.app import DupeGuru as DupeGuruBase, JOB_SCAN, JOB_LOAD, JOB_MOVE, JOB_COPY, JOB_DELETE
|
||||
|
||||
from qtlib.about_box import AboutBox
|
||||
from qtlib.progress import Progress
|
||||
from qtlib.reg import Registration
|
||||
|
||||
from . import platform
|
||||
|
||||
@@ -17,7 +17,7 @@ class DupeGuru(DupeGuruBase):
|
||||
EDITION = 'me'
|
||||
LOGO_NAME = 'logo_me'
|
||||
NAME = 'dupeGuru Music Edition'
|
||||
VERSION = '5.10.2'
|
||||
VERSION = '5.10.3'
|
||||
DELTA_COLUMNS = frozenset([2, 3, 4, 5, 7])
|
||||
|
||||
def __init__(self):
|
||||
|
||||
@@ -60,7 +60,7 @@ class DupeGuru(DupeGuruBase):
|
||||
EDITION = 'pe'
|
||||
LOGO_NAME = 'logo_pe'
|
||||
NAME = 'dupeGuru Picture Edition'
|
||||
VERSION = '1.11.1'
|
||||
VERSION = '1.11.2'
|
||||
DELTA_COLUMNS = frozenset([2, 5])
|
||||
|
||||
def __init__(self):
|
||||
|
||||
@@ -12,6 +12,7 @@ sip.setapi('QVariant', 1)
|
||||
from PyQt4.QtCore import QCoreApplication
|
||||
from PyQt4.QtGui import QApplication, QIcon, QPixmap
|
||||
|
||||
from qtlib.error_report_dialog import install_excepthook
|
||||
from qt.base import dg_rc
|
||||
from qt.{{edition}}.app import DupeGuru
|
||||
|
||||
@@ -25,4 +26,5 @@ if __name__ == "__main__":
|
||||
QCoreApplication.setApplicationName(DupeGuru.NAME)
|
||||
QCoreApplication.setApplicationVersion(DupeGuru.VERSION)
|
||||
dgapp = DupeGuru()
|
||||
install_excepthook()
|
||||
sys.exit(app.exec_())
|
||||
|
||||
Reference in New Issue
Block a user