Example #1
0
File: desc.py Project: nyamba/spoj
    def doing(self, args):
        __, soup = self.get_soup(_url('problems/'+args.problem_id))

        title = '%s <%s>' % (_(soup.findAll('h1')[1].text), args.problem_id)
        pp = soup.findAll('p')
        desc = BeautifulSoup(escape_sub(_(str(pp[1])))).text
        if desc.endswith('Input'):
            desc = desc[:-5]
        inp = _(pp[2].text)
        if inp.endswith('Output'):
            inp = inp[:-6]
        out = _(pp[3].text)
        idx = out.find('ExampleInput:')
        if idx:
            out = out[:idx]

        example = _(soup.find('pre').text)
        idx = example.find('Output:')
        _in = example[6:idx]
        _out = example[idx+7:]

        content = '\n** %s **\n%s\n\n'
        content += 'input:\n%s\n---------------\n%s\n\n'
        content += 'output:\n%s\n---------------\n%s'
        content = content % (title, desc, inp, _in, out, _out)

        if args.input:
            content = _in
        if args.output:
            content =  _out

        pager(content)