ProjectController.py
changeset 1330 96b242e4c59d
parent 1315 ff14a66bbd12
child 1363 e87e0166d0a7
equal deleted inserted replaced
1328:a2f2981df9b0 1330:96b242e4c59d
    25 from editors.DebugViewer import DebugViewer
    25 from editors.DebugViewer import DebugViewer
    26 from dialogs import DiscoveryDialog
    26 from dialogs import DiscoveryDialog
    27 from PLCControler import PLCControler
    27 from PLCControler import PLCControler
    28 from plcopen.structures import IEC_KEYWORDS
    28 from plcopen.structures import IEC_KEYWORDS
    29 from targets.typemapping import DebugTypesSize, LogLevelsCount, LogLevels
    29 from targets.typemapping import DebugTypesSize, LogLevelsCount, LogLevels
    30 from ConfigTreeNode import ConfigTreeNode
    30 from ConfigTreeNode import ConfigTreeNode, XSDSchemaErrorMessage
    31 
    31 
    32 base_folder = os.path.split(sys.path[0])[0]
    32 base_folder = os.path.split(sys.path[0])[0]
    33 
    33 
    34 MATIEC_ERROR_MODEL = re.compile(".*\.st:(\d+)-(\d+)\.\.(\d+)-(\d+): (?:error)|(?:warning) : (.*)$")
    34 MATIEC_ERROR_MODEL = re.compile(".*\.st:(\d+)-(\d+)\.\.(\d+)-(\d+): (?:error)|(?:warning) : (.*)$")
    35 
    35 
   316         # Verify that project contains a PLCOpen program
   316         # Verify that project contains a PLCOpen program
   317         plc_file = os.path.join(ProjectPath, "plc.xml")
   317         plc_file = os.path.join(ProjectPath, "plc.xml")
   318         if not os.path.isfile(plc_file):
   318         if not os.path.isfile(plc_file):
   319             return _("Chosen folder doesn't contain a program. It's not a valid project!")
   319             return _("Chosen folder doesn't contain a program. It's not a valid project!")
   320         # Load PLCOpen file
   320         # Load PLCOpen file
   321         result = self.OpenXMLFile(plc_file)
   321         error = self.OpenXMLFile(plc_file)
   322         if result:
   322         if error is not None:
   323             return result
   323             if self.Project is not None:
       
   324                 self.logger.write_warning(
       
   325                     XSDSchemaErrorMessage % (("PLC",) + error))
       
   326             else:
       
   327                 return error
   324         if len(self.GetProjectConfigNames()) == 0:
   328         if len(self.GetProjectConfigNames()) == 0:
   325             self.AddProjectDefaultConfiguration()
   329             self.AddProjectDefaultConfiguration()
   326         # Change XSD into class members
   330         # Change XSD into class members
   327         self._AddParamsMembers()
   331         self._AddParamsMembers()
   328         self.Children = {}
   332         self.Children = {}