#!/usr/bin/env python

from __future__ import print_function
import pyclbr
import sys
import operator

if __name__ == '__main__':
    modname = sys.argv[2]
    methname = sys.argv[1]

    mod = pyclbr.readmodule(modname)
    for clsname, cls in mod.items():
        if methname in cls.methods:
            print("Method: {} in Class: {}".format(methname, clsname))
            methods = sorted(cls.methods.items(), key=operator.itemgetter(1))
            clsfile = open(cls.file, 'r')
            break

    for pair in methods:
        name, lineno = pair
        if name == methname:
            startline = lineno
            if methods.index(pair) == methods.index(methods[-1]):
                endline = None
            else:
                endline = methods[methods.index(pair) + 1][1]
            break

    src = clsfile.readlines()[startline-1:endline-1 if endline is not None else -1]
    for srcline in src:
        print(srcline, end='')
