Beispiel #1
0
    def __init__(self, center, radius):
        Boundary.__init__(self)

        self.center = array(center, dtype=np.double).flatten()
        self.radius = float(radius)
        self.dimension = len(self.center)

        self._hash = self._hash = hash(tuple(self.center) + (self.radius, ))
Beispiel #2
0
    def __init__(self, ranges):
        Boundary.__init__(self)

        self.ranges = array(ranges, dtype=np.double)
        assert self.ranges.shape[1] == 2
        assert all(self.ranges[:, 0] <= self.ranges[:, 1])
        self.dimension = self.ranges.shape[0]

        self._hash = hash(tuple(self.ranges.flat))
Beispiel #3
0
    def __init__(self, ranges):
        Boundary.__init__(self)

        self.ranges = array(ranges, dtype=np.double)
        assert self.ranges.shape == (2, 2)
        assert all(self.ranges[:, 0] <= self.ranges[:, 1])
        self.dimension = 2

        self.polygon = None

        self._hash = hash(tuple(self.ranges.flat))
Beispiel #4
0
    def __init__(self, center, radius):
        Boundary.__init__(self)

        if len(center) != 2:
            raise ValueError(
                "Center dimension does not match the space's dimension!")
        assert radius > 0

        self.center = array(center, dtype=np.double).flatten()
        self.radius = float(radius)
        self.dimension = 2

        self.polygon = None

        self._hash = self._hash = hash(tuple(self.center) + (self.radius, ))
Beispiel #5
0
    def __init__(self, year):
        boundary = Boundary(13.381014, 100.950397, 14.284958, 99.869143)
        interval = 60 * 1
        super(GreaterBangkokAccidentRetriever,
              self).__init__(boundary, interval)
        self.logger = setup_logging('GreaterBangkokAccidentRetriever')

        self.year = year
        self.logger.debug('using year=%s', year)
Beispiel #6
0
    def on_request(self, channel, method, props, body):
        def create_team(uuid, count, boundary):
            self.logger.debug('spawning team=%r, size=%s within_boundary=%r',
                              uuid, count, boundary.to_dict())
            for i in range(count):
                if uuid not in self.players.keys():
                    self.players[uuid] = []

                player = Player(uuid, i, boundary)
                player.start()
                self.players[uuid].append(player)

            return 'created'

        def terminate_team(uuid):
            self.logger.debug('terminating team=%r', uuid)
            players = self.players.get(uuid) or []

            def terminate(player):
                self.logger.debug('terminating process=%r', player.pid)
                player.terminate()
                self.logger.debug('waiting process=%r', player.pid)
                player.join()
                return player.is_alive()

            if all(map(lambda p: not terminate(p), players)):
                self.logger.debug('remove team=%r from players', uuid)
                self.players.pop(uuid, None)

            return 'completed'

        payload = json.loads(body)
        request_type = payload['type']

        if request_type == 'request':
            team_uuid = payload['team_uuid']
            player_count = payload['player_count']
            team_boundary = Boundary.from_dict(payload['team_boundary'])
            response = create_team(team_uuid, player_count, team_boundary)
        elif request_type == 'terminate':
            response = terminate_team(payload['team_uuid'])
        else:
            response = 'ok'

        channel.basic_publish(exchange='',
                              routing_key=props.reply_to,
                              properties=pika.BasicProperties(correlation_id=props.correlation_id),
                              body=str(response))

        channel.basic_ack(delivery_tag=method.delivery_tag)
Beispiel #7
0
    def __init__(self, polygon):
        Boundary.__init__(self)

        self.polygon = geom.Polygon(polygon)
        self.dimension = 2
        self._hash = hash(tuple(array(self.polygon.exterior.coords).flat))
 def __init__(self):
     boundary = Boundary(3.870733, 100.711638, 2.533530, 101.970674)
     interval = 60 * 10
     super(KlangValleyAccidentRetriever, self).__init__(boundary, interval)
     self.logger = setup_logging('KlangValleyAccidentRetriever')
 def __init__(self):
     binding_keys = ['thailand.greater_bangkok']
     super(NearestAssessorBangkokDeploymentMaster,
           self).__init__(binding_keys)
     self.logger = setup_logging('NearestAssessorBangkokDeploymentMaster')
     self.boundary = Boundary(13.381014, 100.950397, 14.284958, 99.869143)
 def __init__(self):
     boundary = Boundary(3.398051, 101.433717, 2.776582, 101.995776)
     interval = 5
     super(KlangValleyRandomAccidentRetriever, self).__init__(boundary, interval)
     self.logger = setup_logging('KlangValleyRandomAccidentRetriever')