]> git.lyx.org Git - lyx.git/blob - lib/lyx2lyx/generate_encoding_info.py
Move DrawStrategy enum to update_flags.h.
[lyx.git] / lib / lyx2lyx / generate_encoding_info.py
1 # This file is part of lyx2lyx
2 # Copyright (C) 2006 José Matos <jamatos@lyx.org>
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17
18 """This module parses lib/languages and prints it as a python
19 dictionary, ready to use by other python modules"""
20
21 import pprint
22
23
24 def parse_line(line):
25     "Parse line from languages and return it as a list."
26     j = 0
27     tmp = []
28     while j < len(line):
29         token = line[j:].split()[0]
30         if not token:
31             break
32         if token[0] != '"':
33             tmp.append(token)
34             j += len(token) + 1
35         elif line[j + 1 :].find('"') != -1:
36             k = line.find('"', j + 1)
37             tmp.append(line[j + 1 : k])
38             j = k + 1
39         else:
40             tmp.append(line[j + 1 :])
41             break
42
43         while j < len(line) and line[j].isspace():
44             j += 1
45
46     return tmp
47
48
49 if __name__ == "__main__":
50     lines = open("../languages", "rb")
51     lang = {}
52     for line in lines:
53         if line[:1] != "#":
54             tmp = parse_line(line[:-1])
55             lang[tmp[0]] = tmp[1:]
56
57     print("# This file is generated by generate_incoding_info.py from lib/languages file.")
58     print("# Do not change this file directly.")
59     print()
60     print("lang = ", end=" ")
61     pprint.pprint(lang)