--- a/plcopen/plcopen.py Thu Nov 24 16:30:06 2011 +0100
+++ b/plcopen/plcopen.py Fri Dec 09 10:06:44 2011 +0100
@@ -129,26 +129,30 @@
cls = PLCOpenClasses.get("formattedText", None)
if cls:
def updateElementName(self, old_name, new_name):
- index = self.text.find(old_name)
+ text = self.text.decode("utf-8")
+ index = text.find(old_name)
while index != -1:
- if index > 0 and (self.text[index - 1].isalnum() or self.text[index - 1] == "_"):
- index = self.text.find(old_name, index + len(old_name))
- elif index < len(self.text) - len(old_name) and (self.text[index + len(old_name)].isalnum() or self.text[index + len(old_name)] == "_"):
- index = self.text.find(old_name, index + len(old_name))
+ if index > 0 and (text[index - 1].isalnum() or text[index - 1] == "_"):
+ index = text.find(old_name, index + len(old_name))
+ elif index < len(text) - len(old_name) and (text[index + len(old_name)].isalnum() or text[index + len(old_name)] == "_"):
+ index = text.find(old_name, index + len(old_name))
else:
- self.text = self.text[:index] + new_name + self.text[index + len(old_name):]
- index = self.text.find(old_name, index + len(new_name))
+ text = text[:index] + new_name + text[index + len(old_name):]
+ index = text.find(old_name, index + len(new_name))
+ self.text = text.encode("utf-8")
setattr(cls, "updateElementName", updateElementName)
def updateElementAddress(self, address_model, new_leading):
+ text = self.text.decode("utf-8")
startpos = 0
- result = address_model.search(self.text, startpos)
+ result = address_model.search(text, startpos)
while result is not None:
groups = result.groups()
new_address = groups[0] + new_leading + groups[2]
- self.text = self.text[:result.start()] + new_address + self.text[result.end():]
+ text = text[:result.start()] + new_address + text[result.end():]
startpos = result.start() + len(new_address)
result = address_model.search(self.text, startpos)
+ self.text = text.encode("utf-8")
setattr(cls, "updateElementAddress", updateElementAddress)
def Search(self, criteria, parent_infos):