MorpheusXAUT / DelHel

Helps VATSIM controllers by automating repetitive delivery duties in EuroScope
MIT License
20 stars 10 forks source link

Failed to read airport config #18

Open Damka1974 opened 2 years ago

Damka1974 commented 2 years ago

Hello, I get the following erron,when I load the plugin...Config:Failed to read the airpot config.Error: Unknown exception. I will copy here the airports.json format...I can't understand the problem... Thanks in advance!

Apostolos Damkalis

{ "LGAV":{ "elevation":308, "sids":{ "ATV":{ "cfl":7000, "rwys":{ "21R":{ "dep":"ATV1G" }, "21L":{ "dep":"ATV1H" }, "03L":{ "dep":"ATV1K" }, "03R":{ "dep":"ATV2E" } } }, "BIBEX":{ "cfl":7000, "rwys":{ "03R":{ "dep":"BIBEX2T" } } }, "DDM":{ "cfl":7000, "rwys":{ "03L":{ "dep":"DDM1D" }, "21L":{ "dep":"DDM1F" }, "21R":{ "dep":"DDM1G" }, "03R":{ "dep":"DDM2T" } } }, "KEA":{ "cfl":7000, "rwys":{ "03L":{ "dep":"KEA2L" }, "21L":{ "dep":"KEA2F" }, "21R":{ "dep":"KEA2G" }, "03R":{ "dep":"KEA2T" } } }, "KOR":{ "cfl":7000, "rwys":{ "03L":{ "dep":"KOR1D" }, "21L":{ "dep":"KOR1F" }, "21R":{ "dep":"KOR1G" }, "03R":{ "dep":"KOR2T" } } }, "KRO":{ "cfl":7000, "rwys":{ "03L":{ "dep":"KRO1L" }, "21L":{ "dep":"KRO1F" }, "21R":{ "dep":"KRO1G" }, "03R":{ "dep":"KRO2T" } } }, "ROPOX":{ "cfl":7000, "rwys":{ "03L":{ "dep":"ROPOX1D" }, "21L":{ "dep":"ROPOX1F" }, "21R":{ "dep":"ROPOX1G" }, "03R":{ "dep":"ROPOX2T" } } } } }, "LGKR":{ "elevation":6, "sids":{ "IDIMI":{ "cfl":8000, "rwys":{ "16":{ "dep":"IDIMI1B" }, "34":{ "dep":"IDIMI1F" } } }, "LATAN":{ "cfl":8000, "rwys":{ "16":{ "dep":"LATAN2B" }, "34":{ "dep":"LATAN2F" } } }, "MALED":{ "cfl":8000, "rwys":{ "16":{ "dep":"MALED1K" }, "34":{ "dep":"MALED1F" } } }, "NIKRO":{ "cfl":8000, "rwys":{ "16":{ "dep":"NIKRO1C" }, "16":{ "dep":"NIKRO2B" }, "16":{ "dep":"NIKRO2T" }, "34":{ "dep":"NIKRO2F" }, } } }, "OLGAT":{ "cfl":8000, "rwys":{ "16":{ "dep":"OLGAT2B" }, "34":{ "dep":"OLGAT2F" }, "16":{ "dep":"OLGAT2N" } } }, "PARAX":{ "cfl":8000, "rwys":{ "16":{ "dep":"PARAX1B" }, "34":{ "dep":"PARAX1F" }, "34":{ "dep":"PARAX1G" }, "34":{ "dep":"PARAX1V" } } }, "PARNA":{ "cfl":8000, "rwys":{ "16":{ "dep":"PARNA1B" }, "34":{ "dep":"PARNA1F" }
} }, "RIPID":{ "cfl":8000, "rwys":{ "16":{ "dep":"RIPID1B" }, "34":{ "dep":"RIPID1F" } } }, "TIGRA":{ "cfl":8000, "rwys":{ "16":{ "dep":"TIGRA2B" }, "34":{ "dep":"TIGRA2F" }, "16":{ "dep":"TIGRA2N" } } }, "VARDI":{ "cfl":8000, "rwys":{ "16":{ "dep":"VARDI1B" }, "34":{ "dep":"VARDI1F" } } } } }

MorpheusXAUT commented 2 years ago

Your airport config is not a valid JSON file. I recommend using an online JSON validator tool (such as https://jsonlint.com/ or https://jsonformatter.curiousconcept.com/) to check for formatting errors. In your case, there's an extra , in line 167:

"34":{
"dep":"NIKRO2F"
},

Furthermore, you cannot specify a runway multiple times (like you've done with LGKR for RWY16/34 and the NIKRO/OLGAT/PARAX/TIGRA departures). You'll have to pick one SID per waypoint and RWY.

Having removed the extra , and all duplicate SIDs (just deleted everything but the first entry for the RWY, might want to check whether there's a different SID you prefer), you should get a valid config:

{
  "LGAV":{
    "elevation":308,
    "sids":{
      "ATV":{
        "cfl":7000,
        "rwys":{
          "21R":{
            "dep":"ATV1G"
          },
          "21L":{
            "dep":"ATV1H"
          },
          "03L":{
            "dep":"ATV1K"
          },
          "03R":{
            "dep":"ATV2E"
          }
        }
      },
      "BIBEX":{
        "cfl":7000,
        "rwys":{
          "03R":{
            "dep":"BIBEX2T"
          }
        }
      },
      "DDM":{
        "cfl":7000,
        "rwys":{
          "03L":{
            "dep":"DDM1D"
          },
          "21L":{
            "dep":"DDM1F"
          },
          "21R":{
            "dep":"DDM1G"
          },
          "03R":{
            "dep":"DDM2T"
          }
        }
      },
      "KEA":{
        "cfl":7000,
        "rwys":{
          "03L":{
            "dep":"KEA2L"
          },
          "21L":{
            "dep":"KEA2F"
          },
          "21R":{
            "dep":"KEA2G"
          },
          "03R":{
            "dep":"KEA2T"
          }
        }
      },
      "KOR":{
        "cfl":7000,
        "rwys":{
          "03L":{
            "dep":"KOR1D"
          },
          "21L":{
            "dep":"KOR1F"
          },
          "21R":{
            "dep":"KOR1G"
          },
          "03R":{
            "dep":"KOR2T"
          }
        }
      },
      "KRO":{
        "cfl":7000,
        "rwys":{
          "03L":{
            "dep":"KRO1L"
          },
          "21L":{
            "dep":"KRO1F"
          },
          "21R":{
            "dep":"KRO1G"
          },
          "03R":{
            "dep":"KRO2T"
          }
        }
      },
      "ROPOX":{
        "cfl":7000,
        "rwys":{
          "03L":{
            "dep":"ROPOX1D"
          },
          "21L":{
            "dep":"ROPOX1F"
          },
          "21R":{
            "dep":"ROPOX1G"
          },
          "03R":{
            "dep":"ROPOX2T"
          }
        }
      }
    }
  },
  "LGKR":{
    "elevation":6,
    "sids":{
      "IDIMI":{
        "cfl":8000,
        "rwys":{
          "16":{
            "dep":"IDIMI1B"
          },
          "34":{
            "dep":"IDIMI1F"
          }
        }
      },
      "LATAN":{
        "cfl":8000,
        "rwys":{
          "16":{
            "dep":"LATAN2B"
          },
          "34":{
            "dep":"LATAN2F"
          }
        }
      },
      "MALED":{
        "cfl":8000,
        "rwys":{
          "16":{
            "dep":"MALED1K"
          },
          "34":{
            "dep":"MALED1F"
          }
        }
      },
      "NIKRO":{
        "cfl":8000,
        "rwys":{
          "16":{
            "dep":"NIKRO1C"
          },
          "34":{
            "dep":"NIKRO2F"
          }
        }
      }
    },
    "OLGAT":{
      "cfl":8000,
      "rwys":{
        "16":{
          "dep":"OLGAT2B"
        },
        "34":{
          "dep":"OLGAT2F"
        }
      }
    },
    "PARAX":{
      "cfl":8000,
      "rwys":{
        "16":{
          "dep":"PARAX1B"
        },
        "34":{
          "dep":"PARAX1F"
        }
      }
    },
    "PARNA":{
      "cfl":8000,
      "rwys":{
        "16":{
          "dep":"PARNA1B"
        },
        "34":{
          "dep":"PARNA1F"
        }
      }
    },
    "RIPID":{
      "cfl":8000,
      "rwys":{
        "16":{
          "dep":"RIPID1B"
        },
        "34":{
          "dep":"RIPID1F"
        }
      }
    },
    "TIGRA":{
      "cfl":8000,
      "rwys":{
        "16":{
          "dep":"TIGRA2B"
        },
        "34":{
          "dep":"TIGRA2F"
        }
      }
    },
    "VARDI":{
      "cfl":8000,
      "rwys":{
        "16":{
          "dep":"VARDI1B"
        },
        "34":{
          "dep":"VARDI1F"
        }
      }
    }
  }
}
Damka1974 commented 2 years ago

Thank you very much,I will try to correct it!

Damka1974 commented 2 years ago

Hello Nick,

Could u kindly explain me the reason of the error? I have attached a screenshot and my JSON file…Sorry for bothering you,to be honest I am not familiar with all JSON and I am really trying to make it as good as possible,as I really love your plugin! I tried the validators you have sent me last time and everything seems ok…

Thanks in advance

Apostolos

From: Nick Müller @.*** Sent: 02 February 2022 10:36 To: MorpheusXAUT/DelHel Cc: Damka1974; Author Subject: Re: [MorpheusXAUT/DelHel] Failed to read airport config (Issue #18)

Your airport config is not a valid JSON file. I recommend using an online JSON validator tool (such as https://jsonlint.com/ or https://jsonformatter.curiousconcept.com/) to check for formatting errors. In your case, there's an extra , in line 167:

"34":{ "dep":"NIKRO2F" },

Furthermore, you cannot specify a runway multiple times (like you've done with LGKR for RWY16/34 and the NIKRO/OLGAT/PARAX/TIGRA departures). You'll have to pick one SID per waypoint and RWY.

Having removed the extra , and all duplicate SIDs (just deleted everything but the first entry for the RWY, might want to check whether there's a different SID you prefer), you should get a valid config:

{ "LGAV":{ "elevation":308, "sids":{ "ATV":{ "cfl":7000, "rwys":{ "21R":{ "dep":"ATV1G" }, "21L":{ "dep":"ATV1H" }, "03L":{ "dep":"ATV1K" }, "03R":{ "dep":"ATV2E" } } }, "BIBEX":{ "cfl":7000, "rwys":{ "03R":{ "dep":"BIBEX2T" } } }, "DDM":{ "cfl":7000, "rwys":{ "03L":{ "dep":"DDM1D" }, "21L":{ "dep":"DDM1F" }, "21R":{ "dep":"DDM1G" }, "03R":{ "dep":"DDM2T" } } }, "KEA":{ "cfl":7000, "rwys":{ "03L":{ "dep":"KEA2L" }, "21L":{ "dep":"KEA2F" }, "21R":{ "dep":"KEA2G" }, "03R":{ "dep":"KEA2T" } } }, "KOR":{ "cfl":7000, "rwys":{ "03L":{ "dep":"KOR1D" }, "21L":{ "dep":"KOR1F" }, "21R":{ "dep":"KOR1G" }, "03R":{ "dep":"KOR2T" } } }, "KRO":{ "cfl":7000, "rwys":{ "03L":{ "dep":"KRO1L" }, "21L":{ "dep":"KRO1F" }, "21R":{ "dep":"KRO1G" }, "03R":{ "dep":"KRO2T" } } }, "ROPOX":{ "cfl":7000, "rwys":{ "03L":{ "dep":"ROPOX1D" }, "21L":{ "dep":"ROPOX1F" }, "21R":{ "dep":"ROPOX1G" }, "03R":{ "dep":"ROPOX2T" } } } } }, "LGKR":{ "elevation":6, "sids":{ "IDIMI":{ "cfl":8000, "rwys":{ "16":{ "dep":"IDIMI1B" }, "34":{ "dep":"IDIMI1F" } } }, "LATAN":{ "cfl":8000, "rwys":{ "16":{ "dep":"LATAN2B" }, "34":{ "dep":"LATAN2F" } } }, "MALED":{ "cfl":8000, "rwys":{ "16":{ "dep":"MALED1K" }, "34":{ "dep":"MALED1F" } } }, "NIKRO":{ "cfl":8000, "rwys":{ "16":{ "dep":"NIKRO1C" }, "34":{ "dep":"NIKRO2F" } } } }, "OLGAT":{ "cfl":8000, "rwys":{ "16":{ "dep":"OLGAT2B" }, "34":{ "dep":"OLGAT2F" } } }, "PARAX":{ "cfl":8000, "rwys":{ "16":{ "dep":"PARAX1B" }, "34":{ "dep":"PARAX1F" } } }, "PARNA":{ "cfl":8000, "rwys":{ "16":{ "dep":"PARNA1B" }, "34":{ "dep":"PARNA1F" } } }, "RIPID":{ "cfl":8000, "rwys":{ "16":{ "dep":"RIPID1B" }, "34":{ "dep":"RIPID1F" } } }, "TIGRA":{ "cfl":8000, "rwys":{ "16":{ "dep":"TIGRA2B" }, "34":{ "dep":"TIGRA2F" } } }, "VARDI":{ "cfl":8000, "rwys":{ "16":{ "dep":"VARDI1B" }, "34":{ "dep":"VARDI1F" } } } } }

— Reply to this email directly, view it on GitHub https://github.com/MorpheusXAUT/DelHel/issues/18#issuecomment-1027699525 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSLDF6BATJ7FW537SQ23GTUZDUHDANCNFSM5NLKDUKQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you authored the thread. https://github.com/notifications/beacon/AXSLDF5O6TFJ3IGAX2TOSTLUZDUHDA5CNFSM5NLKDUK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHVAXGRI.gif Message ID: @. @.> >