def download_drop_page(func):
    """decorator to download page before func execution and,
    if asked, drop it just after"""
    def inner(self, *args, drop_page=False, **kwargs):
        self.download_page()
        result = func(self, *args, **kwargs)
        if drop_page:
            self.drop_page()
        return result
    return inner