Ejemplo n.º 1
0
    def _generateLuaByFieldNameOrder(self, value, fieldNameOrder):
        content = ''
        isList = False
        count = 1
        
        if isinstance(value, list):
            content += '{'
            isList = True
            count = len(value)

        ll = []
        for i in xrange(count):
            if isList:
                iteration = value[i]
            else:
                iteration = value
            text = '{'
            l = []
            for key in fieldNameOrder:
                if key in iteration.keys():
                    l.append('[' + Util.value2luastr(key) + '] = ' + Util.value2luastr(iteration[key]))
            text += ', '.join(l)
            text += '}'
            ll.append(text)
        content += ', '.join(ll)

        if isList:
            content += '}'

        return content
Ejemplo n.º 2
0
    def _generateLuaText(self, iDatas, iFieldNameOrders):
        content = '--\n'

        headKeySet = set()
        for head in self.heads:
            content += '-- ' + head[Util.FILE_IDENTIFY] + '.csv\n'
            for i in xrange(len(head[Util.COLUMN_NAME_KEY])):
                if not head[Util.COLUMN_NAME_KEY][i] in headKeySet\
                    and self.outputComment.has_key(head[Util.COLUMN_NAME_KEY][i]):
                    content += '-- ' + head[Util.COLUMN_NAME_KEY][i] + ' = ' + head[Util.FIELD_NAME_KEY][i] + '\n'
                    headKeySet.add(head[Util.COLUMN_NAME_KEY][i])
                    self.outputComment.pop(head[Util.COLUMN_NAME_KEY][i])

        for key, value in self.outputComment.iteritems():
            if not key in headKeySet:
                content += '-- ' + key + ' = ' + value + '\n'

        content += '\nlocal data = {\n'
        ll = []
        for index, data in enumerate(iDatas):
            fieldNameOrder = iFieldNameOrders[index]
            for key, value in sorted(data.items()):
                ll.append('    [' + Util.value2luastr(key) + '] = '\
                + self._generateLuaByFieldNameOrder(value, fieldNameOrder))
        content += ',\n'.join(ll)
        content += '\n}\n\n'
        content += 'return data'
        return content
Ejemplo n.º 3
0
    def _generateLuaText(self, iDatas, iIdentifies):
        content = '--\n'

        for identify in iIdentifies:
            content += '-- ' + identify + '.csv\n'

        content += '\nlocal data = {\n'
        ll = []
        for i, data in enumerate(iDatas):
            text = '    [' + Util.value2luastr(
                data[0]) + '] = ' + Util.value2luastr(data[1])
            text += ', -- ' + data[2] if i < len(
                iDatas) - 1 else ' -- ' + data[2]
            ll.append(text)
        content += '\n'.join(ll)
        content += '\n}\n\n'
        content += 'return data'
        return content