При попытке загрузить данные формы у меня возникла проблема с форматом данных. В словарь добавляется дополнительный пробел, как я могу от него избавиться? - PullRequest
0 голосов
/ 21 февраля 2020

При создании утилиты, которая загружает данные формы и создает текстовый файл с данными, вводимыми пользователем. Я пытался создать шаблон в соответствии с требованиями, пытаясь поместить все входные данные в словарь. Данные собираются правильно, но при каждой загрузке между PDU добавляется дополнительное пространство строки: PDU_IP. Также я перебираю переменный шаг 2 раза, [0] -ая итерация в порядке, но [1] -ая итерация идет на той же строке, где заканчивается первый словарь (т.е. строка после Controller_ID # 4). Как я могу получить это в следующей строке? Любая помощь очень ценится. Спасибо за потраченное время и усилия.

Вот так выглядят мои данные

const step = oForm.chassis.value;

        let payload = '';
        //Creating the data elements to be cpatured in the downloaded yaml file 
        var ctrl_ref={0:[0,1],
                    1:[2,3]};

        for (let i = 0; i < step; i++) {
        //  console.log('Walking east one step');
        const ctrl_id=ctrl_ref[i];

        payload+= '-  # UUT' + i + ' configuration'+'\n    -  # Chassis ' + i + ' configuration'+ String.fromCharCode(10);

        const addToPayload = (object, whitespace) => {

        for (const key of Object.keys(object)) {
            payload += key + '\n';
            const details = object[key];
            for (const key1 of Object.keys(details)){
            const value = details[key1];
            str=value[0];
            com=value[2];
            val=value[1];
            whitespace=value[3];
            var input= JSON.stringify(val);
if (oForm.ctrls.value==2){
        const ctrl_id=ctrl_ref[i];
        let data = {"   PDU:": {"PDU_IP":['     PDU_IP',' '+ oForm.ip.value,"   #PDU IP",'  '+'\n'],
          "PDU_LEFT":['     PDU_LEFT',[oForm.lo.value]," # left_outlet(s) ",'   '+'\n'],
          "PDU_RIGHT":['        PDU_RIGHT',[oForm.ro.value]," # right_outlet(s) ", '    '+'\n']
        },  
        "   \n  Controller: # Controller settings ": {  

            "Controller_ID#1": ["            -  # Controller A for RBOD/EBOD"],
                "iSCSI_IPs_A":['                iSCSI_IPs',icsciIp[ctrl_id[0]].value,"  #iSCSI IP ",''+'\n'],
                "Netmask IP_A":["                MC_IP",' '+mcIps[ctrl_id[0]].value,'  # RBOD MC IP',''+'\n'],
                "MC_Netmask_A": ["                MC_Netmask",' '+mcNetmasks[ctrl_id[0]].value,'  # RBOD MC Netmask',''+'\n'],
                'MC_Gateway_A':['                MC_Gateway',' '+mcGateways[ctrl_id[0]].value,'  # RBOD MC Gateway',''+'\n'],
                'MC_A': ['                MC',' '+mc[ctrl_id[0]].value,'  # RBOD MC port',''+'\n'],
                'SC_A':['                SC',' '+sc[ctrl_id[0]].value,'  # RBOD SC port',''+'\n'],
                'FU_A':['                FU',' '+fu[ctrl_id[0]].value,'  # RBOD FU port',''+'\n'],
                'EC_A':["                EC",' '+ec[ctrl_id[0]].value,'  # EC port on RBOD or GEM port on JBOD',''+'\n'],
                'Controller_ID#2': ["           ID",' '+Ctids[i+1].value,"  #Controller ID, A or B",''+'\n'],       
            "Controller_ID#3": ['\n'+"            -  # Controller A for RBOD/EBOD"],
                "iSCSI_IPs_B":['                iSCSI_IPs',icsciIp[ctrl_id[1]].value,"  #iSCSI IP ",''+'\n'],
                "Netmask IP_B":["                MC_IP",' '+mcIps[ctrl_id[1]].value,'  # RBOD MC IP',''+'\n'],
                "MC_Netmask_B":["                MC_Netmask",' '+mcNetmasks[ctrl_id[1]].value,'  # RBOD MC Netmask',''+'\n'],
                'MC_Gateway_B':['                MC_Gateway',' '+mcGateways[ctrl_id[1]].value,'  # RBOD MC Gateway',''+'\n'],
                'MC_B': ['                MC',' '+mc[ctrl_id[1]].value,'  # RBOD MC port',''+'\n'],
                'SC_B':['                SC',' '+sc[ctrl_id[1]].value,'  # RBOD SC port',''+'\n'],
                'FU_B':['                FU',' '+fu[ctrl_id[1]].value,'  # RBOD FU port',''+'\n'],
                'EC_B':["                EC",' '+ec[ctrl_id[1]].value,'  # EC port on RBOD or GEM port on JBOD',''+'\n'],
                'Controller_ID#4': ["                ID",' '+Ctids[ctrl_id[1]].value,"  #Controller ID, A or B",''+'\n'],       
        }
        }
        addToPayload(data, '' );
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...