mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Wingy <git@wingysam.xyz> Co-authored-by: Koudai Aono <koxudaxi@gmail.com> Co-authored-by: Dave Peck <davepeck@gmail.com> Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> Co-authored-by: Paul Everitt <pauleveritt@me.com> Co-authored-by: sobolevn <mail@sobolevn.me>
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			641 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			641 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Support for template string literals (t-strings)."""
 | 
						|
 | 
						|
__all__ = [
 | 
						|
    "Interpolation",
 | 
						|
    "Template",
 | 
						|
]
 | 
						|
 | 
						|
t = t"{0}"
 | 
						|
Template = type(t)
 | 
						|
Interpolation = type(t.interpolations[0])
 | 
						|
del t
 | 
						|
 | 
						|
def _template_unpickle(*args):
 | 
						|
    import itertools
 | 
						|
 | 
						|
    if len(args) != 2:
 | 
						|
        raise ValueError('Template expects tuple of length 2 to unpickle')
 | 
						|
 | 
						|
    strings, interpolations = args
 | 
						|
    parts = []
 | 
						|
    for string, interpolation in itertools.zip_longest(strings, interpolations):
 | 
						|
        if string is not None:
 | 
						|
            parts.append(string)
 | 
						|
        if interpolation is not None:
 | 
						|
            parts.append(interpolation)
 | 
						|
    return Template(*parts)
 |