351
357
elif command == Command.Create:
352
358
create_translation()
353
359
elif command == Command.Check:
354
check_format_strings()
360
is_success = check_format_strings()
355
361
print_quiet('Finished processing commands.')
357
363
print_quiet('No commands to process.')
361
368
global verbose_mode, quiet_mode, username, password
362
369
# Set up command line options.
363
usage = '%prog [options]\nOptions are parsed in the order they are ' + \
370
usage = '%(prog)s [options]\nOptions are parsed in the order they are ' + \
364
371
'listed below. If no options are given, "-dpug" will be used.\n\n' + \
365
372
'This script is used to manage OpenLP\'s translation files.'
366
parser = OptionParser(usage=usage)
367
parser.add_option('-U', '--username', dest='username', metavar='USERNAME',
368
help='Transifex username, used for authentication')
369
parser.add_option('-P', '--password', dest='password', metavar='PASSWORD',
370
help='Transifex password, used for authentication')
371
parser.add_option('-d', '--download-ts', dest='download',
372
action='store_true', help='download language files from Transifex')
373
parser.add_option('-c', '--create', dest='create', action='store_true',
374
help='go to Transifex to request a new translation file')
375
parser.add_option('-p', '--prepare', dest='prepare', action='store_true',
376
help='generate a project file, used to update the translations')
377
parser.add_option('-u', '--update', action='store_true', dest='update',
378
help='update translation files (needs a project file)')
379
parser.add_option('-g', '--generate', dest='generate', action='store_true',
380
help='compile .ts files into .qm files')
381
parser.add_option('-v', '--verbose', dest='verbose', action='store_true',
382
help='show extra information while processing translations')
383
parser.add_option('-q', '--quiet', dest='quiet', action='store_true',
384
help='suppress all output other than errors')
385
parser.add_option('-f', '--check-format-strings', dest='check', action='store_true',
386
help='check that format strings are matching in translations')
387
(options, args) = parser.parse_args()
373
parser = ArgumentParser(usage=usage)
374
parser.add_argument('-U', '--username', dest='username', metavar='USERNAME',
375
help='Transifex username, used for authentication')
376
parser.add_argument('-P', '--password', dest='password', metavar='PASSWORD',
377
help='Transifex password, used for authentication')
378
parser.add_argument('-d', '--download-ts', dest='download',
379
action='store_true', help='download language files from Transifex')
380
parser.add_argument('-c', '--create', dest='create', action='store_true',
381
help='go to Transifex to request a new translation file')
382
parser.add_argument('-p', '--prepare', dest='prepare', action='store_true',
383
help='generate a project file, used to update the translations')
384
parser.add_argument('-u', '--update', action='store_true', dest='update',
385
help='update translation files (needs a project file)')
386
parser.add_argument('-g', '--generate', dest='generate', action='store_true',
387
help='compile .ts files into .qm files')
388
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
389
help='show extra information while processing translations')
390
parser.add_argument('-q', '--quiet', dest='quiet', action='store_true',
391
help='suppress all output other than errors')
392
parser.add_argument('-f', '--check-format-strings', dest='check', action='store_true',
393
help='check that format strings are matching in translations')
394
args = parser.parse_args()
388
395
# Create and populate the command stack
389
396
command_stack = CommandStack()
391
398
command_stack.append(Command.Download)
393
command_stack.append(Command.Create, arguments=[options.create])
400
command_stack.append(Command.Create, arguments=[args.create])
395
402
command_stack.append(Command.Prepare)
397
404
command_stack.append(Command.Update)
399
406
command_stack.append(Command.Generate)
401
408
command_stack.append(Command.Check)
402
verbose_mode = options.verbose
403
quiet_mode = options.quiet
405
username = options.username
407
password = options.password
409
verbose_mode = args.verbose
410
quiet_mode = args.quiet
412
username = args.username
414
password = args.password
408
415
if not command_stack:
409
416
command_stack.append(Command.Download)
410
417
command_stack.append(Command.Prepare)
411
418
command_stack.append(Command.Update)
412
419
command_stack.append(Command.Generate)
413
420
# Process the commands
414
process_stack(command_stack)
421
return process_stack(command_stack)
416
424
if __name__ == '__main__':
417
425
if os.path.split(os.path.abspath('.'))[1] != 'scripts':
418
426
print('You need to run this script from the scripts directory.')