71 lines
2.0 KiB
Python
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'))
|