Changeset 927


Ignore:
Timestamp:
04/03/13 18:17:08 (6 years ago)
Author:
marcus
Message:
  • reading from cache
Location:
SHX/trunk/SeismicHandler
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/commands/fetch.py

    r926 r927  
    1212from SeismicHandler.basics.error import ShxError 
    1313from SeismicHandler.config import Settings 
     14from obspy.core import Stream, read 
    1415from obspy.sh.core import toUTCDateTime 
    1516from obspy.arclink.client import Client 
     
    5354 
    5455    def run(self): 
    55         host, port = Settings.config.arclink['host'][0].split(':') 
    56         if self.qualifiers["HOST"]: 
    57             host, port = self.qualifiers["HOST"].split(':') 
    58         try: 
    59             login = Settings.config.arclink['login'][0] 
    60         except: 
    61             login = '' 
    62         user = Settings.config.arclink['user'][0] 
    63         if self.qualifiers["USER"]: 
    64             user = self.qualifiers["USER"] 
    65         if self.qualifiers["PASSWORD"]: 
    66             user = self.qualifiers["PASSWORD"] 
    67  
    68         client = Client( 
    69             user=user, 
    70             host=host, 
    71             port=port, 
    72             password=login, 
    73             debug=True 
    74         ) 
    75  
    7656        param = self.parameters[0].split('.') 
    7757        if len(param) != 4: 
     
    9373            param2 = dict(zip(k, param[:5])) 
    9474            param2["sds"] = Settings.config.paths.cache[0] 
    95             st = miniseed(**param2) 
     75            flist = miniseed(**param2) 
     76            st = Stream() 
     77            for f in flist: 
     78                try: 
     79                    t = read(f, format="MSEED") 
     80                    log_message("info.fetch", "Reading from cache: %s" % f) 
     81                except: 
     82                    log_message("warning.fetch", "Cannot read file: %s" % f) 
     83                    continue 
     84                st += t 
     85            start = toUTCDateTime(self.parameters[1]) 
     86            st.merge(method=1, fill_value='latest') 
     87            st.trim(start, start + float(self.parameters[2])) 
     88        else: 
     89            st = self.arclink(param) 
     90        
     91        if self.qualifiers["STOREMETA"]: 
     92            pass 
     93 
     94        add_traces(st, True) 
     95 
     96    def arclink(self, parameters): 
     97        """Documentation""" 
     98        host, port = Settings.config.arclink['host'][0].split(':') 
     99        if self.qualifiers["HOST"]: 
     100            host, port = self.qualifiers["HOST"].split(':') 
     101        try: 
     102            login = Settings.config.arclink['login'][0] 
     103        except: 
     104            login = '' 
     105 
     106        if self.qualifiers["USER"]: 
     107            user = self.qualifiers["USER"] 
     108        else: 
     109            user = Settings.config.arclink['user'][0] 
     110            if not user: 
     111                import getpass 
     112                import platform 
     113                user = "%s@%s.SHX.auto.local" % ( 
     114                                            getpass.getuser(), platform.node()) 
     115                msg = "No user id for remote access provided, please edit " 
     116                msg += "configuration! Using '%s' meantime..." 
     117                log_message("warning.fetch", msg % user) 
     118 
     119        if self.qualifiers["PASSWORD"]: 
     120            user = self.qualifiers["PASSWORD"] 
     121 
     122        client = Client( 
     123            user=user, 
     124            host=host, 
     125            port=port, 
     126            password=login, 
     127            debug=True 
     128        ) 
    96129 
    97130        # format, compression, metadata, routing 
    98         param.extend(['MSEED', True, True, False]) 
     131        parameters.extend(['MSEED', True, True, False]) 
    99132        try: 
    100             st = client.getWaveform(*param) 
     133            st = client.getWaveform(*parameters) 
    101134            msg = "%u streams fetched via webdc." % len(st) 
    102135            log_message("info.fetch", msg) 
     
    135168                    os.makedirs(folder) 
    136169 
    137                 t.write(os.path.join(folder, fname2), format="MSEED", 
    138                                                             encoding="FLOAT32") 
    139          
    140         if self.qualifiers["STOREMETA"]: 
    141             pass 
     170                fname = os.path.join(folder, fname2) 
     171                t.write(fname, format="MSEED", encoding="FLOAT32") 
     172                msg = "Trace of %s data saved in %s" 
     173                log_message("info.fetch", msg % (t.id, fname)) 
    142174 
    143         add_traces(st, True) 
     175        return st 
    144176 
    145177 
  • SHX/trunk/SeismicHandler/commands/reads.py

    r889 r927  
    8686    @staticmethod 
    8787    def load(stations, channel, component, start, length, path="db:", 
    88                                                         sfdfile="sfdfile.sfd"): 
     88                                   sfdfile="sfdfile.sfd", return_stream=False): 
    8989        """ 
    9090        Does the real work. 
     
    158158        log_message("debug.command.reads", "%u new traces" % len(final)) 
    159159 
    160         add_traces(final, True) 
     160        if return_stream: 
     161            return final 
     162        else: 
     163            add_traces(final, True) 
    161164 
    162165 
  • SHX/trunk/SeismicHandler/modules/miniseed.py

    r926 r927  
    66 
    77import os 
     8import glob 
    89import MySQLdb 
    910from SeismicHandler.basics.error import ShxError 
     
    244245 
    245246    def __init__(self, *args, **kwargs): 
    246         print "sds", kwargs["sds"] 
    247247        request = AttribDict(kwargs) 
    248         flist = [] 
    249248 
    250249        # this doesn't support wildcards! 
     
    257256        ) 
    258257 
    259         print folder 
    260  
    261258        fname = "%s.%s.%s.%s.D.%u.%03u" % ( 
    262259            request.network, 
     
    267264            request.start.julday 
    268265        ) 
    269         print fname 
    270         import pdb; pdb.set_trace() 
    271  
     266 
     267        flist = glob.glob(os.path.join(folder, "%s*" % fname)) 
     268        self._filelist = flist 
     269        self._stations = resolveStations(request.station) 
    272270 
    273271 
  • SHX/trunk/SeismicHandler/shx.conf

    r926 r927  
    8686 
    8787[arclink] 
    88 user = "SHX walther@szgrf.bgr.de" 
     88user = 
    8989host = webdc.eu:18002 
    9090#login = password 
Note: See TracChangeset for help on using the changeset viewer.