srg/artsurvey/management/commands/00_artsurvey_find_orig.py
2024-04-26 12:43:00 +03:00

71 lines
2.0 KiB
Python

from django.core.management.base import BaseCommand, CommandError
from datetime import date
import datetime
from django.utils import timezone
import astropy
from astropy.io import ascii
import pandas as pd
import pymysql
from sqlalchemy import create_engine
from heasarc.models import HeasarcBase
from artsurvey.models import ArtSurveySource, ArtSurvey, EnergyBand
from srglib.utils import find_counterparts
from srgcat.models import SrgDataDump
def find_orig_survey(init_version,survey_name,dump_name,slug):
name=dump_name+'.'+slug
try:
survey = ArtSurvey.objects.get(version=init_version)
except ArtSurvey.DoesNotExist:
print("ArtSurvey not found")
#survey = ArtSurvey(version=init_version, name=survey_name)
#survey.save()
return
print("use ArtSurvey {}".format(survey))
try:
band = EnergyBand.objects.get(slug=slug)
print("use EnergyBand {}".format(band))
except EnergyBand.DoesNotExist:
print("EnergyBand not found")
return
""" copy catalog from this dump """
dump = SrgDataDump.objects.get(name=name)
srcs = dump.skymapsource_set.all()
for src in srcs:
#if not (src.artsurvey_source):
try:
source = ArtSurveySource.objects.all().filter(survey=survey).filter(band=band).filter(name=src.name)
except Exception as e:
print("{} {}".format(src,e))
continue
if (source.count() > 1):
for s in source:
print("{} --> {}".format(src,s))
continue
if(source.count() == 0):
print("{} --> not found".format(src))
continue
print("{} {} {}".format(slug,src.name,src.artsurvey_source))
# artsource = ArtSurveySource.objects.create_source(src,survey,band)
# artsource.save()
class Command(BaseCommand):
help = 'Initiates data dase'
def handle(self, *args, **options):
find_orig_survey(1234.0,'1-4','S1-4','E0')
self.stdout.write(self.style.SUCCESS('Done'))