more apps
This commit is contained in:
0
genericsource/__init__.py
Executable file
0
genericsource/__init__.py
Executable file
3
genericsource/admin.py
Executable file
3
genericsource/admin.py
Executable file
@@ -0,0 +1,3 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
5
genericsource/apps.py
Executable file
5
genericsource/apps.py
Executable file
@@ -0,0 +1,5 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class GenericsourceConfig(AppConfig):
|
||||
name = 'genericsource'
|
105
genericsource/migrations/0001_initial.py
Normal file
105
genericsource/migrations/0001_initial.py
Normal file
@@ -0,0 +1,105 @@
|
||||
# Generated by Django 2.2.6 on 2020-05-01 14:59
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('contenttypes', '0002_remove_content_type_name'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='GenericCatalog',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(blank=True, max_length=21)),
|
||||
('nsource', models.IntegerField(default=0)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('modified', models.DateTimeField(auto_now=True)),
|
||||
('start', models.DateTimeField(blank=True)),
|
||||
('stop', models.DateTimeField(blank=True)),
|
||||
('mjd_start', models.FloatField(default=0.0)),
|
||||
('mjd_stop', models.FloatField(default=0.0)),
|
||||
('tfield', models.FloatField(default=0.0)),
|
||||
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_genericsource.genericcatalog_set+', to='contenttypes.ContentType')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='GenericConnection',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('separation', models.FloatField(default=0.0)),
|
||||
('probability', models.FloatField(default=1.0)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='GenericSource',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('healpix', models.BigIntegerField(db_index=True, default=0)),
|
||||
('healpix_plate', models.IntegerField(db_index=True, default=0)),
|
||||
('ra', models.FloatField(default=0.0)),
|
||||
('dec', models.FloatField(default=0.0)),
|
||||
('lii', models.FloatField(default=0.0)),
|
||||
('bii', models.FloatField(default=0.0)),
|
||||
('error_radius', models.FloatField(default=0.0)),
|
||||
('sxflux', models.FloatField(default=0.0)),
|
||||
('mjdobs', models.FloatField(default=0.0)),
|
||||
('name', models.CharField(blank=True, default='', max_length=50)),
|
||||
('catalog', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='genericsource.GenericCatalog')),
|
||||
('connections', models.ManyToManyField(through='genericsource.GenericConnection', to='genericsource.GenericSource')),
|
||||
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_genericsource.genericsource_set+', to='contenttypes.ContentType')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'base_manager_name': 'objects',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SourceComment',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('text', models.TextField(max_length=1000)),
|
||||
('src', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='genericsource.GenericSource')),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='genericconnection',
|
||||
name='connected',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='connected', to='genericsource.GenericSource'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='genericconnection',
|
||||
name='connectto',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='connectto', to='genericsource.GenericSource'),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ConnectionComment',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('text', models.TextField(max_length=1000)),
|
||||
('connection', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='genericsource.GenericConnection')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CatalogComment',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('text', models.TextField(max_length=10000)),
|
||||
('catalog', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='genericsource.GenericCatalog')),
|
||||
],
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='genericconnection',
|
||||
unique_together={('connectto', 'connected')},
|
||||
),
|
||||
]
|
22
genericsource/migrations/0002_auto_20200601_2248.py
Normal file
22
genericsource/migrations/0002_auto_20200601_2248.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# Generated by Django 2.2.6 on 2020-06-01 19:48
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='genericsource',
|
||||
name='catalog',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='genericsource',
|
||||
name='catalog',
|
||||
field=models.ManyToManyField(to='genericsource.GenericCatalog'),
|
||||
),
|
||||
]
|
29
genericsource/migrations/0003_auto_20200626_1000.py
Normal file
29
genericsource/migrations/0003_auto_20200626_1000.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# Generated by Django 2.2.6 on 2020-06-26 07:00
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('genericsource', '0002_auto_20200601_2248'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='sourcecomment',
|
||||
name='author',
|
||||
field=models.ForeignKey(default=3, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='sourcecomment',
|
||||
name='created',
|
||||
field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
18
genericsource/migrations/0004_auto_20200626_1523.py
Normal file
18
genericsource/migrations/0004_auto_20200626_1523.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 2.2.6 on 2020-06-26 12:23
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0003_auto_20200626_1000'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='genericcatalog',
|
||||
name='name',
|
||||
field=models.CharField(blank=True, max_length=51),
|
||||
),
|
||||
]
|
18
genericsource/migrations/0005_genericsource_src_class.py
Normal file
18
genericsource/migrations/0005_genericsource_src_class.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.0.8 on 2020-08-27 13:27
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0004_auto_20200626_1523'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='genericsource',
|
||||
name='src_class',
|
||||
field=models.CharField(default='', max_length=21),
|
||||
),
|
||||
]
|
28
genericsource/migrations/0006_srcauxdata.py
Normal file
28
genericsource/migrations/0006_srcauxdata.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Generated by Django 3.0.8 on 2020-09-11 09:41
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0005_genericsource_src_class'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='SrcAuxDATA',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('spec', models.CharField(default='', max_length=101)),
|
||||
('arf', models.CharField(default='', max_length=101)),
|
||||
('rmf', models.CharField(default='', max_length=101)),
|
||||
('bkg', models.CharField(default='', max_length=101)),
|
||||
('img', models.CharField(default='', max_length=101)),
|
||||
('reg', models.CharField(default='', max_length=101)),
|
||||
('log', models.CharField(default='', max_length=101)),
|
||||
('src', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='genericsource.GenericSource')),
|
||||
],
|
||||
),
|
||||
]
|
18
genericsource/migrations/0007_srcauxdata_specimg.py
Normal file
18
genericsource/migrations/0007_srcauxdata_specimg.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.0.8 on 2020-09-11 17:00
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0006_srcauxdata'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='specimg',
|
||||
field=models.CharField(default='', max_length=101),
|
||||
),
|
||||
]
|
21
genericsource/migrations/0008_genericcatalogsgroup.py
Normal file
21
genericsource/migrations/0008_genericcatalogsgroup.py
Normal file
@@ -0,0 +1,21 @@
|
||||
# Generated by Django 3.0.8 on 2020-09-16 07:33
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0007_srcauxdata_specimg'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='GenericCatalogsGroup',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(blank=True, max_length=51)),
|
||||
('catalog', models.ManyToManyField(to='genericsource.GenericCatalog')),
|
||||
],
|
||||
),
|
||||
]
|
18
genericsource/migrations/0009_srcauxdata_xcm.py
Normal file
18
genericsource/migrations/0009_srcauxdata_xcm.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.0.8 on 2020-09-17 09:21
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0008_genericcatalogsgroup'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='xcm',
|
||||
field=models.CharField(default='', max_length=101),
|
||||
),
|
||||
]
|
17
genericsource/migrations/0010_auto_20201023_1729.py
Normal file
17
genericsource/migrations/0010_auto_20201023_1729.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# Generated by Django 3.0.8 on 2020-10-23 14:29
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0009_srcauxdata_xcm'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='sourcecomment',
|
||||
options={'ordering': ['created']},
|
||||
),
|
||||
]
|
28
genericsource/migrations/0011_auto_20201103_1325.py
Normal file
28
genericsource/migrations/0011_auto_20201103_1325.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Generated by Django 3.0.8 on 2020-11-03 10:25
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0010_auto_20201023_1729'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='gamma',
|
||||
field=models.FloatField(default=0.0),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='gammael',
|
||||
field=models.FloatField(default=0.0),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='gammaeu',
|
||||
field=models.FloatField(default=0.0),
|
||||
),
|
||||
]
|
23
genericsource/migrations/0012_auto_20201104_1915.py
Normal file
23
genericsource/migrations/0012_auto_20201104_1915.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.0.8 on 2020-11-04 16:15
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0011_auto_20201103_1325'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='nH',
|
||||
field=models.FloatField(default=0.0),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='norm',
|
||||
field=models.FloatField(default=0.0),
|
||||
),
|
||||
]
|
18
genericsource/migrations/0013_auto_20201106_1817.py
Normal file
18
genericsource/migrations/0013_auto_20201106_1817.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.0.8 on 2020-11-06 15:17
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0012_auto_20201104_1915'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='srcauxdata',
|
||||
old_name='nH',
|
||||
new_name='nh',
|
||||
),
|
||||
]
|
23
genericsource/migrations/0014_auto_20201112_1303.py
Normal file
23
genericsource/migrations/0014_auto_20201112_1303.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.0.8 on 2020-11-12 10:03
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0013_auto_20201106_1817'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='lcfits',
|
||||
field=models.CharField(default='', max_length=101),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='srcauxdata',
|
||||
name='lcpdf',
|
||||
field=models.CharField(default='', max_length=101),
|
||||
),
|
||||
]
|
27
genericsource/migrations/0015_gsbibliogrpahy.py
Normal file
27
genericsource/migrations/0015_gsbibliogrpahy.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# Generated by Django 3.0.8 on 2020-11-12 10:17
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('genericsource', '0014_auto_20201112_1303'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='GSBibliogrpahy',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(default='', max_length=1000)),
|
||||
('code', models.CharField(default='', max_length=100)),
|
||||
('addedat', models.DateTimeField(auto_now_add=True)),
|
||||
('addedby', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
('srcs', models.ManyToManyField(to='genericsource.GenericSource')),
|
||||
],
|
||||
),
|
||||
]
|
58
genericsource/migrations/0016_auto_20211229_1259.py
Normal file
58
genericsource/migrations/0016_auto_20211229_1259.py
Normal file
@@ -0,0 +1,58 @@
|
||||
# Generated by Django 3.2.10 on 2021-12-29 09:59
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('genericsource', '0015_gsbibliogrpahy'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='catalogcomment',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='connectioncomment',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='genericcatalog',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='genericcatalogsgroup',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='genericconnection',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='genericsource',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='gsbibliogrpahy',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sourcecomment',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='srcauxdata',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
]
|
0
genericsource/migrations/__init__.py
Executable file
0
genericsource/migrations/__init__.py
Executable file
127
genericsource/models.py
Executable file
127
genericsource/models.py
Executable file
@@ -0,0 +1,127 @@
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from astropy.coordinates import SkyCoord
|
||||
from polymorphic.models import PolymorphicModel
|
||||
import datetime
|
||||
|
||||
class GenericCatalog(PolymorphicModel):
|
||||
""" Base class for eRosita daily source list """
|
||||
name = models.CharField(max_length=51, blank=True)
|
||||
""" Unique ObsID """
|
||||
nsource = models.IntegerField(default=0)
|
||||
""" Number of sources in catalog """
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
""" Date and time of creation. Fully automatic. """
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
""" Date and time of the last modification. Fully automatic. """
|
||||
start = models.DateTimeField(blank=True)
|
||||
""" Start date and time """
|
||||
stop = models.DateTimeField(blank=True)
|
||||
""" Stop date and time """
|
||||
mjd_start = models.FloatField(default=0.0)
|
||||
""" MJD start """
|
||||
mjd_stop = models.FloatField(default=0.0)
|
||||
""" MJD stop """
|
||||
ordering = ['-mjd_start',]
|
||||
tfield = models.FloatField(default=0.0)
|
||||
|
||||
class GenericCatalogsGroup(models.Model):
|
||||
name = models.CharField(max_length=51, blank=True)
|
||||
catalog = models.ManyToManyField(GenericCatalog) #, on_delete=models.CASCADE)
|
||||
|
||||
|
||||
class GenericSource(PolymorphicModel):
|
||||
"""
|
||||
General class for a source, described with two sets of spherical coordinates (assumed fk5 and Gal)
|
||||
some overhead, appended here is softxflux - which is useless for sources, obtained not in X-ray flux
|
||||
but very helpfull for X-ray transient search
|
||||
"""
|
||||
catalog = models.ManyToManyField(GenericCatalog) #, on_delete=models.CASCADE)
|
||||
healpix = models.BigIntegerField(db_index=True, default=0)
|
||||
healpix_plate = models.IntegerField(db_index=True, default=0)
|
||||
src_class = models.CharField(max_length=21, default="")
|
||||
ra = models.FloatField(default=0.0)
|
||||
""" Right Ascension of the Source """
|
||||
dec = models.FloatField(default=0.0)
|
||||
""" Declination of the Source """
|
||||
lii = models.FloatField(default=0.0)
|
||||
""" Galactic Longitude """
|
||||
bii = models.FloatField(default=0.0)
|
||||
""" Galactic Latitude """
|
||||
error_radius = models.FloatField(default=0.0)
|
||||
""" Positional Uncertainty (arcsec) """
|
||||
sxflux = models.FloatField(default=0.0)
|
||||
""" x-ray flux in 0.5-2 keV (required for transients search)"""
|
||||
mjdobs = models.FloatField(default=0.0)
|
||||
""" observation date in mjd """
|
||||
connections = models.ManyToManyField("self", through="GenericConnection",
|
||||
symmetrical=False)
|
||||
|
||||
name = models.CharField(max_length=50,blank=True, default='')
|
||||
""" Source name """
|
||||
def description(self):
|
||||
return self.__class__.__name__
|
||||
|
||||
def get_absolute_url(self):
|
||||
return "/genericsource/%i/source" % (self.pk)
|
||||
|
||||
def add_neighbours(self, obj):
|
||||
sc = SkyCoord(self.ra, self.dec, unit="deg", frame="fk5")
|
||||
if issubclass(type(obj), GenericSource): obj = [obj,]
|
||||
for src in obj:
|
||||
scother = SkyCoord(src.ra, src.dec, unit="deg", frame="fk5")
|
||||
GenericConnection(connectto=self, connected=src,
|
||||
separation=sc.separation(scother).arcsec).save()
|
||||
GenericConnection(connectto=src, connected=self,
|
||||
separation=sc.separation(scother).arcsec).save()
|
||||
|
||||
class GenericConnection(models.Model):
|
||||
connectto = models.ForeignKey(GenericSource, on_delete=models.CASCADE, related_name="connectto")
|
||||
connected = models.ForeignKey(GenericSource, on_delete=models.CASCADE, related_name="connected")
|
||||
separation = models.FloatField(default=0.)
|
||||
probability = models.FloatField(default=1.)
|
||||
class Meta:
|
||||
unique_together = ('connectto', 'connected')
|
||||
|
||||
class SourceComment(models.Model):
|
||||
src = models.ForeignKey(GenericSource, on_delete=models.CASCADE)
|
||||
author = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
text = models.TextField(max_length=1000)
|
||||
class Meta:
|
||||
ordering = ["created", ]
|
||||
|
||||
class ConnectionComment(models.Model):
|
||||
connection = models.ForeignKey(GenericConnection, on_delete=models.CASCADE)
|
||||
text = models.TextField(max_length=1000)
|
||||
|
||||
class CatalogComment(models.Model):
|
||||
catalog = models.ForeignKey(GenericCatalog, on_delete=models.CASCADE)
|
||||
text = models.TextField(max_length=10000)
|
||||
|
||||
class SrcAuxDATA(models.Model):
|
||||
src = models.OneToOneField(GenericSource, on_delete=models.CASCADE)
|
||||
spec = models.CharField(max_length=101, default="")
|
||||
specimg = models.CharField(max_length=101, default="")
|
||||
arf = models.CharField(max_length=101, default="")
|
||||
rmf = models.CharField(max_length=101, default="")
|
||||
bkg = models.CharField(max_length=101, default="")
|
||||
img = models.CharField(max_length=101, default="")
|
||||
reg = models.CharField(max_length=101, default="")
|
||||
log = models.CharField(max_length=101, default="")
|
||||
xcm = models.CharField(max_length=101, default="")
|
||||
lcfits = models.CharField(max_length=101, default="")
|
||||
lcpdf = models.CharField(max_length=101, default="")
|
||||
gamma = models.FloatField(default=0.)
|
||||
gammaeu = models.FloatField(default=0.)
|
||||
gammael = models.FloatField(default=0.)
|
||||
nh = models.FloatField(default=0.)
|
||||
norm = models.FloatField(default=0.)
|
||||
|
||||
|
||||
class GSBibliogrpahy(models.Model):
|
||||
title = models.CharField(max_length=1000, default="")
|
||||
code = models.CharField(max_length=100, default="")
|
||||
addedby = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
addedat = models.DateTimeField(auto_now_add=True)
|
||||
srcs = models.ManyToManyField(GenericSource)
|
3
genericsource/tests.py
Executable file
3
genericsource/tests.py
Executable file
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
8
genericsource/urls.py
Normal file
8
genericsource/urls.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from django.urls import path
|
||||
from . import views
|
||||
|
||||
app_name = "genericsource"
|
||||
|
||||
urlpatterns = [path('<int:source_id>/source', views.show_source, name='show source'),
|
||||
path('add_comment', views.add_comment, name='gs add comment')
|
||||
]
|
34
genericsource/views.py
Executable file
34
genericsource/views.py
Executable file
@@ -0,0 +1,34 @@
|
||||
from django.shortcuts import render
|
||||
from srglib.utils import srg_group_auth, srg_group_auth_stats, status_code
|
||||
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden
|
||||
from genericsource.models import GenericSource, SourceComment
|
||||
|
||||
def add_comment(request):
|
||||
if request.method == 'POST':
|
||||
text = request.POST['text']
|
||||
if "cid" in request.POST:
|
||||
s = SourceComment.objects.get(id=request.POST["cid"])
|
||||
if text == "":
|
||||
s.delete()
|
||||
else:
|
||||
s.text = text
|
||||
s.save()
|
||||
else:
|
||||
SourceComment.objects.create(author=request.user, text=text, src=GenericSource.objects.get(id=request.POST["srcid"]))
|
||||
return HttpResponse("comment added")
|
||||
|
||||
|
||||
def show_source(request, source_id):
|
||||
status=srg_group_auth_stats(request, "srg-erosita-transients")
|
||||
if status != 0:
|
||||
return HttpResponse(status_code[status])
|
||||
|
||||
try:
|
||||
src=GenericSource.objects.get(id=source_id)
|
||||
except:
|
||||
return HttpResponse("This genericsource was not found %s " % source_id)
|
||||
|
||||
cat = src.catalog.order_by("created").first()
|
||||
res = {'src':src, "cat":cat}
|
||||
return render(request,'erositadailycatalogues/viewsource.html', res)
|
||||
|
Reference in New Issue
Block a user