from vcScript import *
import csv

app = getApplication()
comp = getComponent()
sensor_signal = comp.findBehaviour('SensorSignal')

def OnStart():
  global product_id_csv, material_csv, parts_stamped
  parts_stamped = 0
  product_id_csv, material_csv = [],[]
  uri = r''
  unicode_uri = unicode(uri)
  with open(unicode_uri) as csv_file: # reading the csv content and storing them into arrays
    csv_reader = csv.reader(csv_file, delimiter = ',')
    next(csv_reader) # remove the first row with no actual data
    for row in csv_reader:
      product_id_csv.append(row[0])
      material_csv.append(row[1])

def OnSignal( signal ):
  global parts_stamped
  if signal.Name == "SensorSignal" and sensor_signal.Value:
    part = sensor_signal.Value
    product_id = part.getProperty("ProductID")
    material = part.getProperty("Material")
    sim_time = part.getProperty("SimulationTime")
    material = part.createProperty(VC_MATERIAL,"Material")
    if not product_id:
      product_id = part.createProperty(VC_STRING,"ProductID")
    if not sim_time:
      sim_time = part.createProperty(VC_REAL,"SimulationTime")
    if parts_stamped < len(product_id_csv):
      sim_time.Value = app.Simulation.SimTime
      product_id.Value = product_id_csv[parts_stamped]
      material.Value = material_csv[parts_stamped]
      parts_stamped += 1