]> git.lyx.org Git - lyx.git/blob - lib/lyx2lyx/generate_encoding_info.py
Support for multiple bibliographies setting "per child"
[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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  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 from __future__ import print_function
23 import pprint
24
25 def parse_line(line):
26     " Parse line from languages and return it as a list. "
27     j = 0
28     tmp = []
29     while j< len(line):
30         token = line[j:].split()[0]
31         if not token:
32             break
33         if token[0] != '"':
34             tmp.append(token)
35             j += len(token) + 1
36         elif line[j+1:].find('"') != -1:
37             k = line.find('"', j + 1)
38             tmp.append(line[j+1:k])
39             j = k + 1
40         else:
41             tmp.append(line[j+1:])
42             break
43
44         while j < len(line) and line[j].isspace():
45             j += 1
46
47     return tmp
48
49
50 if __name__ == '__main__':  
51     lines = open("../languages", "rb")
52     lang = {}
53     for line in lines:
54         if line[:1] != '#':
55             tmp = parse_line(line[:-1])
56             lang[tmp[0]] = tmp[1:]
57
58
59     print ("# This file is generated by generate_incoding_info.py from lib/languages file.")
60     print ("# Do not change this file directly.")
61     print ()
62     print ("lang = ", end = " ")
63     pprint.pprint(lang)