Пример #1
0
    def save_figure(self, *args):
        filetypes = self.mplwidget.get_supported_filetypes_grouped()
        sorted_filetypes = filetypes.items()
        sorted_filetypes.sort()
        default_filetype = self.mplwidget.get_default_filetype()
        output_dir = CONF.get('paths', 'output_dir')
        start = os.path.join(output_dir, 'image.') + default_filetype
        filters = []
        selectedFilter = None
        for name, exts in sorted_filetypes:
            exts_list = " ".join(['*.%s' % ext for ext in exts])
            filtre = '%s (%s)' % (name, exts_list)
            if default_filetype in exts:
                selectedFilter = filtre
            filters.append(filtre)
        filters = ';;'.join(filters)

        fname = QFileDialog.getSaveFileName(self, "Enregistrer l'image", start,
                                            filters, selectedFilter)

        if fname:
            CONF.set('paths', 'output_dir', os.path.dirname(str(fname)))
            try:
                self.mplwidget.print_figure(unicode(fname))
            except Exception, e:
                QMessageBox.critical(self, "Erreur en enregistrant le fichier",
                                     str(e), QMessageBox.Ok,
                                     QMessageBox.NoButton)
Пример #2
0
    def save_figure(self, *args):
        filetypes = self.mplwidget.get_supported_filetypes_grouped()
        sorted_filetypes = filetypes.items()
        sorted_filetypes.sort()
        default_filetype = self.mplwidget.get_default_filetype()
        output_dir = CONF.get('paths', 'output_dir')
        start = os.path.join(output_dir, 'image.') + default_filetype
        filters = []
        selectedFilter = None
        for name, exts in sorted_filetypes:
            exts_list = " ".join(['*.%s' % ext for ext in exts])
            filtre = '%s (%s)' % (name, exts_list)
            if default_filetype in exts:
                selectedFilter = filtre
            filters.append(filtre)
        filters = ';;'.join(filters)

        fname = QFileDialog.getSaveFileName(
            self, "Enregistrer l'image", start, filters, selectedFilter)


        if fname:
            CONF.set('paths', 'output_dir', os.path.dirname(str(fname)))
            try:
                self.mplwidget.print_figure( unicode(fname) )
            except Exception, e:
                QMessageBox.critical(
                    self, "Erreur en enregistrant le fichier", str(e),
                    QMessageBox.Ok, QMessageBox.NoButton)
Пример #3
0
 def set_date(self, date=None):
     if date == None:
         self._date = CONF.get('simulation', 'datesim')
     else:
         self._date = date
         CONF.set('simulation', 'datesim',str(self._date))
     print self._date
Пример #4
0
 def set_date(self, date=None):
     if date == None:
         self._date = CONF.get('simulation', 'datesim')
     else:
         self._date = date
         CONF.set('simulation', 'datesim', str(self._date))
     print self._date
Пример #5
0
    def saveCsv(self):
        output_dir = CONF.get('paths', 'output_dir')
        user_path = os.path.join(output_dir, 'sans-titre.csv')

        fname = QFileDialog.getSaveFileName(self,
                                               u"Exporter la table", user_path, u"CSV (séparateur: point virgule) (*.csv)")
        
        if fname:
            CONF.set('paths', 'output_dir', os.path.dirname(str(fname)))
            try:
                now = datetime.now()
                csvfile = open(fname, 'wb')
                writer = UnicodeWriter(csvfile, dialect= csv.excel, delimiter=';')
                writer.writerow([u'OpenFisca'])
                writer.writerow([u'Calculé le %s à %s' % (now.strftime('%d-%m-%Y'), now.strftime('%H:%M'))])
                writer.writerow([u'Système socio-fiscal au %s' % CONF.get('simulation', 'datesim')])
                writer.writerow([])
                
                for row in self.data:
                    if not row.desc in ('root'):
                        outlist = [row.desc]
                        for val in row.vals:
                            outlist.append(locale.str(val))
                        writer.writerow(outlist)
                csvfile.close()                
            except Exception, e:
                QMessageBox.critical(
                    self, "Error saving file", str(e),
                    QMessageBox.Ok, QMessageBox.NoButton)
Пример #6
0
    def save_table(self, table_format=None):

        if table_format is None:
            table_format = CONF.get('paths', 'table')

        output_dir = CONF.get('paths', 'output_dir')
        filename = 'sans-titre.' + table_format
        user_path = os.path.join(output_dir, filename)

        extension = table_format.upper() + "   (*." + table_format + ")"
        fname = QFileDialog.getSaveFileName(self, u"Exporter la table",
                                            user_path, extension)

        if fname:
            CONF.set('paths', 'output_dir', os.path.dirname(str(fname)))
            try:
                if table_format == "xls":
                    writer = ExcelWriter(str(fname))
                    df = self.create_dataframe()
                    descr = self.create_description()
                    df.to_excel(writer, "table", index=True, header=False)
                    descr.to_excel(writer,
                                   "description",
                                   index=False,
                                   header=False)
                    writer.save()
                elif table_format == "csv":
                    # TODO: use DataFrame's ?
                    now = datetime.now()
                    csvfile = open(fname, 'wb')
                    writer = UnicodeWriter(csvfile,
                                           dialect=csv.excel,
                                           delimiter=';')

                    for row in self.data:
                        if not row.desc in ('root'):
                            outlist = [row.desc]
                            for val in row.vals:
                                outlist.append(locale.str(val))
                            writer.writerow(outlist)

                    writer.writerow([u'OpenFisca'])
                    writer.writerow([
                        u'Calculé le %s à %s' %
                        (now.strftime('%d-%m-%Y'), now.strftime('%H:%M'))
                    ])
                    writer.writerow([
                        u'Système socio-fiscal au %s' %
                        CONF.get('simulation', 'datesim')
                    ])
                    writer.writerow([])

                    csvfile.close()

            except Exception, e:
                QMessageBox.critical(self, "Error saving file", str(e),
                                     QMessageBox.Ok, QMessageBox.NoButton)
Пример #7
0
    def set_openfica_root_dir(self, directory = None):
        '''
        Sets the directory where to find the openfisca source and adjust some directories
        TODO à améliorer
        '''
        if directory == None:
#            self.openfica_root_dir = "C:/Users/Utilisateur/My Documents/Aptana Studio 3 Workspace/web/srcopen"
            self.openfica_root_dir = "/home/florent/workspace/openfisca/srcopen/"
        else:
            self.openfica_root_dir = directory    
        
        CONF.set('paths', 'data_dir',os.path.join(self.openfica_root_dir,'data'))
Пример #8
0
    def set_config(self, directory = None, nmen=1):
        '''
        Sets the directory where to find the openfisca source and adjust some directories
        '''
        if directory == None:
#   TODO REMOVE         dir = "C:/Users/Utilisateur/My Documents/Aptana Studio 3 Workspace/web/srcopen"
#            dir = "/home/florent/workspace/openfisca/srcopen/"
            cmd_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile( inspect.currentframe() ))[0]))
            predirectory = os.path.dirname(cmd_folder)
            directory = os.path.join(predirectory,'srcopen')

        CONF.set('paths', 'data_dir',os.path.join(directory,'data'))
        CONF.set('simulation', 'nmen',1)
Пример #9
0
    def set_config(self, directory = None, nmen = None):
        '''
        Sets the directory where to find the openfisca source and adjust some directories
        '''
        if directory is None:
            cmd_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile( inspect.currentframe() ))[0]))
            predirectory = os.path.dirname(cmd_folder)
            directory = os.path.join(predirectory,'srcopen')

        CONF.set('paths', 'data_dir', os.path.join(directory,'data'))

        if nmen is None:
            nmen = 1
        
        CONF.set('simulation', 'nmen', nmen)
Пример #10
0
 def loadXml(self):
     reformes_dir = CONF.get('paths', 'reformes_dir')
     fileName = QFileDialog.getOpenFileName(self,
                                            u"Ouvrir une réforme", reformes_dir, u"Paramètres OpenFisca (*.ofp)")
     if not fileName == '':
         try: 
             loader = XmlReader(str(fileName))
             CONF.set('simulation', 'datesim',str(loader._date))
             self.initialize()
             self._rootNode.load(loader.tree)
             self.changed()
         except Exception, e:
             QMessageBox.critical(
                 self, "Erreur", u"Impossible de lire le fichier : " + str(e),
                 QMessageBox.Ok, QMessageBox.NoButton)
Пример #11
0
    def set_config(self, directory=None, nmen=1):
        '''
        Sets the directory where to find the openfisca source and adjust some directories
        '''
        if directory == None:
            #   TODO REMOVE         dir = "C:/Users/Utilisateur/My Documents/Aptana Studio 3 Workspace/web/srcopen"
            #            dir = "/home/florent/workspace/openfisca/srcopen/"
            cmd_folder = os.path.realpath(
                os.path.abspath(
                    os.path.split(inspect.getfile(inspect.currentframe()))[0]))
            predirectory = os.path.dirname(cmd_folder)
            directory = os.path.join(predirectory, 'srcopen')

        CONF.set('paths', 'data_dir', os.path.join(directory, 'data'))
        CONF.set('simulation', 'nmen', 1)
Пример #12
0
    def set_config(self, directory=None, nmen=None):
        '''
        Sets the directory where to find the openfisca source and adjust some directories
        '''
        #        if directory is None:
        #            cmd_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile( inspect.currentframe() ))[0]))
        #            predirectory = os.path.dirname(cmd_folder)
        #            directory = os.path.join(predirectory,'../../srcopen')
        #
        #
        #        CONF.set('paths', 'data_dir', os.path.join(directory,'data'))

        if nmen is None:
            nmen = 1

        CONF.set('simulation', 'nmen', nmen)
Пример #13
0
    def save_table(self, table_format = None):

        if table_format is None:
            table_format = CONF.get('paths', 'table')

        output_dir = CONF.get('paths', 'output_dir')
        filename = 'sans-titre.' + table_format
        user_path = os.path.join(output_dir, filename)

        extension = table_format.upper() + "   (*." + table_format + ")"
        fname = QFileDialog.getSaveFileName(self,
                                               u"Exporter la table", user_path, extension)

        if fname:
            CONF.set('paths', 'output_dir', os.path.dirname(str(fname)))
            try:
                if table_format == "xls":
                    writer = ExcelWriter(str(fname))
                    df = self.create_dataframe()
                    descr = self.create_description()
                    df.to_excel(writer, "table", index=True, header= False)
                    descr.to_excel(writer, "description", index = False, header=False)
                    writer.save()
                elif table_format =="csv":
                    # TODO: use DataFrame's ?
                    now = datetime.now()
                    csvfile = open(fname, 'wb')
                    writer = UnicodeWriter(csvfile, dialect= csv.excel, delimiter=';')

                    for row in self.data:
                        if not row.desc in ('root'):
                            outlist = [row.desc]
                            for val in row.vals:
                                outlist.append(locale.str(val))
                            writer.writerow(outlist)

                    writer.writerow([u'OpenFisca'])
                    writer.writerow([u'Calculé le %s à %s' % (now.strftime('%d-%m-%Y'), now.strftime('%H:%M'))])
                    writer.writerow([u'Système socio-fiscal au %s' % CONF.get('simulation', 'datesim')])
                    writer.writerow([])

                    csvfile.close()

            except Exception, e:
                QMessageBox.critical(
                    self, "Error saving file", str(e),
                    QMessageBox.Ok, QMessageBox.NoButton)
Пример #14
0
 def loadXml(self):
     reformes_dir = CONF.get('paths', 'reformes_dir')
     fileName = QFileDialog.getOpenFileName(
         self, u"Ouvrir une réforme", reformes_dir,
         u"Paramètres OpenFisca (*.ofp)")
     if not fileName == '':
         try:
             loader = XmlReader(str(fileName))
             CONF.set('simulation', 'datesim', str(loader._date))
             self.initialize()
             self._rootNode.load(loader.tree)
             self.changed()
         except Exception, e:
             QMessageBox.critical(
                 self, "Erreur",
                 u"Impossible de lire le fichier : " + str(e),
                 QMessageBox.Ok, QMessageBox.NoButton)
Пример #15
0
    def saveCsv(self):
        output_dir = CONF.get('paths', 'output_dir')
        user_path = os.path.join(output_dir, 'sans-titre.csv')

        fname = QFileDialog.getSaveFileName(
            self, u"Exporter la table", user_path,
            u"CSV (séparateur: point virgule) (*.csv)")

        if fname:
            CONF.set('paths', 'output_dir', os.path.dirname(str(fname)))
            try:
                now = datetime.now()
                csvfile = open(fname, 'wb')
                writer = UnicodeWriter(csvfile,
                                       dialect=csv.excel,
                                       delimiter=';')
                writer.writerow([u'OpenFisca'])
                writer.writerow([
                    u'Calculé le %s à %s' %
                    (now.strftime('%d-%m-%Y'), now.strftime('%H:%M'))
                ])
                writer.writerow([
                    u'Système socio-fiscal au %s' %
                    CONF.get('simulation', 'datesim')
                ])
                writer.writerow([])

                for row in self.data:
                    if not row.desc in ('root'):
                        outlist = [row.desc]
                        for val in row.vals:
                            outlist.append(locale.str(val))
                        writer.writerow(outlist)
                csvfile.close()
            except Exception, e:
                QMessageBox.critical(self, "Error saving file", str(e),
                                     QMessageBox.Ok, QMessageBox.NoButton)
Пример #16
0
 def modeCasType(self):
     self.mode = 'castype'
     CONF.set('simulation', 'nmen', 1)
     self.changed_bareme()
Пример #17
0
 def modeBareme(self):
     self.mode = 'bareme'
     NMEN = CONF.get('simulation', 'nmen')
     if NMEN == 1: CONF.set('simulation', 'nmen', 101)
     print "date", CONF.get('simulation', 'datesim')
     self.changed_bareme()
Пример #18
0
 def modeCasType(self):
     self.mode = 'castype'
     CONF.set('simulation', 'nmen', 1)
     self.changed_bareme()
Пример #19
0
 def modeBareme(self):
     self.mode = 'bareme'
     NMEN = CONF.get('simulation', 'nmen')
     if NMEN == 1: CONF.set('simulation', 'nmen', 101)
     self.changed_bareme()