Exemplo n.º 1
0
def convertcsv(inputfile, outputfile, templatefile, charset=None, columnorder=None):
    """reads in inputfile using csvl10n, converts using csv2tbx, writes to outputfile"""
    inputstore = csvl10n.csvfile(inputfile, fieldnames=columnorder)
    convertor = csv2tbx(charset=charset)
    outputstore = convertor.convertfile(inputstore)
    if len(outputstore.units) == 0:
        return 0
    outputfile.write(str(outputstore))
    return 1
Exemplo n.º 2
0
 def convertstore(self, inputstore, columnorder=None):
     outputstore = csvl10n.csvfile(fieldnames=columnorder)
     for inputunit in inputstore.units:
         outputunit = self.convertunit(inputunit)
         if outputunit is not None:
             outputstore.addunit(outputunit)
         if inputunit.hasplural():
             outputunit = self.convertplurals(inputunit)
             if outputunit is not None:
                 outputstore.addunit(outputunit)
     return outputstore
Exemplo n.º 3
0
 def buildcsv(self, sources, targets=None):
     """Build a csvfile store with the given source and target strings"""
     if targets is None:
         targets = sources
     else:
         assert len(sources) == len(targets)
     csvfile = csvl10n.csvfile()
     for source, target in zip(sources, targets):
         unit = csvfile.addsourceunit(source)
         unit.target = target
     return csvfile
Exemplo n.º 4
0
 def buildcsv(self, sources, targets=None):
     """Build a csvfile store with the given source and target strings"""
     if targets is None:
         targets = sources
     else:
         assert len(sources) == len(targets)
     csvfile = csvl10n.csvfile()
     for source, target in zip(sources, targets):
         unit = csvfile.addsourceunit(source)
         unit.target = target
     return csvfile
Exemplo n.º 5
0
def convertcsv(inputfile, outputfile, templatefile, charset=None,
               columnorder=None):
    """reads in inputfile using csvl10n, converts using csv2tbx, writes to
    outputfile"""
    inputstore = csvl10n.csvfile(inputfile, fieldnames=columnorder)
    convertor = csv2tbx(charset=charset)
    outputstore = convertor.convertfile(inputstore)
    if len(outputstore.units) == 0:
        return 0
    outputfile.write(str(outputstore))
    return 1
Exemplo n.º 6
0
 def csv2po(self, csvsource, template=None):
     """helper that converts csv source to po source without requiring files"""
     inputfile = BytesIO(csvsource)
     inputcsv = csvl10n.csvfile(inputfile)
     if template:
         templatefile = BytesIO(template.encode())
         inputpot = po.pofile(templatefile)
     else:
         inputpot = None
     convertor = csv2po.csv2po(templatepo=inputpot)
     return convertor.convertstore(inputcsv)
Exemplo n.º 7
0
 def csv2po(self, csvsource, template=None):
     """helper that converts csv source to po source without requiring files"""
     inputfile = wStringIO.StringIO(csvsource)
     inputcsv = csvl10n.csvfile(inputfile)
     if template:
         templatefile = wStringIO.StringIO(template)
         inputpot = po.pofile(templatefile)
     else:
         inputpot = None
     convertor = csv2po.csv2po(templatepo=inputpot)
     outputpo = convertor.convertstore(inputcsv)
     return outputpo
Exemplo n.º 8
0
 def convertstore(self, inputstore, columnorder=None):
     if columnorder is None:
         columnorder = ['location', 'source', 'target']
     outputstore = csvl10n.csvfile(fieldnames=columnorder)
     for inputunit in inputstore.units:
         outputunit = self.convertunit(inputunit)
         if outputunit is not None:
             outputstore.addunit(outputunit)
         if inputunit.hasplural():
             outputunit = self.convertplurals(inputunit)
             if outputunit is not None:
                 outputstore.addunit(outputunit)
     return outputstore
Exemplo n.º 9
0
 def convertstore(self, inputstore, columnorder=None):
     if columnorder is None:
         columnorder = ['location', 'source', 'target']
     outputstore = csvl10n.csvfile(fieldnames=columnorder)
     for inputunit in inputstore.units:
         outputunit = self.convertunit(inputunit)
         if outputunit is not None:
             outputstore.addunit(outputunit)
         if inputunit.hasplural():
             outputunit = self.convertplurals(inputunit)
             if outputunit is not None:
                 outputstore.addunit(outputunit)
     return outputstore
Exemplo n.º 10
0
def convertcsv(inputfile, outputfile, templatefile, charset=None, columnorder=None, duplicatestyle="msgctxt"):
    """reads in inputfile using csvl10n, converts using csv2po, writes to outputfile"""
    inputstore = csvl10n.csvfile(inputfile, fieldnames=columnorder)
    if templatefile is None:
        convertor = csv2po(charset=charset, duplicatestyle=duplicatestyle)
    else:
        templatestore = po.pofile(templatefile)
        convertor = csv2po(templatestore, charset=charset, duplicatestyle=duplicatestyle)
    outputstore = convertor.convertstore(inputstore)
    if outputstore.isempty():
        return 0
    outputfile.write(str(outputstore))
    return 1
Exemplo n.º 11
0
    def test_quotes(self):
        """Test the escaping of quotes (and slash)"""
        minicsv = r''',"Hello ""Everyone""","Good day ""All"""
,"Use \"".","Gebruik \""."'''
        print minicsv
        csvfile = csvl10n.csvfile(wStringIO.StringIO(minicsv))
        print str(csvfile)
        pofile = self.csv2po(minicsv)
        unit = first_translatable(pofile)
        assert unit.source == 'Hello "Everyone"'
        assert pofile.findunit('Hello "Everyone"').target == 'Good day "All"'
        print str(pofile)
        for unit in pofile.units:
            print unit.source
            print unit.target
            print
Exemplo n.º 12
0
    def upload(self, request, project, language, fileobj, method):
        """
        Handles dictionary update.
        """
        # Load file using translate-toolkit
        store = AutoFormat.load(fileobj)

        ret, skipped = self.import_store(request, project, language, store, method)

        if ret == 0 and skipped > 0 and isinstance(store, csvfile):
            # Retry with different CSV scheme
            fileobj.seek(0)
            store = csvfile(fileobj, ("source", "target"))
            ret, skipped = self.import_store(request, project, language, store, method)

        return ret
Exemplo n.º 13
0
    def test_quotes(self):
        """Test the escaping of quotes (and slash)"""
        minicsv = r''',"Hello ""Everyone""","Good day ""All"""
,"Use \"".","Gebruik \""."'''
        print(minicsv)
        csvfile = csvl10n.csvfile(wStringIO.StringIO(minicsv))
        print(bytes(csvfile))
        pofile = self.csv2po(minicsv)
        unit = first_translatable(pofile)
        assert unit.source == 'Hello "Everyone"'
        assert pofile.findunit('Hello "Everyone"').target == 'Good day "All"'
        print(bytes(pofile))
        for unit in pofile.units:
            print(unit.source)
            print(unit.target)
            print()
Exemplo n.º 14
0
    def upload(self, request, project, language, fileobj, method):
        '''
        Handles dictionary update.
        '''
        # Load file using translate-toolkit
        store = AutoFormat.load(fileobj)

        ret, skipped = self.import_store(request, project, language, store,
                                         method)

        if ret == 0 and skipped > 0 and isinstance(store, csvfile):
            # Retry with different CSV scheme
            fileobj.seek(0)
            store = csvfile(fileobj, ('source', 'target'))
            ret, skipped = self.import_store(request, project, language, store,
                                             method)

        return ret
Exemplo n.º 15
0
    def upload(self, request, project, language, fileobj, method):
        '''
        Handles dictionary update.
        '''
        filecopy = fileobj.read()
        fileobj.close()
        # Load file using translate-toolkit
        store = AutoFormat.load(StringIOMode(fileobj.name, filecopy))

        ret, skipped = self.import_store(request, project, language, store,
                                         method)

        if ret == 0 and skipped > 0 and isinstance(store, csvfile):
            # Retry with different CSV scheme
            store = csvfile(StringIOMode(fileobj.name, filecopy),
                            ('source', 'target'))
            ret, skipped = self.import_store(request, project, language, store,
                                             method)

        return ret
Exemplo n.º 16
0
    def upload(self, request, project, language, fileobj, method):
        '''
        Handles dictionary update.
        '''
        filecopy = fileobj.read()
        fileobj.close()
        # Load file using translate-toolkit
        store = AutoFormat.load(StringIOMode(fileobj.name, filecopy))

        ret, skipped = self.import_store(
            request, project, language, store, method
        )

        if ret == 0 and skipped > 0 and isinstance(store, csvfile):
            # Retry with different CSV scheme
            store = csvfile(
                StringIOMode(fileobj.name, filecopy),
                ('source', 'target')
            )
            ret, skipped = self.import_store(
                request, project, language, store, method
            )

        return ret
Exemplo n.º 17
0
def initcsv(inputfile, columnorder=None):
    return csvl10n.csvfile(inputfile, columnorder)
Exemplo n.º 18
0
 def get_storage(self):
     return csvfile(fieldnames=self.fieldnames)
Exemplo n.º 19
0
 def get_storage(self):
     return csvfile(fieldnames=self.fieldnames)
Exemplo n.º 20
0
 def get_storage(self):
     return csvfile()
Exemplo n.º 21
0
def initcsv(inputfile, columnorder=None):
    return csvl10n.csvfile(inputfile, columnorder)
Exemplo n.º 22
0
 def get_storage(self):
     return csvfile()