def args_split(text):
 for bit in args_split_re.finditer(text):
  bit = bit.group(0)
  if ((bit[0] == u'"') and (bit[(-1)] == u'"')):
   (yield ((u'"' + bit[1:(-1)].replace(u'\\"', u'"').replace(u'\\\\', u'\\')) + u'"'))
  elif ((bit[0] == u"'") and (bit[(-1)] == u"'")):
   (yield ((u"'" + bit[1:(-1)].replace(u"\\'", u"'").replace(u'\\\\', u'\\')) + u"'"))
  else:
   (yield bit)

def args_split ( text ) : for bit in args_split_re . finditer ( text ) : bit = bit . group ( 0 ) if ( ( bit [ 0 ] == u'"' ) and ( bit [ ( - 1 ) ] == u'"' ) ) : ( yield ( ( u'"' + bit [ 1 : ( - 1 ) ] . replace ( u'\\"' , u'"' ) . replace ( u'\\\\' , u'\\' ) ) + u'"' ) ) elif ( ( bit [ 0 ] == u"'" ) and ( bit [ ( - 1 ) ] == u"'" ) ) : ( yield ( ( u"'" + bit [ 1 : ( - 1 ) ] . replace ( u"\\'" , u"'" ) . replace ( u'\\\\' , u'\\' ) ) + u"'" ) ) else : ( yield bit )
split space-separated key=value arguments .