Preliminary SVG-edit Support
WYSIWYG SVG editing. Still no support for mixed SVG/MathML content, yet.
This commit is contained in:
parent
954bcb52c2
commit
c3ed5b461b
224 changed files with 32910 additions and 21 deletions
75
public/svg-edit/extras/update-langs.py
Executable file
75
public/svg-edit/extras/update-langs.py
Executable file
|
@ -0,0 +1,75 @@
|
|||
#!/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 Apache 2 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 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:
|
||||
try:
|
||||
ids = row['id']
|
||||
if ids in tools:
|
||||
row[u'textContent'] = row.pop('title')
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
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
|
||||
j.sort()
|
||||
for row in j:
|
||||
try:
|
||||
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()
|
||||
|
||||
try:
|
||||
j = json.loads(in_string)
|
||||
|
||||
# process the JSON object here
|
||||
# updateMainMenu(j)
|
||||
|
||||
# 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":
|
||||
processFile(file_name)
|
Loading…
Add table
Add a link
Reference in a new issue