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
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
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