This script is supposed to download query xkcd json interface, find the total number of comics till date, pick a random number in that range, use the xkcd json interface again to find the comic image url, download it into `/tmp` filesystem, and use feh image viewer to display the image.

I'd appreciate it if you could tell me if this program is neatly written

```
#!/usr/bin/env python

import urllib.request
import json
import random
import subprocess

class Xkcd :
    def __init__(self) :
        self.url = "https://xkcd.com/info.0.json"
        self.num_comics = None
        self.random_comic_num = None
        self.comic_json_url = None
        self.image_url = None

    def get_num_comics(self) :
        html_data = urllib.request.urlopen(self.url)
        json_data = json.loads(html_data.read())
        self.num_comics = json_data['num']

    def download_image(self) :
        urllib.request.urlretrieve(self.image_url, "/tmp/image")

    def get_random_comic(self) :
        self.get_num_comics()
        self.random_comic_num = random.randint(1, self.num_comics)
        self.comic_json_url = "https://xkcd.com/%s/info.0.json" %(self.random_comic_num)
        html_data = urllib.request.urlopen(self.comic_json_url)
        json_data = json.loads(html_data.read())
        self.image_url = json_data['img']
        self.download_image()

    def show_image(self) :
        subprocess.Popen(["feh", "/tmp/image"])
        exit()

if __name__ == "__main__" :
    ob = Xkcd()
    ob.get_random_comic()
    ob.show_image()

```