diff --git a/base256.py b/base256.py new file mode 100755 index 0000000..7a3e860 --- /dev/null +++ b/base256.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +"""A very simple script to convert an integer into an IPv4 address. + Expects an integer as the only argument.""" +from sys import argv + +def from_base256(number): + num = int(number) + addr = list() + for e in range(3, -1, -1): + multiplier = 256 ** e + octet = num // multiplier + addr.append(str(octet)) + num = num % multiplier + + return '.'.join(addr) + +def to_base256(addr): + addr = addr.split('.') + num = 0 + for e in range(3, -1, -1): + num += int(addr[3-e]) * 256 ** e + + return str(num) + +try: + result = from_base256(argv[1]) +except ValueError: + result = to_base256(argv[1]) + +print(result) diff --git a/int-to-ip4.py b/int-to-ip4.py deleted file mode 100755 index 52dbeab..0000000 --- a/int-to-ip4.py +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python -"""A very simple script to convert an integer into an IPv4 address. - Expects an integer as the only argument.""" -from sys import argv - -addr = list() -num = int(argv[1]) -for e in range(3, -1, -1): - multiplier = 256 ** e - octet = num // multiplier - addr.append(str(octet)) - num = num % multiplier - -print('.'.join(addr)) diff --git a/ip4-to-int.py b/ip4-to-int.py deleted file mode 100755 index a23a9a6..0000000 --- a/ip4-to-int.py +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env python -"""A very simple script to convert an IPv4 address into an integer. - Expects a single IPv4 address as the only argument.""" -from sys import argv - -addr = argv[1].split('.') -num = 0 -for e in range(3, -1, -1): - num += int(addr[3-e]) * 256 ** e - -print(num)