source: pyromaths/trunk/fuentes/src/pyromaths/pyromaths.py @ 423

Last change on this file since 423 was 423, checked in by mabarracus, 4 years ago

add sources from pyromaths 15.10

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1#!/usr/bin/python
2# -*- coding: utf-8 -*-
3#
4# Pyromaths
5# Un programme en Python qui permet de créer des fiches d'exercices types de
6# mathématiques niveau collège ainsi que leur corrigé en LaTeX.
7# Copyright (C) 2006 -- Jérôme Ortais (jerome.ortais@pyromaths.org)
8#
9# This program is free software; you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, write to the Free Software
21# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
23import gettext
24from sys import argv, exit
25import sys
26from os import access, R_OK, makedirs
27from os.path import join, isdir, dirname, realpath, split
28from codecs import open
29
30def main():
31#===============================================================================
32# Imports spécifiques à Pyromaths
33#===============================================================================
34
35    locale_dir = join(dirname(__file__), '../../locale/')
36    locale_dir = realpath(locale_dir)
37
38    gettext.install('pyromaths', localedir=locale_dir, unicode=1)
39
40
41    from outils.System import create_config_file, modify_config_file
42    from outils.TestEnv import test
43    from Values import CONFIGDIR
44
45    import interface
46    from PyQt4 import QtGui
47    class StartQT4(QtGui.QMainWindow, interface.Ui_MainWindow):
48        def __init__(self, parent=None):
49            QtGui.QWidget.__init__(self, parent)
50            self.ui = interface.Ui_MainWindow()
51            self.ui.setupUi(self)
52
53    #===========================================================================
54    # Création du fichier de configuration si inexistant
55    #===========================================================================
56    if not access(join(CONFIGDIR, "pyromaths.xml"), R_OK):
57        if not isdir(CONFIGDIR): makedirs(CONFIGDIR)
58        f = open(join(CONFIGDIR, "pyromaths.xml"), encoding='utf-8', mode='w')
59        f.write(u"" + create_config_file())
60        f.close()
61    modify_config_file(join(CONFIGDIR, "pyromaths.xml"))
62    templatesdir = join(CONFIGDIR, "templates")
63    if not isdir(templatesdir): makedirs(templatesdir)
64    packagesdir = join(CONFIGDIR, "packages")
65    if not isdir(packagesdir): makedirs(packagesdir)
66
67    app = QtGui.QApplication(argv)
68    pyromaths = StartQT4()
69
70    # Intégration de QTranslator
71    from PyQt4.QtCore import QTranslator
72    translator = QTranslator()
73    translator.load("qtmac_fr", "data")
74    app.installTranslator(translator)
75
76    pyromaths.show()
77    test(pyromaths)
78
79    exit(app.exec_())
80
81if __name__ == "__main__":
82    basedir = dirname(realpath(__file__))
83    _path, _dir = split(basedir)
84    sys.path[0] = realpath(_path)
85    exec("from %s import pyromaths" % _dir)
86    pyromaths.main()
Note: See TracBrowser for help on using the repository browser.