You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					47 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					47 lines
				
				1.3 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								#
							 | 
						||
| 
								 | 
							
								# This file is part of pyasn1 software.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
							 | 
						||
| 
								 | 
							
								# License: http://snmplabs.com/pyasn1/license.html
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								from sys import version_info
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if version_info[0] <= 2:
							 | 
						||
| 
								 | 
							
								    int2oct = chr
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    ints2octs = lambda s: ''.join([int2oct(x) for x in s])
							 | 
						||
| 
								 | 
							
								    null = ''
							 | 
						||
| 
								 | 
							
								    oct2int = ord
							 | 
						||
| 
								 | 
							
								    # TODO: refactor to return a sequence of ints
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    octs2ints = lambda s: [oct2int(x) for x in s]
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    str2octs = lambda x: x
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    octs2str = lambda x: x
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    isOctetsType = lambda s: isinstance(s, str)
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    isStringType = lambda s: isinstance(s, (str, unicode))
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    ensureString = str
							 | 
						||
| 
								 | 
							
								else:
							 | 
						||
| 
								 | 
							
								    ints2octs = bytes
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    int2oct = lambda x: ints2octs((x,))
							 | 
						||
| 
								 | 
							
								    null = ints2octs()
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    oct2int = lambda x: x
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    octs2ints = lambda x: x
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    str2octs = lambda x: x.encode('iso-8859-1')
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    octs2str = lambda x: x.decode('iso-8859-1')
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    isOctetsType = lambda s: isinstance(s, bytes)
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    isStringType = lambda s: isinstance(s, str)
							 | 
						||
| 
								 | 
							
								    # noinspection PyPep8
							 | 
						||
| 
								 | 
							
								    ensureString = bytes
							 |