def test_readHeader(self): """ Reads and compares header info from the first record. The values can be read from the filename. """ gse2file = os.path.join(self.path, 'twiceCHK2.gse2') header = libgse2.readHeader(open(gse2file, 'rb')) self.assertEqual('RNHA', header['station']) self.assertEqual('EHN', header['channel']) self.assertEqual(200, header['sampling_rate']) self.assertEqual(750, header['npts']) self.assertEqual('M24', header['gse2']['instype']) self.assertEqual(UTCDateTime(2009, 5, 18, 6, 47, 20, 255000), header['starttime'])
def readGSE2(filename, headonly=False, verify_chksum=True, **kwargs): # @UnusedVariable """ Reads a GSE2 file and returns a Stream object. GSE2 files containing multiple WID2 entries/traces are supported. .. warning:: This function should NOT be called directly, it registers via the ObsPy :func:`~obspy.core.stream.read` function, call this instead. :type filename: string :param filename: GSE2 file to be read. :type headonly: boolean, optional :param headonly: If True read only head of GSE2 file. :type verify_chksum: boolean, optional :param verify_chksum: If True verify Checksum and raise Exception if it is not correct. :rtype: :class:`~obspy.core.stream.Stream` :returns: Stream object containing header and data. .. rubric:: Example >>> from obspy import read >>> st = read("/path/to/loc_RJOB20050831023349.z") """ traces = [] with open(filename, 'rb') as f: # reading multiple gse2 parts while True: try: if headonly: header = libgse2.readHeader(f) traces.append(Trace(header=header)) else: header, data = libgse2.read(f, verify_chksum=verify_chksum) traces.append(Trace(header=header, data=data)) except EOFError: break return Stream(traces=traces)