From dd2a91f8c936faa2bb9440c62de6104aa0a9d338 Mon Sep 17 00:00:00 2001 From: Auke Klazema <klazema@astron.nl> Date: Mon, 25 Mar 2019 12:49:19 +0000 Subject: [PATCH] SW-609: StringIO doesn't like bytes anymore --- .../lib/lofarxml_to_momxml_translator.py | 4 ++-- SAS/SpecificationServices/lib/translation_service.py | 4 ++-- .../test/t_telescope_model_xml_generator_type1.py | 4 ++-- .../django_rest/restinterface/triggerinterface/views.py | 4 ++-- SAS/TriggerServices/lib/trigger_service.py | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/SAS/SpecificationServices/lib/lofarxml_to_momxml_translator.py b/SAS/SpecificationServices/lib/lofarxml_to_momxml_translator.py index daafa83c58d..f795a8e9da3 100644 --- a/SAS/SpecificationServices/lib/lofarxml_to_momxml_translator.py +++ b/SAS/SpecificationServices/lib/lofarxml_to_momxml_translator.py @@ -52,7 +52,7 @@ from .config import VALIDATION_SERVICENAME, VALIDATION_BUSNAME from .validation_service_rpc import ValidationRPC from .specification_service import _parse_relation_tree, make_key, _parse_project_code -from io import StringIO +from io import BytesIO import logging __version__ = '0.43' @@ -740,7 +740,7 @@ class LofarXmlToMomXmlTranslator(): # Parse specification parser = etree.XMLParser(remove_blank_text=True) # <-- prevent that prettyprinting breaks - spectree = etree.parse(StringIO(spec_xml.encode('UTF-8')), parser=parser).getroot() + spectree = etree.parse(BytesIO(spec_xml.encode('UTF-8')), parser=parser).getroot() nsmap = {"lofar": "http://www.astron.nl/MoM2-Lofar", "mom2": "http://www.astron.nl/MoM2", diff --git a/SAS/SpecificationServices/lib/translation_service.py b/SAS/SpecificationServices/lib/translation_service.py index ea35a0f7f0d..732439c5016 100644 --- a/SAS/SpecificationServices/lib/translation_service.py +++ b/SAS/SpecificationServices/lib/translation_service.py @@ -44,7 +44,7 @@ from lofar.specificationservices.telescope_model_xml_generator_type1 import Tele logger = logging.getLogger(__name__) from lxml import etree -from io import StringIO +from io import BytesIO from lofar.messaging import Service from lofar.messaging.Service import MessageHandlerInterface @@ -80,7 +80,7 @@ class SpecificationTranslationHandler(MessageHandlerInterface): try: # pick the specification element parser = etree.XMLParser(remove_blank_text=True) - doc = etree.parse(StringIO(trigger_spec.encode('UTF-8')), parser=parser) + doc = etree.parse(BytesIO(trigger_spec.encode('UTF-8')), parser=parser) # spec = doc.getroot().find('{http://www.astron.nl/LofarSpecification}specification') root = doc.getroot() if not "trigger" in root.tag: diff --git a/SAS/SpecificationServices/test/t_telescope_model_xml_generator_type1.py b/SAS/SpecificationServices/test/t_telescope_model_xml_generator_type1.py index 43301c4aa2e..90fcdac35a6 100755 --- a/SAS/SpecificationServices/test/t_telescope_model_xml_generator_type1.py +++ b/SAS/SpecificationServices/test/t_telescope_model_xml_generator_type1.py @@ -22,7 +22,7 @@ import os import unittest from lxml import etree -from io import StringIO +from io import BytesIO from lofar.specificationservices.telescope_model import TelescopeModel from lofar.specificationservices.telescope_model_xml_generator_type1 import TelescopeModelXMLGeneratorType1 @@ -93,7 +93,7 @@ class TestTelescopeModelXMLGeneratorType1(unittest.TestCase): xmlcontent = f.read() f.close() - xmldoc = etree.parse(StringIO(xmlcontent.encode('UTF-8'))) + xmldoc = etree.parse(BytesIO(xmlcontent.encode('UTF-8'))) return etree.tostring(xmldoc) diff --git a/SAS/TriggerServices/django_rest/restinterface/triggerinterface/views.py b/SAS/TriggerServices/django_rest/restinterface/triggerinterface/views.py index b3c8e5980a5..0b8282ad105 100644 --- a/SAS/TriggerServices/django_rest/restinterface/triggerinterface/views.py +++ b/SAS/TriggerServices/django_rest/restinterface/triggerinterface/views.py @@ -17,7 +17,7 @@ from rest_framework_xml.renderers import XMLRenderer from io import BytesIO from rest_framework.fields import CurrentUserDefault from lxml import etree -from io import StringIO +from io import BytesIO from lofar.triggerservices.trigger_service_rpc import TriggerRPC from lofar.specificationservices.specification_service_rpc import SpecificationRPC @@ -150,7 +150,7 @@ class TriggerListView(views.APIView): return Response(identifier, status=status.HTTP_201_CREATED) def _renameXMLroot(self, xml, newname): - root = etree.parse(StringIO(xml)) + root = etree.parse(BytesIO(xml)) root.tag = newname return etree.tostring(root) diff --git a/SAS/TriggerServices/lib/trigger_service.py b/SAS/TriggerServices/lib/trigger_service.py index 16391cdccfc..e41a059e311 100644 --- a/SAS/TriggerServices/lib/trigger_service.py +++ b/SAS/TriggerServices/lib/trigger_service.py @@ -21,7 +21,7 @@ # with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>. -from io import StringIO +from io import BytesIO from lxml import etree from datetime import datetime, timedelta @@ -127,7 +127,7 @@ def _send_notification(user, host, project, trigger_id, metadata): def _parse_project_id(trigger_xml): - doc = etree.parse(StringIO(trigger_xml.encode('utf-8'))) + doc = etree.parse(BytesIO(trigger_xml.encode('utf-8'))) ref = doc.find("projectReference") #return ref.find("identifier").find("identifier").text return ref.find("ProjectCode").text @@ -374,4 +374,4 @@ def main(): if __name__ == '__main__': logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO) - main() \ No newline at end of file + main() -- GitLab