def main_simulate(in_stream, out_stream): limits = Limits(open("rts.lim")) loadflow = Loadflow(open("rts.lf"), limits) for count, scenario in stream_scenario_generator(in_stream): result, result_reason = loadflow.simulate(scenario) scenario.result = result scenario.result_reason = result_reason out_stream.write(str(count) + ", " + str(scenario) + "\n")
def __init__(self): self.IS_ALIVE = True self.socket = None self.db = DB() self.tc_manager = Testcases(self.db) self.token_manager = Token(self.db) self.limits = Limits(self.db.getConf()[3], self.db.getConf()[4]) self.queue = [] self.workers = [] self.allowed_languages = ['c++11', 'c++14', 'c++17']
def from_dict(cls, robot, subgait_dict, gait_name, subgait_name, version, *args): """List parameters from the yaml file in organized lists. :param robot: The robot corresponding to the given sub-gait file :param subgait_dict: The dictionary extracted from the yaml file :param gait_name: The name of the parent gait :param subgait_name: The name of the child (sub)gait :param version: The version of the yaml file :returns A populated Subgait object """ if robot is None: rospy.logerr('Cannot create gait without a loaded robot.') return None joint_trajectory = subgait_dict['trajectory'] duration = rospy.Duration(subgait_dict['duration']['secs'], subgait_dict['duration']['nsecs']).to_sec() joint_list = [] for joint_name in joint_trajectory['joint_names']: urdf_joint = cls._get_joint_from_urdf(robot, joint_name) if urdf_joint is None: rospy.logwarn('Not all joints in gait are in robot.') continue limits = Limits(urdf_joint.safety_controller.soft_lower_limit, urdf_joint.safety_controller.soft_upper_limit, urdf_joint.limit.velocity) joint_list.append( cls.joint_class.from_dict(subgait_dict, joint_name, limits, duration, *args)) subgait_type = subgait_dict['gait_type'] if subgait_dict.get( 'gait_type') else '' subgait_description = subgait_dict['description'] if subgait_dict.get( 'description') else '' return cls(joint_list, duration, subgait_type, gait_name, subgait_name, version, subgait_description)
def main_test(out_stream): """print the results and the intermediate file for a number of interesting scenarios. So we can check by hand if the intermediate file generator and the simulator are doing the correct thing. """ batch_string = "" batch_string += "1, base, None, , 1.0" + windstr(1) + "\n" # base - as normal batch_string += "1, half, None, , 0.5" + windstr(1) + "\n" # half load power batch_string += "1, tenth, None, , 0.1" + windstr(1) + "\n" # tenth load power batch_string += "1, island, None, , 1.0" + windstr(1) + ", B11\n" # island batch_string += "1, slack, None, , 1.0" + windstr(1) + ", G12\n" # removed 1 slack bus batch_string += "1, slack-all, None, , 1.0" + windstr(1) + ", G12, G13, G14\n" # removed all slack busses batch_string += "1, line, None, , 1.0" + windstr(1) + ", A2\n" # remove 1 line batch_string += "1, gen, None, , 1.0" + windstr(1) + ", G24\n" # remove 1 generator batch_string += "1, bus, None, , 1.0" + windstr(1) + ", 104\n" # remove 1 bus without generators batch_string += "1, bus-gen, None, , 1.0" + windstr(1) + ", 101\n" # remove 1 bus with generators attached batch_string += "1, bus-slack, None, , 1.0" + windstr(1) + ", 113\n" # remove slack bus and all slack generators batch_string += "1, bus-island, None, , 1.0" + windstr(1) + ", 208\n" # remove bus that causes island batch_string += "1, high-load, None, , 1.10" + windstr(1) + "\n" # load power high batch_string += "1, over-max, None, , 1.15" + windstr(1) + "\n" # load power above max gen power if windlevel.num_wind > 0: batch_string += "1, wind-50, None, , 1.0" + windstr(0.5) + "\n" # base - wind @ 50% batch_string += "1, wind-10, None, , 1.0" + windstr(0.1) + "\n" # base - wind @ 10% batch_string += "1, wind-200, None, , 1.0" + windstr(2.0) + "\n" # base - wind @ 200% in_stream = StringIO(batch_string) limits = Limits(open("rts.lim")) loadflow = Loadflow(open("rts.lf"), limits) for count, scenario in stream_scenario_generator(in_stream): intermediate_file = open(scenario.scenario_type + ".csv", "w") try: loadflow.lfgenerator(intermediate_file, scenario) result, result_reason = loadflow.simulate(scenario) except Exception, e: # remove `,` from message result, result_reason = (False, ''.join(c for c in str(e) if c not in ',')) intermediate_file.close() scenario.result = result scenario.result_reason = result_reason out_stream.write(str(count) + ", " + str(scenario) + "\n")
from stateful_queries import save_query, last_query # pylint: disable=wrong-import-position,wrong-import-order if not os.path.exists(os.path.dirname(LOG_FILE)): os.makedirs(os.path.dirname(LOG_FILE)) logging.basicConfig(filename=LOG_FILE, level=logging.DEBUG, format='%(asctime)s %(message)s') app = Flask(__name__) # pylint: disable=invalid-name app.jinja_loader = jinja2.ChoiceLoader([ app.jinja_loader, jinja2.FileSystemLoader(TEMPLATES), ]) LIMITS = Limits() def is_html_needed(user_agent): """ Basing on `user_agent`, return whether it needs HTML or ANSI """ plaintext_clients = [ 'curl', 'wget', 'fetch', 'httpie', 'lwp-request', 'openbsd ftp', 'python-requests' ] return all([x not in user_agent for x in plaintext_clients]) def is_result_a_script(query): return query in [':cht.sh']
def __init__(self, telecommand): super(RawI2CData, self).__init__(telecommand, Limits().max_frame_payload_size())
def get_response_bytes_count(self): return 5 * Limits().max_frame_payload_size()
def get_response_bytes_count(self): payload = self.get_payload() path_length = payload[1] seqs = payload[(path_length + 3):] seqs_count = len(seqs) / 4 return seqs_count * Limits().max_frame_payload_size()
NOT_FOUND_LOCATION, \ MALFORMED_RESPONSE_HTML_PAGE, \ PLAIN_TEXT_AGENTS, PLAIN_TEXT_PAGES, \ MY_EXTERNAL_IP, QUERY_LIMITS from location import is_location_blocked, location_processing from limits import Limits from wttr import get_wetter, get_moon from wttr_line import wttr_line if not os.path.exists(os.path.dirname(LOG_FILE)): os.makedirs(os.path.dirname(LOG_FILE)) logging.basicConfig(filename=LOG_FILE, level=logging.DEBUG, format='%(asctime)s %(message)s') LIMITS = Limits(whitelist=[MY_EXTERNAL_IP], limits=QUERY_LIMITS) def show_text_file(name, lang): """ show static file `name` for `lang` """ text = "" if name == ":help": text = open(get_help_file(lang), 'r').read() text = text.replace('FULL_TRANSLATION', ' '.join(FULL_TRANSLATION)) text = text.replace('PARTIAL_TRANSLATION', ' '.join(PARTIAL_TRANSLATION)) elif name == ":bash.function": text = open(BASH_FUNCTION_FILE, 'r').read() elif name == ":translation":
NOT_FOUND_LOCATION, \ MALFORMED_RESPONSE_HTML_PAGE, \ PLAIN_TEXT_AGENTS, PLAIN_TEXT_PAGES, \ MY_EXTERNAL_IP from location import is_location_blocked, location_processing from limits import Limits from wttr import get_wetter, get_moon from wttr_line import wttr_line if not os.path.exists(os.path.dirname(LOG_FILE)): os.makedirs(os.path.dirname(LOG_FILE)) logging.basicConfig(filename=LOG_FILE, level=logging.DEBUG, format='%(asctime)s %(message)s') LIMITS = Limits(whitelist=[MY_EXTERNAL_IP], limits=(30, 60, 100)) def show_text_file(name, lang): """ show static file `name` for `lang` """ text = "" if name == ":help": text = open(get_help_file(lang), 'r').read() text = text.replace('FULL_TRANSLATION', ' '.join(FULL_TRANSLATION)) text = text.replace('PARTIAL_TRANSLATION', ' '.join(PARTIAL_TRANSLATION)) elif name == ":bash.function": text = open(BASH_FUNCTION_FILE, 'r').read() elif name == ":translation":
import numpy as np import pandas as pd import json from limits import Limits from predict_loan import PredictLoan from flask import Flask, request, jsonify from proposal import Proposal app = Flask(__name__) BASE_RATE = 5.05 limits = Limits() predict = PredictLoan() print('Service Started...') @app.route("/nextProposal", methods=['GET', 'POST']) def nextProposal(): request_content = request.get_json() print("Request: \n", json.dumps(request_content, indent=2)) customer_grade = int(request_content['grade']) fixedLimits = limits.calculateFixedLimits(customer_grade, request_content['annual_inc']) print("Limits:")