summaryrefslogtreecommitdiff
path: root/base256.py
blob: 7a3e860e917617d6584b146c97a036411d98c2e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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)