catalog.py 1.67 KB
Newer Older
Shoulin Wei's avatar
gaia3  
Shoulin Wei committed
1
from .delegate import Delegate
Wei Shoulin's avatar
ephem    
Wei Shoulin committed
2
from csst_dfs_commons.models import Result
Shoulin Wei's avatar
gaia3  
Shoulin Wei committed
3
4
5
6
7
8
class CatalogApi(object):
    def __init__(self):
        self.module = Delegate().load(sub_module = "common")
        self.stub = getattr(self.module, "CatalogApi")()
    
    def catalog_query(self, ra: float, dec: float, radius: float, catalog_name: str, min_mag: float,  max_mag: float,  obstime: int, limit: int):
Wei Shoulin's avatar
docs    
Wei Shoulin committed
9
10
11
12
13
14
15
16
17
18
19
20
        ''' retrieval catalog

        :param ra: in deg
        :param dec:  in deg
        :param radius:  in deg
        :param catalog_name: one of ['gaia3','','']
        :param min_mag: minimal magnitude
        :param max_mag: maximal magnitude
        :param obstime: seconds  
        :param limit: limits returns the number of records

        :returns: csst_dfs_common.models.Result
Shoulin Wei's avatar
gaia3  
Shoulin Wei committed
21
22
23
24
25
        '''

        if catalog_name == "gaia3":
            return self.gaia3_query(ra, dec, radius, min_mag, max_mag, obstime, limit)
        else:
Wei Shoulin's avatar
ephem    
Wei Shoulin committed
26
            return Result.error(message="%s catalog search not yet implemented" %(catalog_name, ))
Shoulin Wei's avatar
gaia3  
Shoulin Wei committed
27
28

    def gaia3_query(self, ra: float, dec: float, radius: float, min_mag: float,  max_mag: float,  obstime: int, limit: int):
Wei Shoulin's avatar
docs    
Wei Shoulin committed
29
30
31
32
33
34
35
36
37
38
39
40
        """retrieval GAIA EDR 3
        
        :param ra: in deg
        :param dec:  in deg
        :param radius:  in deg
        :param min_mag: minimal magnitude
        :param max_mag: maximal magnitude
        :param obstime: seconds  
        :param limit: limits returns the number of records

        :returns: csst_dfs_common.models.Result
        """ 
Wei Shoulin's avatar
ephem    
Wei Shoulin committed
41
42
43
44
        try:
            return self.stub.gaia3_query(ra, dec, radius, min_mag, max_mag, obstime, limit)
        except Exception as e:
            return Result.error(message=repr(e))