mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-25 08:01:39 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
91a157cb2b | ||
|
|
7ced1e7b9d | ||
|
|
4c0545189e | ||
|
|
21af7b2fcd | ||
|
|
df9af9a796 | ||
|
|
933474400c | ||
|
|
b2c8e779bd |
1
.hgtags
1
.hgtags
@@ -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
|
||||||
|
|||||||
6
build.py
6
build.py
@@ -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")
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 = /;
|
||||||
|
|||||||
@@ -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 = /;
|
||||||
|
|||||||
@@ -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"])];
|
||||||
|
|||||||
@@ -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 = /;
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
__version__ = '3.4.0'
|
__version__ = '3.4.1'
|
||||||
__appname__ = 'dupeGuru'
|
__appname__ = 'dupeGuru'
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
22
package.py
22
package.py
@@ -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)
|
||||||
|
|||||||
@@ -54,9 +54,6 @@
|
|||||||
<ROW Path="<AI_DICTS>ui.ail"/>
|
<ROW Path="<AI_DICTS>ui.ail"/>
|
||||||
<ROW Path="<AI_DICTS>ui_en.ail"/>
|
<ROW Path="<AI_DICTS>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="<AI_FRAGS>CommonUI.aip"/>
|
<ROW Fragment="CommonUI.aip" Path="<AI_FRAGS>CommonUI.aip"/>
|
||||||
<ROW Fragment="FolderDlg.aip" Path="<AI_THEMES>classic\fragments\FolderDlg.aip"/>
|
<ROW Fragment="FolderDlg.aip" Path="<AI_THEMES>classic\fragments\FolderDlg.aip"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user