3434from pydifact .token import Token
3535from pydifact .segments import Segment , SegmentFactory
3636from pydifact .control import Characters
37+ import logging
38+
39+ logger = logging .getLogger (__name__ )
3740
3841
3942class Parser :
@@ -52,16 +55,15 @@ def __init__(
5255 self ,
5356 factory : SegmentFactory | None = None ,
5457 characters : Characters | None = None ,
55- version : str = "" ,
5658 directory : str = "" ,
57- syntax_identifier : str = "" ,
5859 ) -> None :
5960 """Initializes parser with segment factory and control characters"""
6061 self .factory = factory or SegmentFactory ()
6162 self .characters = characters or Characters ()
62- self .version = version
6363 self .directory = directory
64- self .syntax_identifier = syntax_identifier
64+
65+ self .syntax_identifier = ""
66+ self .version = ""
6567
6668 def parse (
6769 self ,
@@ -121,7 +123,7 @@ def parse(
121123
122124 for raw_segment in raw_segments :
123125 yield self .convert_raw_segment_to_segment (
124- raw_segment , version = self . version , directory = self .directory
126+ raw_segment , directory = self .directory
125127 )
126128
127129 @staticmethod
@@ -252,7 +254,6 @@ def convert_tokens_to_raw_segments(
252254 def convert_raw_segment_to_segment (
253255 self ,
254256 raw_segment : Elements ,
255- version : str = EDI_DEFAULT_VERSION ,
256257 directory : str = EDI_DEFAULT_DIRECTORY ,
257258 ) -> Segment :
258259 name = raw_segment .pop (0 )
@@ -270,23 +271,13 @@ def convert_raw_segment_to_segment(
270271 # then we don't override it here, even if the UNB segment has another
271272 # value. The user might want to override this manually.
272273
273- print (f"Found edifact syntax '{ raw_segment [0 ][0 ]} ' in UNB header" , end = "" )
274- if self .syntax_identifier :
275- print (", but using override syntax '{self.syntax_identifier}'" )
276- else :
277- print ("." )
278- self .syntax_identifier = raw_segment [0 ][0 ]
279-
280- print (
281- f"Found edifact version '{ int (raw_segment [0 ][1 ])} ' in UNB header" ,
282- end = "" ,
274+ self .syntax_identifier = raw_segment [0 ][0 ]
275+ self .version = raw_segment [0 ][1 ]
276+ logger .info (
277+ f"Using edifact syntax identifier '{ self .syntax_identifier } ' with "
278+ f"syntax version { self .version } in UNB header." ,
283279 )
284- if self .version :
285- print (f", but using override version '{ self .version } '." )
286280
287- else :
288- self .version = int (raw_segment [0 ][1 ])
289- print ("." )
290281 return self .factory .create_segment (
291282 name ,
292283 * raw_segment ,
0 commit comments