--- a/Beremiz_service.py Fri Oct 28 13:06:52 2022 +0800
+++ b/Beremiz_service.py Fri Oct 28 14:07:13 2022 +0800
@@ -24,8 +24,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -34,9 +32,7 @@
from threading import Thread, Semaphore, Lock, currentThread
-from builtins import str as text
-from past.builtins import execfile
-from six.moves import builtins
from functools import partial
@@ -363,7 +359,7 @@
def OnTaskBarChangePort(self, evt):
dlg = ParamsEntryDialog(None, _("Enter a port number "), defaultValue=str(self.pyroserver.port))
- dlg.SetTests([(text.isdigit, _("Port number must be an integer!")), (lambda port: 0 <= int(port) <= 65535, _("Port number must be 0 <= port <= 65535!"))])
+ dlg.SetTests([(str.isdigit, _("Port number must be an integer!")), (lambda port: 0 <= int(port) <= 65535, _("Port number must be 0 <= port <= 65535!"))]) if dlg.ShowModal() == wx.ID_OK:
self.pyroserver.port = int(dlg.GetValue())
self.pyroserver.Restart()
--- a/ConfigTreeNode.py Fri Oct 28 13:06:52 2022 +0800
+++ b/ConfigTreeNode.py Fri Oct 28 14:07:13 2022 +0800
@@ -38,8 +38,6 @@
from functools import reduce
-from builtins import str as text
-from past.builtins import execfile
@@ -294,7 +292,7 @@
if CTNLDFLAGS is not None:
# LDFLAGS can be either string
- if isinstance(CTNLDFLAGS, (str, text)):
+ if isinstance(CTNLDFLAGS, str): elif isinstance(CTNLDFLAGS, list):
@@ -647,7 +645,7 @@
self.MandatoryParams = ("BaseParams", self.BaseParams)
- msg = _("Couldn't load confnode base parameters {a1} :\n {a2}").format(a1=ConfNodeName, a2=text(exc))
+ msg = _("Couldn't load confnode base parameters {a1} :\n {a2}").format(a1=ConfNodeName, a2=str(exc)) self.GetCTRoot().logger.write_error(msg)
self.GetCTRoot().logger.write_error(traceback.format_exc())
@@ -664,7 +662,7 @@
self.CTNParams = (name, obj)
- msg = _("Couldn't load confnode parameters {a1} :\n {a2}").format(a1=ConfNodeName, a2=text(exc))
+ msg = _("Couldn't load confnode parameters {a1} :\n {a2}").format(a1=ConfNodeName, a2=str(exc)) self.GetCTRoot().logger.write_error(msg)
self.GetCTRoot().logger.write_error(traceback.format_exc())
@@ -677,7 +675,7 @@
self.CTNAddChild(pname, ptype)
- msg = _("Could not add child \"{a1}\", type {a2} :\n{a3}\n").format(a1=pname, a2=ptype, a3=text(exc))
+ msg = _("Could not add child \"{a1}\", type {a2} :\n{a3}\n").format(a1=pname, a2=ptype, a3=str(exc)) self.GetCTRoot().logger.write_error(msg)
self.GetCTRoot().logger.write_error(traceback.format_exc())
--- a/IDEFrame.py Fri Oct 28 13:06:52 2022 +0800
+++ b/IDEFrame.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,17 +23,13 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-from future.builtins import \
-from six.moves import cPickle, xrange
+from six.moves import cPickle from editors.EditorPanel import EditorPanel
from editors.SFCViewer import SFC_Viewer
@@ -111,7 +107,7 @@
def DecodeFileSystemPath(path, is_base64=True):
path = base64.decodestring(path)
- return text(path, sys.getfilesystemencoding())
+ return str(path, sys.getfilesystemencoding()) def AppendMenu(parent, help, kind, text, id=wx.ID_ANY):
--- a/connectors/WAMP/__init__.py Fri Oct 28 13:06:52 2022 +0800
+++ b/connectors/WAMP/__init__.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,13 +23,10 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
from functools import partial
from threading import Thread, Event
-from six import text_type as text
from twisted.internet import reactor, threads
from autobahn.twisted import wamp
@@ -85,7 +82,7 @@
# create a WAMP application session factory
component_config = types.ComponentConfig(
session_factory = wamp.ApplicationSessionFactory(
@@ -111,7 +108,7 @@
reactor.run(installSignalHandlers=False)
def WampSessionProcMapper(funcname):
- wampfuncname = text('.'.join((ID, funcname)))
+ wampfuncname = str('.'.join((ID, funcname))) def catcher_func(*args, **kwargs):
if _WampSession is not None:
--- a/controls/DebugVariablePanel/DebugVariableGraphicViewer.py Fri Oct 28 13:06:52 2022 +0800
+++ b/controls/DebugVariablePanel/DebugVariableGraphicViewer.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,8 +23,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
from time import time as gettime
from cycler import cycler
@@ -36,7 +34,6 @@
from matplotlib.backends.backend_wxagg import _convert_agg_to_wx_bitmap
from matplotlib.backends.backend_agg import FigureCanvasAgg
from mpl_toolkits.mplot3d import Axes3D
-from six.moves import xrange
from editors.DebugViewer import REFRESH_PERIOD
from controls.DebugVariablePanel.DebugVariableViewer import *
--- a/controls/VariablePanel.py Fri Oct 28 13:06:52 2022 +0800
+++ b/controls/VariablePanel.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,17 +23,11 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-from builtins import str as text
-from six import string_types
-from six.moves import xrange
from plcopen.structures import LOCATIONDATATYPES, TestIdentifier, IEC_KEYWORDS, DefaultType
from plcopen.VariableInfoCollector import _VariableInfos
@@ -144,7 +138,7 @@
if colname == "Type" and isinstance(value, tuple):
return "ARRAY [%s] OF %s" % (",".join(map("..".join, value[2])), value[1])
- if not isinstance(value, string_types):
+ if not isinstance(value, str): if colname in ["Class", "Option"]:
@@ -609,7 +603,7 @@
model = re.compile(r"%[IQM][XBWLD]?(.*\.|)")
prefix = model.match(old_location).group(0)
addr = int(re.split(model, old_location)[-1]) + 1
- row_content.Location = prefix + text(addr)
+ row_content.Location = prefix + str(addr) if not row_content.Class:
row_content.Class = self.DefaultTypes.get(self.Filter, self.Filter)
--- a/dialogs/ForceVariableDialog.py Fri Oct 28 13:06:52 2022 +0800
+++ b/dialogs/ForceVariableDialog.py Fri Oct 28 14:07:13 2022 +0800
@@ -22,10 +22,8 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-from builtins import str as text
@@ -224,7 +222,7 @@
Returns text representation for a variable value
@return: variable value as a string
- return text(self.ValueCtrl.GetValue())
+ return str(self.ValueCtrl.GetValue()) # -----------------------------------------------
# integer and floating point number type methods
@@ -247,7 +245,7 @@
up = evt.GetEventType() == wx.EVT_SPIN_UP._getEvtType()
value = value + 1 if up else value - 1
- self.ValueCtrl.SetValue(text(value))
+ self.ValueCtrl.SetValue(str(value)) # -----------------------------------------------
--- a/editors/Viewer.py Fri Oct 28 13:06:52 2022 +0800
+++ b/editors/Viewer.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,15 +23,11 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
from time import time as gettime
from threading import Lock
-from future.builtins import round
-from six.moves import xrange
from plcopen.structures import *
from plcopen.types_enums import ComputePouName
@@ -3400,7 +3396,7 @@
result = self.Controler.PasteEditedElementInstances(self.TagName, element, new_pos, middle, self.Debug)
- if not isinstance(result, string_types):
+ if not isinstance(result, str): self.RefreshView(selection=result)
self.RefreshVariablePanel()
--- a/graphics/GraphicCommons.py Fri Oct 28 13:06:52 2022 +0800
+++ b/graphics/GraphicCommons.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,12 +23,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-from future.builtins import round
-from six import string_types
-from six.moves import xrange
from graphics.ToolTipProducer import ToolTipProducer
@@ -1084,7 +1079,7 @@
rect = wx.Rect(x - abs(movex), y - abs(movey), width + 2 * abs(movex), height + 2 * abs(movey))
- if self.ValueSize is None and isinstance(self.ComputedValue, string_types):
+ if self.ValueSize is None and isinstance(self.ComputedValue, str): self.ValueSize = self.ParentBlock.Parent.GetMiniTextExtent(self.ComputedValue)
if self.ValueSize is not None:
width, height = self.ValueSize
@@ -1542,7 +1537,7 @@
if self.Value is not None and not isinstance(self.Value, bool) and self.Value != "undefined":
dc.SetFont(self.ParentBlock.Parent.GetMiniFont())
dc.SetTextForeground(wx.NamedColour("purple"))
- if self.ValueSize is None and isinstance(self.ComputedValue, string_types):
+ if self.ValueSize is None and isinstance(self.ComputedValue, str): self.ValueSize = self.ParentBlock.Parent.GetMiniTextExtent(self.ComputedValue)
if self.ValueSize is not None:
width, height = self.ValueSize
@@ -1610,7 +1605,7 @@
rect = rect.Union(self.StartConnected.GetRedrawRect(movex, movey))
rect = rect.Union(self.EndConnected.GetRedrawRect(movex, movey))
- if self.ValueSize is None and isinstance(self.ComputedValue, string_types):
+ if self.ValueSize is None and isinstance(self.ComputedValue, str): self.ValueSize = self.Parent.GetMiniTextExtent(self.ComputedValue)
if self.ValueSize is not None:
width, height = self.ValueSize
@@ -2750,7 +2745,7 @@
if self.Value is not None and not isinstance(self.Value, bool) and self.Value != "undefined":
dc.SetFont(self.Parent.GetMiniFont())
dc.SetTextForeground(wx.NamedColour("purple"))
- if self.ValueSize is None and isinstance(self.ComputedValue, string_types):
+ if self.ValueSize is None and isinstance(self.ComputedValue, str): self.ValueSize = self.Parent.GetMiniTextExtent(self.ComputedValue)
if self.ValueSize is not None:
width, height = self.ValueSize
--- a/runtime/WampClient.py Fri Oct 28 13:06:52 2022 +0800
+++ b/runtime/WampClient.py Fri Oct 28 14:07:13 2022 +0800
@@ -22,13 +22,10 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-from six import text_type as text
from autobahn.twisted import wamp
from autobahn.twisted.websocket import WampWebSocketClientFactory, connectWS
from autobahn.wamp import types, auth
@@ -142,7 +139,7 @@
self.register(GetCallee(name), '.'.join((ID, name)), registerOptions)
for name in SubscribedEvents:
- self.subscribe(GetCallee(name), text(name))
+ self.subscribe(GetCallee(name), str(name)) @@ -158,7 +155,7 @@
def publishWithOwnID(self, eventID, value):
ID = self.config.extra["ID"]
- self.publish(text(ID+'.'+eventID), value)
+ self.publish(str(ID+'.'+eventID), value) class ReconnectingWampWebSocketClientFactory(WampWebSocketClientFactory, ReconnectingClientFactory):
@@ -370,12 +367,12 @@
def PublishEvent(eventID, value):
if getWampStatus() == "Attached":
- _WampSession.publish(text(eventID), value)
+ _WampSession.publish(str(eventID), value) def PublishEventWithOwnID(eventID, value):
if getWampStatus() == "Attached":
- _WampSession.publishWithOwnID(text(eventID), value)
+ _WampSession.publishWithOwnID(str(eventID), value) # WEB CONFIGURATION INTERFACE
@@ -446,7 +443,7 @@
def getDownloadUrl(ctx, argument):
if lastKnownConfig is not None:
- return url.URL.fromContext(ctx).\
+ return url.URL.fromConstr(ctx).\ child(lastKnownConfig["ID"] + ".secret")
--- a/xmlclass/xmlclass.py Fri Oct 28 13:06:52 2022 +0800
+++ b/xmlclass/xmlclass.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,8 +23,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -32,10 +30,7 @@
from xml.dom import minidom
from xml.sax.saxutils import unescape
from collections import OrderedDict
-from builtins import str as text
-from six import string_types
-from six.moves import xrange
@@ -141,14 +136,14 @@
if len(attr.childNodes) == 1:
- return text(unescape(attr.childNodes[0].data))
+ return str(unescape(attr.childNodes[0].data)) for node in attr.childNodes:
if not (node.nodeName == "#text" and node.data.strip() == ''):
- txt += text(unescape(node.data))
+ txt += str(unescape(node.data)) def GetNormalizedString(attr, extract=True):
@@ -576,7 +571,7 @@
- "check": lambda x: isinstance(x, (string_types, etree.ElementBase))
+ "check": lambda x: isinstance(x, (str, etree.ElementBase)) @@ -612,7 +607,7 @@
def FindTypeInfos(factory, infos):
- if isinstance(infos, string_types):
+ if isinstance(infos, str): namespace, name = DecomposeQualifiedName(infos)
return factory.GetQualifiedNameInfos(name, namespace)
@@ -968,7 +963,7 @@
def AddToLookupClass(self, name, parent, typeinfos):
lookup_name = self.etreeNamespaceFormat % name
- if isinstance(typeinfos, string_types):
+ if isinstance(typeinfos, str): self.AddEquivalentClass(name, typeinfos)
typeinfos = self.etreeNamespaceFormat % typeinfos
lookup_classes = self.ComputedClassesLookUp.get(lookup_name)
@@ -986,7 +981,7 @@
self.ComputedClassesLookUp[lookup_name] = lookup_classes
def ExtractTypeInfos(self, name, parent, typeinfos):
- if isinstance(typeinfos, string_types):
+ if isinstance(typeinfos, str): namespace, type_name = DecomposeQualifiedName(typeinfos)
infos = self.GetQualifiedNameInfos(type_name, namespace)
@@ -997,13 +992,13 @@
if infos["type"] == COMPLEXTYPE:
type_name, parent = self.SplitQualifiedName(type_name, namespace)
result = self.CreateClass(type_name, parent, infos)
- if result is not None and not isinstance(result, string_types):
+ if result is not None and not isinstance(result, str): self.Namespaces[self.TargetNamespace][result["name"]] = result
elif infos["type"] == ELEMENT and infos["elmt_type"]["type"] == COMPLEXTYPE:
type_name, parent = self.SplitQualifiedName(type_name, namespace)
result = self.CreateClass(type_name, parent, infos["elmt_type"])
- if result is not None and not isinstance(result, string_types):
+ if result is not None and not isinstance(result, str): self.Namespaces[self.TargetNamespace][result["name"]] = result
@@ -1025,19 +1020,19 @@
for name, infos in list(self.Namespaces[self.TargetNamespace].items()):
if infos["type"] == ELEMENT:
- if not isinstance(infos["elmt_type"], string_types) and \
+ if not isinstance(infos["elmt_type"], str) and \ infos["elmt_type"]["type"] == COMPLEXTYPE:
self.ComputeAfter.append((name, None, infos["elmt_type"], True))
while len(self.ComputeAfter) > 0:
result = self.CreateClass(*self.ComputeAfter.pop(0))
- if result is not None and not isinstance(result, string_types):
+ if result is not None and not isinstance(result, str): self.Namespaces[self.TargetNamespace][result["name"]] = result
elif infos["type"] == COMPLEXTYPE:
self.ComputeAfter.append((name, None, infos))
while len(self.ComputeAfter) > 0:
result = self.CreateClass(*self.ComputeAfter.pop(0))
if result is not None and \
- not isinstance(result, string_types):
+ not isinstance(result, str): self.Namespaces[self.TargetNamespace][result["name"]] = result
elif infos["type"] == ELEMENTSGROUP:
@@ -1046,13 +1041,13 @@
elements = infos["choices"]
- if not isinstance(element["elmt_type"], string_types) and \
+ if not isinstance(element["elmt_type"], str) and \ element["elmt_type"]["type"] == COMPLEXTYPE:
self.ComputeAfter.append((element["name"], infos["name"], element["elmt_type"]))
while len(self.ComputeAfter) > 0:
result = self.CreateClass(*self.ComputeAfter.pop(0))
if result is not None and \
- not isinstance(result, string_types):
+ not isinstance(result, str): self.Namespaces[self.TargetNamespace][result["name"]] = result
for name, parents in self.ComputedClassesLookUp.items():
@@ -1752,12 +1747,12 @@
def GetElementClass(self, element_tag, parent_tag=None, default=DefaultElementClass):
element_class = self.LookUpClasses.get(element_tag, (default, None))
if not isinstance(element_class, dict):
- if isinstance(element_class[0], string_types):
+ if isinstance(element_class[0], str): return self.GetElementClass(element_class[0], default=default)
element_with_parent_class = element_class.get(parent_tag, default)
- if isinstance(element_with_parent_class, string_types):
+ if isinstance(element_with_parent_class, str): return self.GetElementClass(element_with_parent_class, default=default)
return element_with_parent_class
@@ -1819,7 +1814,7 @@
"%s " % etree.QName(child.tag).localname
for possible_class in element_class:
- if isinstance(possible_class, string_types):
+ if isinstance(possible_class, str): possible_class = self.GetElementClass(possible_class)
if possible_class.StructurePattern.match(children) is not None:
--- a/xmlclass/xsdschema.py Fri Oct 28 13:06:52 2022 +0800
+++ b/xmlclass/xsdschema.py Fri Oct 28 14:07:13 2022 +0800
@@ -23,16 +23,11 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
from types import FunctionType
from xml.dom import minidom
-from future.builtins import round
-from six import string_types
-from past.builtins import int
from xmlclass.xmlclass import *
@@ -170,7 +165,7 @@
if typeinfos["type"] in ["restriction", "extension"]:
# Search for base type definition
- if isinstance(typeinfos["base"], string_types):
+ if isinstance(typeinfos["base"], str): basetypeinfos = factory.FindSchemaElement(typeinfos["base"], SIMPLETYPE)
if basetypeinfos is None:
raise "\"%s\" isn't defined!" % typeinfos["base"]
@@ -394,7 +389,7 @@
elif typeinfos["type"] == "list":
# Search for item type definition
- if isinstance(typeinfos["itemType"], string_types):
+ if isinstance(typeinfos["itemType"], str): itemtypeinfos = factory.FindSchemaElement(typeinfos["itemType"], SIMPLETYPE)
if itemtypeinfos is None:
raise "\"%s\" isn't defined!" % typeinfos["itemType"]
@@ -440,7 +435,7 @@
# Search for member types definition
for membertype in typeinfos["memberTypes"]:
- if isinstance(membertype, string_types):
+ if isinstance(membertype, str): infos = factory.FindSchemaElement(membertype, SIMPLETYPE)
raise ValueError("\"%s\" isn't defined!" % membertype)
@@ -514,7 +509,7 @@
basetypeinfos = factory.FindSchemaElement(base)
- if not isinstance(basetypeinfos, string_types) and basetypeinfos["type"] == COMPLEXTYPE:
+ if not isinstance(basetypeinfos, str) and basetypeinfos["type"] == COMPLEXTYPE: attrnames = dict([(x["name"], True) for x in basetypeinfos["attributes"]])
@@ -815,7 +810,7 @@
raise ValueError("Only group composed of \"choice\" can be referenced in \"choice\" element!")
for choice in elmtgroup["choices"]:
- if not isinstance(choice["elmt_type"], string_types) and choice["elmt_type"]["type"] == COMPLEXTYPE:
+ if not isinstance(choice["elmt_type"], str) and choice["elmt_type"]["type"] == COMPLEXTYPE: elmt_type = "%s_%s" % (elmtgroup["name"], choice["name"])
if factory.TargetNamespace is not None:
elmt_type = "%s:%s" % (factory.TargetNamespace, elmt_type)
@@ -849,7 +844,7 @@
raise ValueError("Only group composed of \"sequence\" can be referenced in \"sequence\" element!")
for element in elmtgroup["elements"]:
- if not isinstance(element["elmt_type"], string_types) and element["elmt_type"]["type"] == COMPLEXTYPE:
+ if not isinstance(element["elmt_type"], str) and element["elmt_type"]["type"] == COMPLEXTYPE: elmt_type = "%s_%s" % (elmtgroup["name"], element["name"])
if factory.TargetNamespace is not None:
elmt_type = "%s:%s" % (factory.TargetNamespace, elmt_type)
@@ -2215,7 +2210,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)},
+ "check": lambda x: isinstance(x, str)}, @@ -2224,7 +2219,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2234,7 +2229,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2434,7 +2429,7 @@
"generate": GenerateSimpleTypeXMLText(str),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2474,7 +2469,7 @@
"generate": GenerateSimpleTypeXMLText(str),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2484,7 +2479,7 @@
"generate": GenerateSimpleTypeXMLText(str),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2494,7 +2489,7 @@
"generate": GenerateSimpleTypeXMLText(str),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2504,7 +2499,7 @@
"generate": GenerateSimpleTypeXMLText(str),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2514,7 +2509,7 @@
"generate": GenerateSimpleTypeXMLText(str),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2524,7 +2519,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2534,7 +2529,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2544,7 +2539,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2554,7 +2549,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2564,7 +2559,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2574,7 +2569,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2584,7 +2579,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2594,7 +2589,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2604,7 +2599,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2614,7 +2609,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2624,7 +2619,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2634,7 +2629,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str) @@ -2644,7 +2639,7 @@
"generate": GenerateSimpleTypeXMLText(lambda x: x),
- "check": lambda x: isinstance(x, string_types)
+ "check": lambda x: isinstance(x, str)