1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-25 08:01:39 +00:00

Compare commits

...

7 Commits

11 changed files with 34 additions and 18 deletions

View File

@@ -70,3 +70,4 @@ a619f313712e2923160b8f90d8250ee0e184c7b9 pe2.4.1
fad463ae749b7189dce92f1e42a57ac4ee03987d se3.3.3 fad463ae749b7189dce92f1e42a57ac4ee03987d se3.3.3
236cf9b690a144392e7e86e7c9749fc834a8b271 me6.3.0 236cf9b690a144392e7e86e7c9749fc834a8b271 me6.3.0
90318f1303858d9d01065d92d78d98b888b38ea0 se3.4.0 90318f1303858d9d01065d92d78d98b888b38ea0 se3.4.0
93ed33410df2d2f21229a77ae49c83ece2c50a55 pe2.5.0

View File

@@ -117,9 +117,6 @@ def build_localizations(ui, edition):
loc.compile_all_po('locale') loc.compile_all_po('locale')
loc.compile_all_po(op.join('hscommon', 'locale')) loc.compile_all_po(op.join('hscommon', 'locale'))
loc.merge_locale_dir(op.join('hscommon', 'locale'), 'locale') loc.merge_locale_dir(op.join('hscommon', 'locale'), 'locale')
if op.exists(op.join('build', 'locale')):
shutil.rmtree(op.join('build', 'locale'))
shutil.copytree('locale', op.join('build', 'locale'), ignore=shutil.ignore_patterns('*.po', '*.pot'))
if ui == 'cocoa': if ui == 'cocoa':
print("Creating lproj folders based on .po files") print("Creating lproj folders based on .po files")
for lang in loc.get_langs('locale'): for lang in loc.get_langs('locale'):
@@ -140,6 +137,9 @@ def build_localizations(ui, edition):
elif ui == 'qt': elif ui == 'qt':
loc.compile_all_po(op.join('qtlib', 'locale')) loc.compile_all_po(op.join('qtlib', 'locale'))
loc.merge_locale_dir(op.join('qtlib', 'locale'), 'locale') loc.merge_locale_dir(op.join('qtlib', 'locale'), 'locale')
if op.exists(op.join('build', 'locale')):
shutil.rmtree(op.join('build', 'locale'))
shutil.copytree('locale', op.join('build', 'locale'), ignore=shutil.ignore_patterns('*.po', '*.pot'))
def build_updatepot(): def build_updatepot():
print("Building .pot files from source files") print("Building .pot files from source files")

View File

@@ -83,7 +83,10 @@ def get_itunes_songs(plistpath):
for song_data in plist['Tracks'].values(): for song_data in plist['Tracks'].values():
if song_data['Track Type'] != 'File': if song_data['Track Type'] != 'File':
continue continue
song = ITunesSong(song_data) try:
song = ITunesSong(song_data)
except KeyError: # No "Location" or "Track ID" key in track
continue
if io.exists(song.path): if io.exists(song.path):
result.append(song) result.append(song)
return result return result

View File

@@ -963,7 +963,6 @@
C01FCF4C08A954540054247B /* release */ = { C01FCF4C08A954540054247B /* release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_IDENTITY = "Mac Developer";
DEPLOYMENT_LOCATION = YES; DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES; DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /; DSTROOT = /;
@@ -1006,7 +1005,6 @@
CED596C6111AF56D00C0CF2B /* dev */ = { CED596C6111AF56D00C0CF2B /* dev */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_IDENTITY = "Mac Developer";
DEPLOYMENT_LOCATION = YES; DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES; DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /; DSTROOT = /;

View File

@@ -968,7 +968,6 @@
C01FCF4C08A954540054247B /* release */ = { C01FCF4C08A954540054247B /* release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_IDENTITY = "Mac Developer";
DEPLOYMENT_LOCATION = YES; DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES; DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /; DSTROOT = /;
@@ -1011,7 +1010,6 @@
CEE00FF1111AF37400BC1A77 /* dev */ = { CEE00FF1111AF37400BC1A77 /* dev */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_IDENTITY = "Mac Developer";
DEPLOYMENT_LOCATION = YES; DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES; DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /; DSTROOT = /;

View File

@@ -39,7 +39,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (void)setScanOptions - (void)setScanOptions
{ {
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[model setScanType:n2b([ud objectForKey:@"scanType"])]; [model setScanType:n2i([ud objectForKey:@"scanType"])];
[model setMinMatchPercentage:n2i([ud objectForKey:@"minMatchPercentage"])]; [model setMinMatchPercentage:n2i([ud objectForKey:@"minMatchPercentage"])];
[model setWordWeighting:n2b([ud objectForKey:@"wordWeighting"])]; [model setWordWeighting:n2b([ud objectForKey:@"wordWeighting"])];
[model setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])]; [model setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];

View File

@@ -947,7 +947,6 @@
C01FCF4C08A954540054247B /* release */ = { C01FCF4C08A954540054247B /* release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_IDENTITY = "Mac Developer";
DEPLOYMENT_LOCATION = YES; DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES; DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /; DSTROOT = /;
@@ -986,7 +985,6 @@
CE85E850111AF63D00187B0D /* dev */ = { CE85E850111AF63D00187B0D /* dev */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_IDENTITY = "Mac Developer";
DEPLOYMENT_LOCATION = YES; DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES; DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /; DSTROOT = /;

View File

@@ -1,2 +1,2 @@
__version__ = '3.4.0' __version__ = '3.4.1'
__appname__ = 'dupeGuru' __appname__ = 'dupeGuru'

View File

@@ -1,3 +1,8 @@
=== 3.4.1 (2012-04-14)
* Fixed the "Folders" scan type. [Mac]
* Fixed localization issues. [Windows, Linux]
=== 3.4.0 (2012-03-29) === 3.4.0 (2012-03-29)
* Improved results window UI. [Windows, Linux] * Improved results window UI. [Windows, Linux]

View File

@@ -6,23 +6,38 @@
# which should be included with this package. The terms are also available at # which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license # http://www.hardcoded.net/licenses/bsd_license
import sys
import os import os
import os.path as op import os.path as op
import compileall import compileall
import shutil import shutil
import json import json
from argparse import ArgumentParser
from hscommon.plat import ISWINDOWS, ISLINUX from hscommon.plat import ISWINDOWS, ISLINUX
from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages, from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages,
build_debian_changelog, copy_qt_plugins, get_module_version) build_debian_changelog, copy_qt_plugins, get_module_version)
def package_cocoa(edition): def parse_args():
parser = ArgumentParser()
parser.add_argument('--sign', dest='sign_identity',
help="Sign app under specified identity before packaging (OS X only)")
args = parser.parse_args()
return args
def package_cocoa(edition, sign_identity):
app_path = { app_path = {
'se': 'cocoa/se/dupeGuru.app', 'se': 'cocoa/se/dupeGuru.app',
'me': 'cocoa/me/dupeGuru ME.app', 'me': 'cocoa/me/dupeGuru ME.app',
'pe': 'cocoa/pe/dupeGuru PE.app', 'pe': 'cocoa/pe/dupeGuru PE.app',
}[edition] }[edition]
# Rather than signing our app in XCode during the build phase, we sign it during the package
# phase because running the app before packaging can modify it and we want to be sure to have
# a valid signature.
if sign_identity:
sign_identity = "Developer ID Application: {}".format(sign_identity)
print_and_do('codesign --force --sign "{}" "{}"'.format(sign_identity, app_path))
else:
print("WARNING: packaging an unsigned application")
build_dmg(app_path, '.') build_dmg(app_path, '.')
def package_windows(edition, dev): def package_windows(edition, dev):
@@ -107,13 +122,14 @@ def package_debian(edition):
os.system("dpkg-buildpackage") os.system("dpkg-buildpackage")
def main(): def main():
args = parse_args()
conf = json.load(open('conf.json')) conf = json.load(open('conf.json'))
edition = conf['edition'] edition = conf['edition']
ui = conf['ui'] ui = conf['ui']
dev = conf['dev'] dev = conf['dev']
print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui)) print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui))
if ui == 'cocoa': if ui == 'cocoa':
package_cocoa(edition) package_cocoa(edition, args.sign_identity)
elif ui == 'qt': elif ui == 'qt':
if ISWINDOWS: if ISWINDOWS:
package_windows(edition, dev) package_windows(edition, dev)

View File

@@ -54,9 +54,6 @@
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/> <ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
<ROW Path="&lt;AI_DICTS&gt;ui_en.ail"/> <ROW Path="&lt;AI_DICTS&gt;ui_en.ail"/>
</COMPONENT> </COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.DigCertStoreComponent">
<ROW DigitalCertificate="\\vmware-host\Shared Folders\Public\mac_app.pfx" SignerDescription="[|ProductName]" SignOptions="7" SignTool="0"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.FragmentComponent"> <COMPONENT cid="caphyon.advinst.msicomp.FragmentComponent">
<ROW Fragment="CommonUI.aip" Path="&lt;AI_FRAGS&gt;CommonUI.aip"/> <ROW Fragment="CommonUI.aip" Path="&lt;AI_FRAGS&gt;CommonUI.aip"/>
<ROW Fragment="FolderDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\FolderDlg.aip"/> <ROW Fragment="FolderDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\FolderDlg.aip"/>