]> git.lyx.org Git - lyx.git/blob - lib/lyx2lyx/generate_encoding_info.py
* lyx_1_6.py (revert_wrapplacement):
[lyx.git] / lib / lyx2lyx / generate_encoding_info.py
1 # This file is part of lyx2lyx
2 # -*- coding: utf-8 -*-
3 # Copyright (C) 2006 José Matos <jamatos@lyx.org>
4 #
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18
19 """ This module parses lib/languages and prints it as a python
20 dictionary, ready to use by other python modules"""
21
22 import pprint
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
58     print "# This file is generated by generate_incoding_info.py from lib/languages file."
59     print "# Do not change this file directly."
60     print
61     print "lang = ",
62     pprint.pprint(lang)