''' JMK Engineering Inc. Python Library for design and such. by: Jeff MacKinnon email: jeff@jmkengineering.com Commandline tools for JEPL functions ''' import argparse import jepl.jepl as jmk # # functions for the functions # # General def va(args): x = [1,3,None] if args.phases in x: if args.phases == None: phases = 3 else: phases = args.phases result = jmk.va(args.voltage, args.current, phases=phases) print ( str(round(result,2))+ "VA") else: print(args.phases) # Solar def temp_adj_Voc(args): if args.beta == None: beta = -0.5 else: beta = args.beta if args.stctemp == None: stctemp = 25 else: stctemp = args.stctemp result = jmk.temp_adj_Voc(args.voc, args.temperature, beta, stctemp) print(str(round(result,2))+"V") # # Parse the options # try: parser = argparse.ArgumentParser() subparsers = parser.add_subparsers( title="tools", help="Commandline Functions" ) # # This section is for the jepl_general functions # # Calcuating VA va_parser = subparsers.add_parser("va", help="calculate VA (S)") va_parser.add_argument("voltage", type=float,help="Voltage of the circuit") va_parser.add_argument("current", type=float,help="Current of the circuit.") va_parser.add_argument("-p","--phases", type=int,help="Phases of the circuit. It should be either 1 or 3, and we will assume 3 if it is not used.") va_parser.set_defaults(func=va) # # Solar Tools # tempvoc = subparsers.add_parser("tempVoc", help="Calculate the temperature adjusted Voc of a PV panel.") tempvoc.add_argument("voc", type=float,help="Open circuit voltage of the panel.") tempvoc.add_argument("temperature", type=float, help="Temperature the panel will be at.") tempvoc.add_argument("-b", "--beta", type=float, help="Panel Beta value, if none is added -0.5 will be used.") tempvoc.add_argument("-t", "--stctemp", type=float, help="The STC temp. If none is added 25C will be used.") tempvoc.set_defaults(func=temp_adj_Voc) # This runs the function that was selected with the arguments in the command. args = parser.parse_args() args.func(args) except argparse.ArgumentError as e: #log.error("Error parsing arguments") raise e #else: # print(f"Something clever")