#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Get all nodes
# Copyright (C) 2012-2024 by Thomas Dreibholz
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Contact: dreibh@simula.no

# NorNet
from NorNetSiteSetup import *
from NorNetTools     import *
from NorNetAPI       import *



# ###### Main program #######################################################
loginToPLC(quietMode = True)

nodeList = fetchNorNetNode(None)
for node in nodeList:
   #print(node)
   nodeIndex = node['node_index']
   nodeName  = node['node_name']
   nodeState = node['node_state']

   nodeFC = 'NA'
   nodePL = 'NA'
   nodeTagsList = fetchNodeTagsList(node['node_id'])
   for nodeTag in nodeTagsList:
      if nodeTag['tagname'] == 'fcdistro':
         nodeFC = nodeTag['value']
      if nodeTag['tagname'] == 'pldistro':
         nodePL = nodeTag['value']

   print(str(nodeIndex) + ' ' + fill(nodeName,32) + ' ' + fill(nodeState,10) + ' ' + fill(nodePL,6) + ' ' + fill(nodeFC,4))
