Exemple #1
0
    def line_status(self, start_time, end_time, network, station, channel,
                    location, restricted, net_class, shared, constraints,
                    volume, status, size, message):
        if network is None or network == "":
            network = "."
        if station is None or station == "":
            station = "."
        if channel is None or channel == "":
            channel = "."
        if location is None or location == "":
            location = "."
        if volume is None:
            volume = "NODATA"
        if size is None:
            size = 0
        if message is None:
            message = ""

        if isinstance(constraints, list):
            constr = " ".join(constraints)
        else:
            constr = " ".join(
                [a + "=" + b for (a, b) in constraints.iteritems()])

        arclinkRequestLine = DataModel.ArclinkRequestLine()
        arclinkRequestLine.setStart(start_time)
        arclinkRequestLine.setEnd(end_time)
        arclinkRequestLine.setStreamID(
            DataModel.WaveformStreamID(network[:8], station[:8], location[:8],
                                       channel[:8], ""))
        arclinkRequestLine.setConstraints(constr)
        if isinstance(restricted, bool):
            arclinkRequestLine.setRestricted(restricted)
        arclinkRequestLine.setNetClass(net_class)
        if isinstance(shared, bool):
            arclinkRequestLine.setShared(shared)
        #
        arclinkStatusLine = DataModel.ArclinkStatusLine()
        arclinkStatusLine.setVolumeID(volume)
        arclinkStatusLine.setStatus(status)
        arclinkStatusLine.setSize(size)
        arclinkStatusLine.setMessage(message)
        #
        arclinkRequestLine.setStatus(arclinkStatusLine)
        self.requestLines.append(arclinkRequestLine)

        self.averageTimeWindow += end_time - start_time
        self.totalLineCount += 1
        if status == "OK":
            self.okLineCount += 1
Exemple #2
0
			volume = "NODATA"
		if size is None:
			size = 0
		if message is None:
			message = ""

		startTime = Core.Time.FromString(str(start_time), "%Y-%m-%d %H:%M:%S")
		endTime = Core.Time.FromString(str(end_time), "%Y-%m-%d %H:%M:%S")
		
		if startTime <= endTime: validTime = True
		else: validTime = False

		if isinstance(constraints, list):
			constraints = " ".join(constraints)

		arclinkRequestLine = DataModel.ArclinkRequestLine()
		arclinkRequestLine.setStart(startTime)
		arclinkRequestLine.setEnd(endTime)
		arclinkRequestLine.setStreamID(DataModel.WaveformStreamID(network, station, location, channel, ""))
		arclinkRequestLine.setConstraints(constraints)
		#
		arclinkStatusLine = DataModel.ArclinkStatusLine()
		arclinkStatusLine.setVolumeID(volume)
		arclinkStatusLine.setStatus(status)
		arclinkStatusLine.setSize(int(size))
		arclinkStatusLine.setMessage(message)
		#
		arclinkRequestLine.setStatus(arclinkStatusLine)
		self.arclinkRequest.add(arclinkRequestLine)

		if validTime: self.averageTimeWindow += endTime - startTime