def construct_url(partier_list, riksmote_list): input_hygiene.check_riksmote_format(riksmote_list) partier_list = [x.upper() for x in partier_list] check_part(partier_list) partier_formatted = format_partier_str(partier_list) riksmoten_formatted = format_riksmoten(riksmote_list) url = "http://data.riksdagen.se/voteringlistagrupp/?{0}bet=&punkt=&{1}utformat=xml".format(riksmoten_formatted, partier_formatted) return url
def main(): parties = constants.part_abb_list parser = argparse.ArgumentParser() riksmote_def = [constants.today_riksmote()] parser.add_argument("-p", "--partier", dest="partier", nargs="+", help="Add parties", metavar="partier", default=parties) parser.add_argument("-r", "--riksmote", dest="riksmote", nargs="+", help="Add riksmoten", metavar="riksmote", default=riksmote_def) parser.add_argument("-u", "--utskott", dest="utskott", nargs="+", help="Add utskott", metavar="utskott", default=None) parser.add_argument("--matrix", dest="matrix", action='store_true', help="Create matrix", default=False) parser.add_argument("--franvaro", dest="check_franvaro", action='store_true', help="Print franvaro dictionary", default=False) parser.add_argument("--win-loss-ratio", dest="win_loss", action='store_true', help="Print the win/loss ratio for the specified parties", default=False) parser.add_argument("--losses", dest="losses", action='store_true', help="Print the voteringar where the specified parties have lost", default=False) parser.add_argument("--losses-save", dest="losses_save", action='store_true', help="Save a file with info about the voteringar where the specified parties have lost", default=False) parsed = parser.parse_args() # print(parsed.partier) # print(parsed.riksmote) # print(parsed.utskott) # print(parsed.matrix) partier = sorted([x.upper() for x in parsed.partier]) riksmote = parsed.riksmote utskott_raw = parsed.utskott input_hygiene.check_part(partier) input_hygiene.check_riksmote_format(riksmote) if utskott_raw != None: utskott = input_hygiene.check_utskott(utskott_raw) else: utskott = utskott_raw url = url_constructor.construct_url(partier, riksmote) vote_part_list = VotePartList(url, utskott) if parsed.matrix: print("url", url) print("vote_part_list_parts", vote_part_list.get_these_parts()) matrix_data = vote_part_list.get_vote_matrix_data() #print("matrix_data_runner:", matrix_data) r_matrix_creator.r_execute_input_file(partier, riksmote, utskott, matrix_data) if parsed.check_franvaro: print(vote_part_list.get_vote_franvaro_dict()) if parsed.win_loss: print(vote_part_list.get_win_loss_ratio()) if parsed.losses: print(vote_part_list.loss_list_str()) if parsed.losses_save: write_string = vote_part_list.loss_list_str() path = "output/losses/" write_file(write_string, path, utskott, riksmote, partier)