Changeset 800 for SHX/trunk


Ignore:
Timestamp:
10/25/12 22:16:15 (8 years ago)
Author:
marcus
Message:
  • import into DB successful
Location:
SHX/trunk/SeismicHandler
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/modules/stations.py

    r799 r800  
    6767 
    6868    def __init__(self, network, station, location, stream, component, \ 
    69                        latitude, longitude, elevation, gain, poles, zeros, \ 
    70                        start, end=None, description="", depth="0.", \ 
     69                       latitude, longitude, gain, poles, zeros, start, \ 
     70                       elevation="0.", end=None, description=u"", depth="0.", \ 
    7171                       arraycode='', offsetx='', offsety=''): 
    7272 
     
    9090        self.ondatems = start.microsecond 
    9191 
    92         if end == FUTURE_DATE: 
     92        if end is not None and end == FUTURE_DATE: 
    9393            end = None 
    9494        if end: 
     
    325325 
    326326            session.delete(update) 
    327         except: 
    328             pass 
     327        except KeyError as E: 
     328            if E.message.startswith("ond"): 
     329                print E 
     330                import pdb; pdb.set_trace() 
     331        except Exception as E: 
     332            print "xx", E 
     333            import pdb; pdb.set_trace() 
    329334 
    330335        session.add(station) 
     
    334339        except Exception as e: 
    335340            print e 
     341            import pdb; pdb.set_trace() 
    336342            session.rollback() 
    337343 
  • SHX/trunk/SeismicHandler/tools/import_inventory.py

    r799 r800  
    3838                lowest = _i 
    3939 
    40             if _i[0] <= date and _i[1] >= date: 
     40            if _i[0] <= date and _i[1] > date: 
    4141                return self.timespans[_i] 
    4242 
     
    5353        return len(self.timespans) 
    5454 
    55     def __add__(self, other): 
     55    def intersect(self, other): 
    5656        """ 
    57         Intersect time spans. Returns only list of timespans NOT Timespans 
    58         instance!! 
     57        Intersect time spans. Returns list of timespans. 
    5958        """ 
    6059        chunks = [] 
    61         all = self.timespans.keys() + other.timespans.keys() 
     60        _all = self.timespans.keys() + other.timespans.keys() 
     61        for _i in _all: 
     62            chunks.extend(_i) 
    6263        # make unique 
    6364        loop = [] 
    64         while len(all): 
    65             t = all.pop() 
    66             if t not in all: 
     65        while len(chunks): 
     66            t = chunks.pop() 
     67            if t not in chunks: 
    6768                loop.append(t) 
    68  
    6969        if len(loop) == 1: 
    7070            return loop 
    71  
    7271        loop.sort() 
    73         for _i, t in enumerate(loop): 
    74             for n in loop[_i+1:]: 
    75                 if n == t: 
    76                     chunks.append(n) 
    77                     continue 
    78                 if t[0] == n[0]: 
    79                     chunks.append([t[0], min(t[1], n[1])]) 
    80                     break 
    81                 if t[1] >= n[0]: 
    82                     chunks.append([t[0], n[0]]) 
    83                     break 
    84         # last one is always appended 
    85         if list(t) not in chunks: 
    86             chunks.append(t) 
    87  
     72        chunks = [] 
     73        for _i in range(len(loop) - 1): 
     74            chunks.append([loop[_i], loop[_i+1]]) 
    8875        return chunks 
    8976 
     
    238225            stop = FUTURE_DATE 
    239226        else: 
    240             start = toUTCDateTime(stop) 
     227            stop = toUTCDateTime(stop) 
    241228 
    242229        # assign to stream 
     
    289276    for s in stainf: 
    290277        # filters seems not to contain wildcards, so they reflect full streams, 
    291         # e.g. GRA1-BH-E - if not: your're messed up ^o^ 
     278        # e.g. GRA1-BH-E - if not: you're messed up ^o^ 
    292279        filters = {} 
    293280        for strm in filt: 
     
    320307 
    321308            # use fnmatch to respect wildcards 
     309            gts = Timespans() 
    322310            for g in sensitivities: 
    323311                if not fnmatch.fnmatch(strm, g): 
    324312                    continue 
    325313 
    326                 gts = Timespans() 
    327314                for _i in sensitivities[g]: 
    328315                    gts.add(*_i) 
     
    330317 
    331318            # loop through time spans 
    332             if s['station'].startswith("CLZ"): 
    333                 import pdb; pdb.set_trace() 
    334  
    335             timespans = fts + gts 
     319            timespans = fts.intersect(gts) 
    336320            for t in timespans: 
    337321                try: 
    338322                    gain = gts.get_value(t[0]) 
    339                 except IndexError: 
    340                     print "no gain defined for %s in %s" % (strm, t) 
    341                     import pdb; pdb.set_trace() 
     323                except (IndexError, KeyError): 
     324                    print "no gain defined for %s in range %s" % (strm, t) 
    342325                    continue 
    343326 
Note: See TracChangeset for help on using the changeset viewer.