if not os.path.exists(name):
            return None, None

        p = wmlparser.Parser(None)
        p.parse_file(name)
        info = wmldata.DataSub("WML")
        p.parse_top(info)
        uploads = info.get_or_create_sub("info").get_text_val("uploads", "")
        version = info.get_or_create_sub("info").get_text_val("version", "")
        return uploads, version

    campaign_list = None

    if options.list:
        cs = CampaignClient(address)
        campaign_list = data = cs.list_campaigns()
        if data:
            campaigns = data.get_or_create_sub("campaigns")
            if options.wml:
                for campaign in campaigns.get_all("campaign"):
                    campaign.debug(show_contents=True, use_color=options.color)
            else:
                column_sizes = [10, 5, 10, 7, 8, 8, 10, 5, 10, 13]
                columns = [
                    [
                        "type",
                        "name",
                        "title",
                        "author",
                        "version",
                        "uploads",