__init__.py 1.51 KB
Newer Older
Wei Shoulin's avatar
Wei Shoulin committed
1
2
from .fits import FitsApi
from .reffits import RefFitsApi
Wei Shoulin's avatar
Wei Shoulin committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from .result0 import Result0Api
from .result1 import Result1Api

def ingest():
    import os
    root_dir = os.getenv("CSST_LOCAL_FILE_ROOT", "/opt/temp/csst")
    paths = {}
    fitsApi = FitsApi()
    refApi = RefFitsApi()

    for (path, _, file_names) in os.walk(root_dir):
        for filename in file_names:
            if filename.find(".fits") > 0:
                file_full_path = os.path.join(path, filename)
                
                file_type = 'None'
                if 'obs' in filename.lower():
                    file_type = 'obs'
                elif 'flat' in filename.lower():
                    file_type = 'flat'
                elif 'bias' in filename.lower():
                    file_type = 'bias'
                elif 'hgar' in filename.lower():
                    file_type = 'arc'
                elif 'sky' in filename.lower():
                    file_type = 'sky'

Wei Shoulin's avatar
Wei Shoulin committed
30
31
32
                file_path = file_full_path.replace(root_dir, '')
                if file_path.index("/") == 0:
                    file_path = file_path[1:]
Wei Shoulin's avatar
Wei Shoulin committed
33
                if file_type in ['obs']:
Wei Shoulin's avatar
Wei Shoulin committed
34
                    fitsApi.import2db(file_path = file_path)
Wei Shoulin's avatar
Wei Shoulin committed
35
                    print("%s [type:%s] imported" %(file_full_path, file_type))
Wei Shoulin's avatar
Wei Shoulin committed
36
37

                if file_type in ['flat', 'bias', 'arc','hgar', 'sky']:
Wei Shoulin's avatar
Wei Shoulin committed
38
                    refApi.import2db(file_path = file_path)     
Wei Shoulin's avatar
Wei Shoulin committed
39
                    print("%s [type:%s] imported" %(file_full_path, file_type))               
Wei Shoulin's avatar
Wei Shoulin committed
40
    return paths