Exemplo n.º 1
0
 def set_xsd(self):
     """Setejar el fitxer xsd"""
     if self.tipus not in XSD_DATA:
         msg = _('Codi de proces \'%s\' no suportat') % self.tipus
         raise except_f1('Error', msg)
     if self.pas not in XSD_DATA[self.tipus]:
         msg = _('Codi de pas \'%s\'  no suportat') % self.pas
         raise except_f1('Error', msg)
     try:
         if isinstance(XSD_DATA[self.tipus][self.pas], tuple):
             trobat = False
             root = objectify.fromstring(self.str_xml)
             for fitxer in XSD_DATA[self.tipus][self.pas]:
                 if fitxer.split(".xsd")[0] in root.tag:
                     trobat = True
                     break
             if not trobat:
                 msg = (_('Tipus de fitxer \'%s\' no suportat') %
                                                           root.tag)
                 raise except_f1('Error', msg)
         else:
             fitxer = XSD_DATA[self.tipus][self.pas]
         self._header = fitxer.split(".xsd")[0]
         xsd = switching.get_data(fitxer)
         self.f_xsd = open(xsd, 'r')
     except:
         msg = (_('Fitxer \'%s\' corrupte') %
                  switching.get_data(XSD_DATA[self.tipus]))
         raise except_f1('Error', msg)
Exemplo n.º 2
0
                    if fitxer.split(".xsd")[0] in root.tag:
                        trobat = True
                        break
                if not trobat:
                    msg = (_('Tipus de fitxer \'%s\' no suportat') % root.tag)
                    raise except_f1('Error', msg)
            else:
                fitxer = XSD_DATA[self.tipus][self.pas]
            self._header = fitxer.split(".xsd")[0]
            xsd = switching.get_data(fitxer)
            self.f_xsd = open(xsd, 'r')
        except except_f1, e:
            raise e
        except:
            msg = (_('Fitxer \'%s\' corrupte') %
                     switching.get_data(XSD_DATA[self.tipus]))
            raise except_f1('Error', msg)

    def get_pas_xml(self):
        """Obtenir el pas del missatge"""
        return self.pas

    def parse_xml(self):
        """Importar el contingut de l'xml"""
        self.check_fpos(self.f_xsd)
        schema = etree.XMLSchema(file=self.f_xsd)
        parser = objectify.makeparser(schema=schema)
        try:
            self.obj = objectify.fromstring(self.str_xml, parser)
        except Exception, e:
            raise except_f1('Error', _(u'Document invàlid: {0}').format(e))