1# http://pyrocko.org - GPLv3
2#
3# The Pyrocko Developers, 21st Century
4# ---|P------/S----------~Lg----------
7class EarthquakeCatalog(object):
9 def get_event(self, name):
10 raise Exception('This method should be implemented in derived class.')
12 def iter_event_names(self, time_range, **kwargs):
13 raise Exception('This method should be implemented in derived class.')
15 def get_event_names(self, time_range, **kwargs):
16 return list(self.iter_event_names(time_range, **kwargs))
18 def get_events(self, time_range, **kwargs):
19 return list(self.iter_events(time_range, **kwargs))
21 def iter_events(self, time_range, **kwargs):
22 for name in self.iter_event_names(time_range, **kwargs):
23 yield self.get_event(name)
26class NotFound(Exception):
27 def __init__(self, url=None):
28 Exception.__init__(self)
29 self._url = url
31 def __str__(self):
32 if self._url:
33 return 'No results for request %s' % self._url
34 else:
35 return 'No results for request'