示例#1
0
    def change(self, type, fromAddr, fromContent, toAddr, toContent):
        print('server got command: from {}:{} to {}:{}'.format(
            fromAddr, fromContent, toAddr, toContent))

        if SanHelp.LibAddress in fromAddr:
            if toContent:
                if type == SanHelp.HeroType:  #用库里的武将替代队伍中的武将
                    hero = self.DB.getHeroByName(fromContent)
                    teamId, memberId, position = toAddr.split('.')
                    team = self.DB.getTeamById(teamId)
                    member = team.getMember(memberId)

                    member.toLib()

                    newMember = Member(teamId, memberId)
                    newMember.setHero(hero)
                    member = newMember
                if type == SanHelp.MagicType:
                    magic = self.DB.getMagicByName(fromContent)
                    teamId, memberId, position = toAddr.split('.')
                    team = self.DB.getTeamById(teamId)
                    member = team.getMember(memberId)

                    if position == '2':
                        if member.magic2:
                            member.magic2.setIsAttached(False)
                        member.setMagic2(magic)
                        magic.setIsAttached(True)
                    if position == '3':
                        if member.magic3:
                            member.magic3.setIsAttached(False)
                        member.setMagic3(magic)
                        magic.setIsAttached((True))
示例#2
0
 def loadMember(self, index, position) -> Member:
     offset = (position-1)*6
     heroName = self.teamSheet.cell(index,offset+2).value
     hero = self.getHeroByName(heroName)
     magic2Name = self.teamSheet.cell(index,offset+3).value
     magic2 = self.getMagicByName(magic2Name)
     magic3Name = self.teamSheet.cell(index,offset+4).value
     magic3 = self.getMagicByName(magic3Name)
     member = Member('{}.{}'.format(index-1,position),position)
     member.setProperties(hero,magic2,magic3)
     return member
示例#3
0
文件: PSO.py 项目: MGSE97/BIA
def plot_pso(function, detail=1000):
    # Setup
    random.seed()
    plt.ion()
    args = []
    step = (function.Range[1] - function.Range[0]) / 100
    for d in range(0, D-1):
        args.append(np.random.uniform(function.Range[0], function.Range[1], NP))

    population = []
    for i in range(0, NP):
        p = []
        for d in range(0, D-1):
            p.append(args[d][i])
        p.append(function.Value(p))
        m = Member(p)
        m.Velocity = GraphData(np.random.uniform(-1, 1, NP))
        population.append(m)

    fig = plt.figure("PSO")
    fig.suptitle("PSO")
    ax = fig.gca(projection='3d')
    fig.canvas.draw_idle()

    # Plot the surface.
    full = FullFunction(function, detail)
    surf = ax.plot_surface(full.X, full.Y, full.Z, cmap=cm.coolwarm, linewidth=0, antialiased=True, alpha=0.5)
    plt.pause(0.001)

    points = []
    i = 0
    best = population[0].Best
    while True:
        i += 1
        print(i, best)

        # Draw population
        for point in points:
            point.remove()
        points.clear()

        # Move population
        for m in population:
            best = move_member(m, best, step, function)
            points.append(ax.quiver(m.X, m.Y, m.Z, m.Velocity.X, m.Velocity.Y, m.Velocity.Z, length=step, arrow_length_ratio=0.01, alpha=0.3))

        px, py, pz = [[p.X for p in population], [p.Y for p in population], [p.Z for p in population]]
        points.append(ax.plot(px, py, pz, 'ro', color='black', alpha=0.5)[0])
        points.append(ax.plot([best.X], [best.Y], [best.Z], 'ro', color='red')[0])
        plt.pause(0.01)

    plt.show()
示例#4
0
    def new_member(self):
        member_name = input("Input member Name (Jón Jónsson): ")
        member_phone = input("Input member Phone (898-8989): ")
        member_email = input("Input member Email ([email protected]): ")

        continues = True
        while continues:
            try:
                member_birthyear = int(
                    input("Input member Birthyear (1999): "))
                continues = False
            except ValueError:
                print("Error! Only write a number!")

        new_member = Member(member_name, member_phone, member_email,
                            member_birthyear, [], [], self.unique_id)
        self.add_new_member(new_member)
        #== [ UNDO OP ] =============================================
        save_op = OpInfo(OpType.DELETE_MEMBER, new_member)
        self.undo_stack.append(save_op)
        for op in self.undo_stack:
            # print(f'Op Type: {op.op_type} - Op object: {op.data}')
            print(f'Op Type: {op.op_type} -> Object pointer: {op.data}')
        #== [ END UNDO ] ============================================
        return new_member
示例#5
0
def get_member_from_credentials(form):
    try:
        member = Member.get((Member.username == form['username'])
                            & (Member.password == form['password']))
        print form['username']
        print form['password']
        return member
    except Member.DoesNotExist:
        return False
示例#6
0
def get_member_from_credentials(form):
    try:
        member = Member.get((Member.username == form['username'])
                            & (Member.password == form['password']))
        print form['username']
        print form['password']
        return member
    except Member.DoesNotExist:
        return False
示例#7
0
def show_hotstops(hs_id=None):

    print hs_id

    # No riff-raff
    if not session.get('member_id'):
        return redirect(url_for('login'))

    # Show the goods
    if request.method == 'GET':

        hotstops = HotStop.select().where(
            HotStop.member == session.get('member_id'))

        if (hotstops.exists()):
            hs_list = []
            for hs in hotstops:
                hs_list.append(hs.to_display_dict())
            print hs_list
        else:
            hs_list = []

        g.template_vars['title'] = 'HotStops'
        g.template_vars['hotstops'] = hs_list

        if request.is_xhr:
            return jsonify({'hotstops': hs_list})

        return render_template('hotstops.html', vars=get_template_vars())

    elif request.method == 'POST':

        # Add a HotStop for the logged-in member
        new_hs = HotStop()
        new_hs.member = Member.get(Member.id == session.get('member_id'))

        for field, value in request.form.items():
            setattr(new_hs, field, value)

        new_hs.added_on = datetime.datetime.now()
        new_hs.save()

        hs_list = []
        for hs in new_hs.member.hotstops:
            hs_list.append(hs.to_display_dict())

        return jsonify({'hotstops': hs_list})

    elif request.method == 'DELETE':
        query = HotStop.delete().where(HotStop.id == hs_id)
        query.execute()
        return jsonify({'deleted': hs_id})

    else:
        # Update
        pass
示例#8
0
def show_hotstops(hs_id=None):

    print hs_id

    # No riff-raff
    if not session.get('member_id'):
        return redirect(url_for('login'))

    # Show the goods
    if request.method == 'GET':

        hotstops = HotStop.select().where(
            HotStop.member == session.get('member_id'))

        if (hotstops.exists()):
            hs_list = []
            for hs in hotstops:
                hs_list.append(hs.to_display_dict())
            print hs_list
        else:
            hs_list = []

        g.template_vars['title'] = 'HotStops'
        g.template_vars['hotstops'] = hs_list

        if request.is_xhr:
            return jsonify({'hotstops': hs_list})

        return render_template('hotstops.html', vars=get_template_vars())

    elif request.method == 'POST':

        # Add a HotStop for the logged-in member
        new_hs = HotStop()
        new_hs.member = Member.get(Member.id == session.get('member_id'))

        for field, value in request.form.items():
            setattr(new_hs, field, value)

        new_hs.added_on = datetime.datetime.now()
        new_hs.save()

        hs_list = []
        for hs in new_hs.member.hotstops:
            hs_list.append(hs.to_display_dict())

        return jsonify({'hotstops': hs_list})

    elif request.method == 'DELETE':
        query = HotStop.delete().where(HotStop.id == hs_id)
        query.execute()
        return jsonify({'deleted': hs_id})

    else:
        # Update
        pass
示例#9
0
def update_member():
    print request.method
    if request.method == 'POST':
        # Is this seat taken?
        try:
            member = Member.get(Member.username == request.form['username'])
            message = "The username '" + member.username + \
                "' is already in use."
            destination = 'update_member'
        #Create a new member
        except Member.DoesNotExist:
            new_member = Member()
            for field, value in request.form.items():
                setattr(new_member, field, value)
            new_member.save()
            message = 'Welcome to the party, ' + new_member.username
            destination = 'login'
        flash(message)
        return redirect(url_for(destination))

    elif request.method == 'GET':
        return render_template('member.html', vars=g.template_vars)
示例#10
0
def update_member():
    print request.method
    if request.method == 'POST':
        # Is this seat taken?
        try:
            member = Member.get(
                Member.username == request.form['username'])
            message = "The username '" + member.username + \
                "' is already in use."
            destination = 'update_member'
        #Create a new member
        except Member.DoesNotExist:
            new_member = Member()
            for field, value in request.form.items():
                setattr(new_member, field, value)
            new_member.save()
            message = 'Welcome to the party, ' + new_member.username
            destination = 'login'
        flash(message)
        return redirect(url_for(destination))

    elif request.method == 'GET':
        return render_template('member.html', vars=g.template_vars)
示例#11
0
def create_tables():
    Member.create_table()
    Route.create_table()
    Stop.create_table()
    HotStop.create_table()
    RouteStopAssociation.create_table()
示例#12
0

@app.route('/build_directions')
def build_directions_for_routes():
    routes = Route.select()
    for route in routes:
        url = app.config['NEXTRIP_BASE_URL'] + 'Directions/' + route.route
        d_response = outbound.get(url)
        xml = ET.fromstring(d_response.text)
        for child in xml:
            value = child.findtext(app.config['NEXTRIP_XML_PREFIX'] + 'Value')
            direction = Direction.get(Direction.value == value)
            RouteDirectionAssociation.create(route=route, direction=direction)


if not Member.table_exists():
    create_tables()


def get_template_vars():
    return g.template_vars


@app.before_request
def before_request():
    g.db = database
    g.db.connect()

    g.template_vars = {'logged_in': False}
    if session.get('member_id'):
        g.template_vars['logged_in'] = True
示例#13
0
def create_tables():
    Member.create_table()
    Route.create_table()
    Stop.create_table()
    HotStop.create_table()
    RouteStopAssociation.create_table()
示例#14
0

@app.route('/build_directions')
def build_directions_for_routes():
    routes = Route.select()
    for route in routes:
        url = app.config['NEXTRIP_BASE_URL'] + 'Directions/' + route.route
        d_response = outbound.get(url)
        xml = ET.fromstring(d_response.text)
        for child in xml:
            value = child.findtext(app.config['NEXTRIP_XML_PREFIX'] + 'Value')
            direction = Direction.get(Direction.value == value)
            RouteDirectionAssociation.create(route=route, direction=direction)


if not Member.table_exists():
    create_tables()


def get_template_vars():
    return g.template_vars


@app.before_request
def before_request():
    g.db = database
    g.db.connect()

    g.template_vars = {'logged_in': False}
    if session.get('member_id'):
        g.template_vars['logged_in'] = True
示例#15
0
 def test(self):
     self.add_new_member(
         Member("Karl Bernharðsson", "898-8787", "*****@*****.**", 1989, [], [],
                1))
     self.add_new_member(
         Member("Sigurður Sigurðsson", "844-8484", "*****@*****.**", 2000, [],
                [], 2))
     self.add_new_member(
         Member("Magnús Friðriksson", "898-4111", "*****@*****.**", 2001, [],
                [], 3))
     self.add_new_member(
         Member("Elísabet Skaargard", "778-1155", "*****@*****.**", 2002, [],
                [], 4))
     self.add_new_member(
         Member("Knútur Olsen", "877-1588", "*****@*****.**", 2000, [], [], 5))
     self.add_new_member(
         Member("Sigrún Tinnudóttir", "677-8877", "*****@*****.**", 2010, [],
                [], 6))
     self.add_new_member(
         Member("Jón Karlsson", "661-8488", "*****@*****.**", 2011, [], [], 7))
     self.add_new_member(
         Member("Geir Sigurður Magnússon", "771-2126", "*****@*****.**", 2010,
                [], [], 8))
     self.add_new_member(
         Member("Bertrand Filibusarson", "771-2125", "*****@*****.**", 2000, [],
                [], 9))
     self.add_new_member(
         Member("Notandi0", "771-2121", "*****@*****.**", 2005, [], [], 10))
     self.add_new_member(
         Member("Notandi01", "771-2122", "*****@*****.**", 1994, [], [], 11))
     self.add_new_member(
         Member("Notandi02", "771-2123", "*****@*****.**", 1992, [], [], 12))
     self.add_new_member(
         Member("Notandi03", "771-2124", "*****@*****.**", 1997, [], [], 13))