PEL: Fixed Userdata section parsing

A previous commit incorrectly tries to call python parsers when they do
not exist. This fixes it.

Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: I6e65bc89e60b9ac31077009921d4376ddc8254bf
diff --git a/extensions/openpower-pels/user_data_json.cpp b/extensions/openpower-pels/user_data_json.cpp
index 408f5c3..6f88cbd 100644
--- a/extensions/openpower-pels/user_data_json.cpp
+++ b/extensions/openpower-pels/user_data_json.cpp
@@ -367,8 +367,11 @@
 std::optional<std::string> getJSON(uint16_t componentID, uint8_t subType,
                                    uint8_t version,
                                    const std::vector<uint8_t>& data,
-                                   uint8_t creatorID)
+                                   uint8_t creatorID,
+                                   const std::vector<std::string>& plugins)
 {
+    std::string subsystem = getNumberString("%c", tolower(creatorID));
+    std::string component = getNumberString("%04x", componentID);
     try
     {
         if (pv::creatorIDs.at(getNumberString("%c", creatorID)) == "BMC" &&
@@ -376,7 +379,8 @@
         {
             return getBuiltinFormatJSON(componentID, subType, version, data);
         }
-        else
+        else if (std::find(plugins.begin(), plugins.end(),
+                           subsystem + component) != plugins.end())
         {
             return getPythonJSON(componentID, subType, version, data,
                                  creatorID);