Internal function used by parseAddress() to parse IPv6 address with ':'. >>> _parseAddressIPv6('::') 0L >>> _parseAddressIPv6('::1') 1L >>> _parseAddressIPv6('0:0:0:0:0:0:0:1') 1L >>> _parseAddressIPv6('0:0:0::0:0:1') 1L >>> _parseAddressIPv6('0:0:0:0:0:0:0:
(ipstr)
| 902 | |
| 903 | |
| 904 | def _parseAddressIPv6(ipstr): |
| 905 | """ |
| 906 | Internal function used by parseAddress() to parse IPv6 address with ':'. |
| 907 | |
| 908 | >>> _parseAddressIPv6('::') |
| 909 | 0L |
| 910 | >>> _parseAddressIPv6('::1') |
| 911 | 1L |
| 912 | >>> _parseAddressIPv6('0:0:0:0:0:0:0:1') |
| 913 | 1L |
| 914 | >>> _parseAddressIPv6('0:0:0::0:0:1') |
| 915 | 1L |
| 916 | >>> _parseAddressIPv6('0:0:0:0:0:0:0:0') |
| 917 | 0L |
| 918 | >>> _parseAddressIPv6('0:0:0::0:0:0') |
| 919 | 0L |
| 920 | |
| 921 | >>> _parseAddressIPv6('FEDC:BA98:7654:3210:FEDC:BA98:7654:3210') |
| 922 | 338770000845734292534325025077361652240L |
| 923 | >>> _parseAddressIPv6('1080:0000:0000:0000:0008:0800:200C:417A') |
| 924 | 21932261930451111902915077091070067066L |
| 925 | >>> _parseAddressIPv6('1080:0:0:0:8:800:200C:417A') |
| 926 | 21932261930451111902915077091070067066L |
| 927 | >>> _parseAddressIPv6('1080:0::8:800:200C:417A') |
| 928 | 21932261930451111902915077091070067066L |
| 929 | >>> _parseAddressIPv6('1080::8:800:200C:417A') |
| 930 | 21932261930451111902915077091070067066L |
| 931 | >>> _parseAddressIPv6('FF01:0:0:0:0:0:0:43') |
| 932 | 338958331222012082418099330867817087043L |
| 933 | >>> _parseAddressIPv6('FF01:0:0::0:0:43') |
| 934 | 338958331222012082418099330867817087043L |
| 935 | >>> _parseAddressIPv6('FF01::43') |
| 936 | 338958331222012082418099330867817087043L |
| 937 | >>> _parseAddressIPv6('0:0:0:0:0:0:13.1.68.3') |
| 938 | 218186755L |
| 939 | >>> _parseAddressIPv6('::13.1.68.3') |
| 940 | 218186755L |
| 941 | >>> _parseAddressIPv6('0:0:0:0:0:FFFF:129.144.52.38') |
| 942 | 281472855454758L |
| 943 | >>> _parseAddressIPv6('::FFFF:129.144.52.38') |
| 944 | 281472855454758L |
| 945 | >>> _parseAddressIPv6('1080:0:0:0:8:800:200C:417A') |
| 946 | 21932261930451111902915077091070067066L |
| 947 | >>> _parseAddressIPv6('1080::8:800:200C:417A') |
| 948 | 21932261930451111902915077091070067066L |
| 949 | >>> _parseAddressIPv6('::1:2:3:4:5:6') |
| 950 | 1208962713947218704138246L |
| 951 | >>> _parseAddressIPv6('1:2:3:4:5:6::') |
| 952 | 5192455318486707404433266432802816L |
| 953 | """ |
| 954 | |
| 955 | # Split string into a list, example: |
| 956 | # '1080:200C::417A' => ['1080', '200C', '417A'] and fill_pos=2 |
| 957 | # and fill_pos is the position of '::' in the list |
| 958 | items = [] |
| 959 | index = 0 |
| 960 | fill_pos = None |
| 961 | while index < len(ipstr): |
no test coverage detected