mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
fixed buildcache --force-ascii... I still hate the way Python handles encodings...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
ded5ed0aec
commit
01be00adc1
@ -2,7 +2,7 @@
|
|||||||
#=======================================================================
|
#=======================================================================
|
||||||
|
|
||||||
__version__ = '''0.0.01'''
|
__version__ = '''0.0.01'''
|
||||||
__sub_version__ = '''20131023030800'''
|
__sub_version__ = '''20131023173117'''
|
||||||
__copyright__ = '''(c) Alex A. Naanou 2011'''
|
__copyright__ = '''(c) Alex A. Naanou 2011'''
|
||||||
|
|
||||||
|
|
||||||
@ -419,12 +419,13 @@ def build_images(path, config=CONFIG, gid_generator=hash_gid, dry_run=False, ver
|
|||||||
if verbosity >= 1:
|
if verbosity >= 1:
|
||||||
print 'Writing: %s' % filelist
|
print 'Writing: %s' % filelist
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
with open(filelist, 'w', encoding='utf-8') as f:
|
with open(filelist, 'w',
|
||||||
|
encoding='ascii' if config['force-ascii'] else 'utf-8') as f:
|
||||||
## ##!!! json.dump writes some "strings" as unicode and some as str
|
## ##!!! json.dump writes some "strings" as unicode and some as str
|
||||||
## ##!!! this breaks fp.write(...)...
|
## ##!!! this breaks fp.write(...)...
|
||||||
## json.dump(cur_files, f, indent=4, ensure_ascii=config['force-ascii'])
|
## json.dump(cur_files, f, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
s = json.dumps(cur_files, f, indent=4, ensure_ascii=config['force-ascii'])
|
s = json.dumps(cur_files, f, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
if type(s) != unicode:
|
if not config['force-ascii'] and type(s) != unicode:
|
||||||
s = s.decode(DEFAULT_ENCODING)
|
s = s.decode(DEFAULT_ENCODING)
|
||||||
f.write(s)
|
f.write(s)
|
||||||
# just write the list...
|
# just write the list...
|
||||||
@ -432,12 +433,13 @@ def build_images(path, config=CONFIG, gid_generator=hash_gid, dry_run=False, ver
|
|||||||
if verbosity >= 1:
|
if verbosity >= 1:
|
||||||
print 'Writing: %s' % filelist
|
print 'Writing: %s' % filelist
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
with open(filelist, 'w', encoding='utf-8') as f:
|
with open(filelist, 'w',
|
||||||
|
encoding='ascii' if config['force-ascii'] else 'utf-8') as f:
|
||||||
## ##!!! json.dump writes some "strings" as unicode and some as str
|
## ##!!! json.dump writes some "strings" as unicode and some as str
|
||||||
## ##!!! this breaks fp.write(...)...
|
## ##!!! this breaks fp.write(...)...
|
||||||
## json.dump(files, f, indent=4, ensure_ascii=config['force-ascii'])
|
## json.dump(files, f, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
s = json.dumps(files, f, indent=4, ensure_ascii=config['force-ascii'])
|
s = json.dumps(files, f, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
if type(s) != unicode:
|
if not config['force-ascii'] and type(s) != unicode:
|
||||||
s = s.decode(DEFAULT_ENCODING)
|
s = s.decode(DEFAULT_ENCODING)
|
||||||
f.write(s)
|
f.write(s)
|
||||||
|
|
||||||
@ -751,12 +753,13 @@ def build_cache(path, config=CONFIG, gid_generator=hash_gid,
|
|||||||
print 'Writing: %s' % n
|
print 'Writing: %s' % n
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
##!!! DO NOT OVERWRITE EXISTING DATA...
|
##!!! DO NOT OVERWRITE EXISTING DATA...
|
||||||
with open(n, 'w', encoding='utf-8') as f:
|
with open(n, 'w',
|
||||||
|
encoding='ascii' if config['force-ascii'] else 'utf-8') as f:
|
||||||
## ##!!! json.dump writes some "strings" as unicode and some as str
|
## ##!!! json.dump writes some "strings" as unicode and some as str
|
||||||
## ##!!! this breaks fp.write(...)...
|
## ##!!! this breaks fp.write(...)...
|
||||||
## json.dump(d, f, indent=4, ensure_ascii=config['force-ascii'])
|
## json.dump(d, f, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
s = json.dumps(d, f, indent=4, ensure_ascii=config['force-ascii'])
|
s = json.dumps(d, f, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
if type(s) != unicode:
|
if not config['force-ascii'] and type(s) != unicode:
|
||||||
s = s.decode(DEFAULT_ENCODING)
|
s = s.decode(DEFAULT_ENCODING)
|
||||||
f.write(s)
|
f.write(s)
|
||||||
|
|
||||||
@ -868,6 +871,9 @@ def handle_commandline():
|
|||||||
## parser.print_usage()
|
## parser.print_usage()
|
||||||
## raise SystemExit
|
## raise SystemExit
|
||||||
|
|
||||||
|
config = {}
|
||||||
|
config.update(CONFIG)
|
||||||
|
|
||||||
# prepare the path...
|
# prepare the path...
|
||||||
if len(args) < 1:
|
if len(args) < 1:
|
||||||
IN_PATH = u'.'
|
IN_PATH = u'.'
|
||||||
@ -875,11 +881,9 @@ def handle_commandline():
|
|||||||
IN_PATH = args[0]
|
IN_PATH = args[0]
|
||||||
IN_PATH = IN_PATH.replace('\\', '/')
|
IN_PATH = IN_PATH.replace('\\', '/')
|
||||||
##!!! need to convert this ut utf-8...
|
##!!! need to convert this ut utf-8...
|
||||||
if type(IN_PATH) != unicode:
|
if not options.force_ascii and type(IN_PATH) != unicode:
|
||||||
IN_PATH = IN_PATH.decode(DEFAULT_ENCODING)
|
IN_PATH = IN_PATH.decode(DEFAULT_ENCODING)
|
||||||
|
|
||||||
config = {}
|
|
||||||
config.update(CONFIG)
|
|
||||||
|
|
||||||
# load configuration files..
|
# load configuration files..
|
||||||
config_name = options.config_file
|
config_name = options.config_file
|
||||||
@ -901,6 +905,7 @@ def handle_commandline():
|
|||||||
'full-scan': options.full_scan,
|
'full-scan': options.full_scan,
|
||||||
'force-ascii': options.force_ascii,
|
'force-ascii': options.force_ascii,
|
||||||
})
|
})
|
||||||
|
|
||||||
# a value from 0 through 2...
|
# a value from 0 through 2...
|
||||||
verbosity = options.verbosity
|
verbosity = options.verbosity
|
||||||
# bool...
|
# bool...
|
||||||
@ -910,12 +915,13 @@ def handle_commandline():
|
|||||||
# configuration stuff...
|
# configuration stuff...
|
||||||
# write a local configuration...
|
# write a local configuration...
|
||||||
if options.config_save_local:
|
if options.config_save_local:
|
||||||
with open(os.path.join(IN_PATH, config_name), 'w', encoding='utf-8') as f:
|
with open(os.path.join(IN_PATH, config_name), 'w',
|
||||||
|
encoding='ascii' if config['force-ascii'] else 'utf-8') as f:
|
||||||
## ##!!! json.dump writes some "strings" as unicode and some as str
|
## ##!!! json.dump writes some "strings" as unicode and some as str
|
||||||
## ##!!! this breaks fp.write(...)...
|
## ##!!! this breaks fp.write(...)...
|
||||||
## f.write(json.dumps(config, sort_keys=True, indent=4, ensure_ascii=config['force-ascii']))
|
## f.write(json.dumps(config, sort_keys=True, indent=4, ensure_ascii=config['force-ascii']))
|
||||||
s = json.dumps(config, sort_keys=True, indent=4, ensure_ascii=config['force-ascii'])
|
s = json.dumps(config, sort_keys=True, indent=4, ensure_ascii=config['force-ascii'])
|
||||||
if type(s) != unicode:
|
if not config['force-ascii'] and type(s) != unicode:
|
||||||
s = s.decode(DEFAULT_ENCODING)
|
s = s.decode(DEFAULT_ENCODING)
|
||||||
f.write(s)
|
f.write(s)
|
||||||
|
|
||||||
@ -976,4 +982,4 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
|
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
# vim:set ts=4 sw=4 nowrap encoding=utf-8 :
|
# vim:set ts=4 sw=4 nowrap :
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user