Esempio n. 1
0
    def test_max_value(self):
        parser = FileParser('./test-input.txt')
        max_register_value = parser.get_max_register_value()
        self.assertEqual(0, max_register_value)

        parser.run()
        max_register_value = parser.get_max_register_value()
        self.assertEqual(10, max_register_value)
Esempio n. 2
0
def main(args):
    if "filename" in args:
        parser = FileParser(args.filename)
    else:
        parser = NetParser(args.host, args.port)
    renderer = Renderer(args.pixels, args.mass, parser)
    window = Window(args.fps, renderer)
    window.mainloop()
Esempio n. 3
0
    def _read_file(self, file, data_size):
        """[summary]

        Arguments:
            file {[type]}

        """
        parser = FileParser(self.seq_len, file)
        d_size = len(parser.tours)
        if d_size < data_size:
            self.data_size = d_size
        points_list = np.array(parser.coords[: self.data_size])
        solutions = np.array(parser.tours[: self.data_size])
        return {"Points_List": points_list, "Solutions": solutions}
Esempio n. 4
0
    def get_parser(self, url: str):
        # first try supported hosts
        host = urlparse(url).netloc
        if host == Anime1Parser.host:
            return Anime1Parser()

        # finally try file parser by parsing file extention
        file_ext_match = re.match(r'.*\.(\w+$)', url)
        if file_ext_match and file_ext_match.group(
                1) in FileParser.support_extensions:
            return FileParser()

        # nothing we can do...
        raise Exception("url not support: %s" % url)
Esempio n. 5
0
    def new_file(self):
        self.master.filename = filedialog.askopenfilename(
            initialdir="./json",
            title="Select file",
            filetypes=(("json files", "*.json"), ("all files", "*.*")))

        self.parser = FileParser(self.master.filename)
        self.keylist = self.parser.findKeys()

        self.key_search['values'] = self.keylist
        self.key_extract['values'] = self.keylist

        self.key_search.current(0)
        self.key_extract.current(0)

        file = os.path.basename(self.master.filename)
        self.name.config(text="Current File: " + file)
Esempio n. 6
0
def serve(sock, filename):
    try:
        parser = FileParser(filename)
        sock.send("{}\n".format(parser.n))
        sock.send("{}\n".format(parser.L))
        sock.send("{}\n".format(parser.N))
        sock.send("{}\n".format(parser.N_p))
        for m in parser.masses:
            sock.send("{}\n".format(m))

        for _ in range(parser.N_p):
            msg = sock.recv(3)
            if msg != "g\r\n":
                print "msg = '{}'".format(msg)
                return
            for (x, y) in parser.next():
                sock.send("{} {} 0.0 0.0\n".format(x, y))
    except Exception:
        traceback.print_exc()
def main():

    ip_file = None
    myargs = getopts(argv)
    if "-f" in myargs:
        ip_file = myargs["-f"]
    else:
        print "Usage: python mission_assign.py -f <input file>"
        exit()

    op_file = ip_file.split(".")[0] + "_output.txt"

    # create parser object
    parser = FileParser(filepath=ip_file)

    # flatten the uas indices into instances, taking into account uas count per uas
    parser.create_uas_index_to_instance_map()
    # setup mission map where each entry is a mission id - compatible uas list map.
    missions = parser.get_domain_for_missions()
    # setup pilot map where each entry is a pilot name - compatible uas list map.
    pilots, pilots_pref = parser.get_domain_for_pilots()
    uas_max = parser.get_uas_instance_count()
    uas_names = parser.get_uas_names()

    # create the solver object
    solver = Solver(pilot_map=pilots,
                    mission_map=missions,
                    uas_max=uas_max,
                    pilot_prefs={})

    # build the domain variables
    solver.build_variables()
    # build the constraints
    solver.build_constraints()

    # start the timer for 90 seconds
    t = threading.Timer(90.0, timeout)
    t.start()
    # solve the 'problem'
    solution = solver.get_solution()
    # solution was found, timer can be stopped
    t.cancel()

    if solution:

        # pretty print logic follows
        print "Solution found! Writing to file..." + op_file
        pretty_map = {}
        for key, value in solution.iteritems():
            if type(key) == int:
                if value in pretty_map:
                    pretty_map[value]["mission"].append(key)
                else:
                    pretty_map[value] = {
                        "mission": [key],
                        "pilot": None,
                        "uas":
                        uas_names[parser.get_uas_index_from_instance(value)],
                        "fav": None
                    }

        sorted_pretty_list = [None] * len(missions)

        for key, value in solution.iteritems():
            if type(key) != int:
                pretty_map[value]["pilot"] = key
                pretty_map[value][
                    "fav"] = "Yes" if value in pilots_pref[key] else "No"

        for uas, value in pretty_map.iteritems():
            missions = value["mission"]
            for mission in missions:
                sorted_pretty_list[mission] = str("M" + str(mission + 1) +
                                                  " " + value["pilot"] + " " +
                                                  value["uas"] + " " +
                                                  value["fav"])

        with open(op_file, 'w') as f:
            for assignment in sorted_pretty_list:
                f.write(assignment + "\n")
                print assignment
    else:
        print "No solution found!"
        with open(op_file, 'w') as f:
            f.write("No solution found!" + "\n")