view htdocs/svg-edit/extras/ @ 654:8c828d7b6cd4 tip

PDFList: check for pyPdf.utils.PdfReadError
author Reimar Bauer <rb.proj AT googlemail DOT com>
date Wed, 07 Dec 2016 14:27:25 +0100
parents 8c00e2be925e
line wrap: on
line source
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
This is a helper script for the svg-edit project, useful for managing
all the language files

Licensed under the MIT License as is the rest of the project
Requires Python 2.6

Copyright (c) 2010 Jeff Schiller
import os
import json
from types import DictType

def changeTooltipTarget(j):
	Moves the tooltip target for some tools
	tools = ['rect_width', 'rect_height']
	for row in j:
			id = row['id']
			if id in tools:
				row['id'] = row['id'] + '_tool'
		except KeyError:
def updateMainMenu(j):
    Converts title into textContent for items in the main menu
    tools = ['tool_clear', 'tool_open', 'tool_save', 'tool_docprops']
    for row in j:
            ids = row['id']
            if ids in tools:
                row[u'textContent'] = row.pop('title')
        except KeyError:

def ourPrettyPrint(j):
    Outputs a string representation of the JSON object passed in
    formatted properly for our lang.XX.js files.
    s = '[' + os.linesep
    js_strings = None
    for row in j:
            ids = row['id']
            row_string = json.dumps(row, sort_keys=True, ensure_ascii=False)
            s += row_string + ',' + os.linesep
        except KeyError:
            if type(row) is DictType:
                js_strings = row

    s += json.dumps(js_strings, sort_keys=True, ensure_ascii=False, indent=1) + os.linesep
    s += ']'
    return s

def processFile(filename):
    Loads the given lang.XX.js file, processes it and saves it
    back to the file system
    in_string = open('../editor/locale/' + filename, 'r').read()

        j = json.loads(in_string)

        # process the JSON object here

        # now write it out back to the file
        s = ourPrettyPrint(j).encode("UTF-8")
        open('../editor/locale/' + filename, 'w').write(s)

        print "Updated " + filename
    except ValueError:
        print "ERROR!  " + filename + " was not valid JSON, please fix it!"

if __name__ == '__main__':
    # get list of all lang files and process them
    for file_name in os.listdir('../editor/locale/'):
        if file_name[:4] == "lang":