Commit b846aa1b authored by Gino Tosti's avatar Gino Tosti
Browse files

added feature to read documents xlsx produced by googledoc

parent b06e557a
......@@ -34,8 +34,8 @@ class excelIcd:
if(self.debug):
print(self.nsheets,self.book.sheet_names)
for sheet_name in (self.book.sheet_names):
#sheet=self.book.sheet_names[sheet_index]
self.sheets[sheet_name]=self.book.parse(sheet_name)
she=(self.book.parse(sheet_name)).dropna(axis=0,how='all')
self.sheets[sheet_name]=she.dropna(axis=1,how='all')
siz=self.sheets[sheet_name].shape
if(self.debug):
print(self.sheets[sheet_name].columns,siz[0],siz[1])
......@@ -84,7 +84,7 @@ class excelIcd:
#colname=(str(coname)).replace(' ','_')
for idx in range(0,Sheet["NRows"]):
#print "BBBBB", self.sheets["Main"].cell(idx,colind).value
colval.append(self.sheets[name].iat[idx,colind])
colval.append(str(self.sheets[name].iat[idx,colind]))
Sheet[coname]=colval
#print(coname,Sheet[coname])
......
......@@ -463,9 +463,9 @@ public class ${Assembly}BaseImpl extends TCSHardwareDeviceImpl implements ${Asse
#set $name=($x.ModeSheet["OPC_UA node"][$idx].split(";")[1]).split("=")[1].replace(".","_")
#set $type=$x.ModeSheet["OPC UA Data type"][$idx].upper()
#if $x.ModeSheet["OPC UA Data type"][$idx].upper()=="INT16"
#set $value=int($x.ModeSheet["CMD/MODE value"][$idx])
#set $value=$x.ModeSheet["CMD/MODE value"][$idx].split('.')[0]
#else if $x.ModeSheet["OPC UA Data type"][$idx].upper()=="INT32"
#set $value=int($x.ModeSheet["CMD/MODE value"][$idx])
#set $value=$x.ModeSheet["CMD/MODE value"][$idx].split('.')[0]
#else if $x.ModeSheet["OPC UA Data type"][$idx].upper()=="BOOLEAN"
#set $value=str($x.ModeSheet["CMD/MODE value"][$idx]).lower()
#else
......@@ -481,9 +481,9 @@ public class ${Assembly}BaseImpl extends TCSHardwareDeviceImpl implements ${Asse
#set $name=($x.CmdSheet["OPC_UA node"][$idx].split(";")[1]).split("=")[1].replace(".","_")
#set $type=$x.CmdSheet["OPC UA Data type"][$idx].upper()
#if $x.CmdSheet["OPC UA Data type"][$idx].upper()=="INT16"
#set $value=int($x.CmdSheet["CMD/MODE value"][$idx])
#set $value=$x.CmdSheet["CMD/MODE value"][$idx].split('.')[0]
#else if $x.CmdSheet["OPC UA Data type"][$idx].upper()=="INT32"
#set $value=int($x.CmdSheet["CMD/MODE value"][$idx])
#set $value=$x.CmdSheet["CMD/MODE value"][$idx].split('.')[0]
#else if $x.CmdSheet["OPC UA Data type"][$idx].upper()=="BOOLEAN"
#set $value=str($x.CmdSheet["CMD/MODE value"][$idx]).lower()
#else
......
......@@ -36,7 +36,7 @@
#end if
format="%$y[$type][1]"
description="$x.GetSheet["Description"][$idx]"
#if $x.GetSheet["Unit"][$idx] !="" and $x.GetSheet["Unit"][$idx] !="NA"
#if str($x.GetSheet["Unit"][$idx]) !="" and str($x.GetSheet["Unit"][$idx]) !="NA" and str($x.GetSheet["Unit"][$idx]) !="nan"
units="$x.GetSheet["Unit"][$idx]"
#else
units="none"
......@@ -102,12 +102,11 @@
#end if
format="%${y[$type][1]}"
description="$x.SetSheet["Description"][$idx]"
#if $x.SetSheet["Unit"][$idx] !="" and $x.SetSheet["Unit"][$idx] !="NA"
#if $x.SetSheet["Unit"][$idx] !="" and $x.SetSheet["Unit"][$idx] !="NA" and str($x.SetSheet["Unit"][$idx]) !="nan"
units="$x.SetSheet["Unit"][$idx]"
#else
units=""
#end if
min_timer_trig="0"
#if $y[$type][1] != "S"
min_delta_trig="0"
......@@ -126,11 +125,11 @@
default_value="0"
format="%${y[$x.ModeSheet["OPC UA Data type"][$idx].upper()][1]}"
description="$x.ModeSheet["Description"][$idx]"
#if $x.ModeSheet["Unit"][$idx] !="" and $x.ModeSheet["Unit"][$idx] !="NA"
units="$x.ModeSheet["Unit"][$idx]"
#else
## #if $x.ModeSheet["Unit"][$idx] !="" and $x.ModeSheet["Unit"][$idx] !="NA" and str($x.ModeSheet["Unit"][$idx]) !="nan"
## units="$x.ModeSheet["Unit"][$idx]"
## #else
units=""
#end if
## #end if
min_timer_trig="0"
#if $y[$x.ModeSheet["OPC UA Data type"][$idx].upper()][1] != 's'
min_delta_trig="0"
......@@ -151,11 +150,11 @@
default_value="0"
format="%%${y[$x.CmdSheet["OPC UA Data type"][$idx].upper()][1]}"
description="$x.CmdSheet["Description"][$idx]"
#if $x.CmdSheet["Unit"][$idx] !="" and $x.CmdSheet["Unit"][$idx] !="NA"
units="$x.CmdSheet["Unit"][$idx]"
#else
## #if $x.CmdSheet["Unit"][$idx] !="" and $x.CmdSheet["Unit"][$idx] !="NA" and str($x.CmdSheet["Unit"][$idx]) !="nan"
## units="$x.CmdSheet["Unit"][$idx]"
## #else
units=""
#end if
## #end if
min_timer_trig="0"
#if $y[$x.CmdSheet["OPC UA Data type"][$idx].upper()][1] != 's'
min_delta_trig="0"
......
......@@ -87,8 +87,10 @@
</References>
</UAObject>
#silent L=[]
#silent N=[]
#for $idx in $range(0,$x["NRows"])
#silent L.append($x["Short name"][$idx])
#if not $x['OPC_UA node'][$idx] in N
#if ($x["OPC UA Data type"][$idx]).upper()[-1]==']' ## test for arrays
#set $sp=($x["OPC UA Data type"][$idx].upper()).split("[")
#set $type=$sp[0].capitalize()
......@@ -126,10 +128,13 @@
</Value>
#end if
</UAVariable>
#silent N.append($x['OPC_UA node'][$idx])
#end if
#end if
#end for
#for $idx in $range(0,$y["NRows"])
#silent L.append($y["Short name"][$idx])
#if not $y['OPC_UA node'][$idx] in N
#if ($y["OPC UA Data type"][$idx]).upper()[-1]==']' ## test for arrays
#set $sp=($y["OPC UA Data type"][$idx].upper()).split("[")
#set $type=$sp[0].capitalize()
......@@ -168,12 +173,15 @@
</Value>
#end if
</UAVariable>
#silent N.append($y['OPC_UA node'][$idx])
#end if
#end if
#end for
#for $idx in $range(0,$m["NRows"])
#set $name=($m["OPC_UA node"][$idx].split(";")[1]).split("=")[1].replace(".","_")
#if not $name in L
#if not $m['OPC_UA node'][$idx] in N
#set $type=$m["OPC UA Data type"][$idx].capitalize()
#if $type[0]=="U"
#set $type=$type.replace("i","I")
......@@ -185,22 +193,19 @@
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">ns=4;i=4</Reference>
</References>
#if $type!="String" and $type != "Boolean"
<Value>
#set $val=str($m['Default value'][$idx])
#if $val=="nan" or $val=="NA"
#set $val="0"
#end if
<uax:$type>$val</uax:$type>
<uax:$type>0</uax:$type>
</Value>
#end if
</UAVariable>
#silent N.append($m['OPC_UA node'][$idx])
#end if
#silent L.append($name)
#end if
#end for
#for $idx in $range(0,$c["NRows"])
#set $name=($c["OPC_UA node"][$idx].split(";")[1]).split("=")[1].replace(".","_")
#if not $name in L
#if not $c['OPC_UA node'][$idx] in N
#set $type=$c["OPC UA Data type"][$idx].capitalize()
#if $type[0]=="U"
#set $type=$type.replace("i","I")
......@@ -212,16 +217,12 @@
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">ns=4;i=5</Reference>
</References>
#if $type!="String" and $type != "Boolean"
<Value>
#set $val=str($c['Default value'][$idx])
#if $val=="nan" or $val=="NA"
#set $val="0"
#end if
<uax:$type>$val</uax:$type>
<uax:$type>0</uax:$type>
</Value>
#end if
</UAVariable>
#silent N.append($c['OPC_UA node'][$idx])
#end if
#silent L.append($name)
#end if
#end for
......
......@@ -34,6 +34,7 @@ def generateComponent(config):
print ("The Assembly:"+wb.MainSheet['Assembly'][0]+" includes one device\n",devs)
genSingle(wb,config)
os.chdir(pwd)
return devs
def genMulti(wb,config):
for dev in wb.MainSheet['Device Name']:
......@@ -132,8 +133,10 @@ def getInput():
if __name__ =="__main__":
pwd=os.getcwd()
config=getInput()
generateComponent(config)
print ("ALL Done")
os.chdir(pwd)
......@@ -13,14 +13,16 @@ if __name__=="__main__":
today = date.today()
parser.add_option("-f", "--file", dest="book_file",
help="ICD Exel File ", metavar="FILE")
parser.add_option("-s", "--sheet", dest="sheet", default='Main',
help="ICD Exel File Sheet ", metavar="SHEET")
(options, args) = parser.parse_args()
gen_dir=os.environ["PYGEN"]
excel_file =options.book_file
wb=excelIcd(excel_file)
#wb.getMain()
get=wb.getSheet("Main")
print(get)
get=wb.getSheet(options.sheet)
print(get['Unit'])
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment