# -*- coding: utf-8 -*- # Generated by Django 1.11 on 2019-08-13 10:23 from __future__ import unicode_literals import datetime import django.contrib.postgres.fields.jsonb import django.contrib.sites.models from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ('commorganization', '0001_initial'), ] operations = [ migrations.CreateModel( name='Crawl', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200, unique=True, verbose_name='Name')), ('time_out', models.PositiveIntegerField(default=10, help_text='0 for no delay', verbose_name='Maximum delay for crawling a target (minutes)')), ('created', models.DateTimeField(default=datetime.datetime.now, verbose_name='Creation')), ('started', models.DateTimeField(blank=True, null=True, verbose_name='Started')), ('pre_crawl_ended', models.DateTimeField(blank=True, null=True, verbose_name='Pre-crawl end')), ('crawl_ended', models.DateTimeField(blank=True, null=True, verbose_name='Crawl end')), ('ended', models.DateTimeField(blank=True, null=True, verbose_name='Ended')), ('status', models.CharField(choices=[('C', 'Created'), ('A', 'Planned'), ('W', 'Pre-crawl in progress'), ('P', 'Crawl in progress'), ('M', 'Match link in progress'), ('F', 'Finished')], default='C', max_length=1, verbose_name='Status')), ('progression', models.IntegerField(blank=True, null=True, verbose_name='Progression')), ('targets', models.ManyToManyField(blank=True, to='commorganization.Target')), ], options={ 'verbose_name_plural': 'Crawls', 'verbose_name': 'Crawl', 'ordering': ('created', 'name'), }, ), migrations.CreateModel( name='CrawlRelation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('number', models.IntegerField(default=1, verbose_name='Number')), ('crawl', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='commcrawler.Crawl', verbose_name='Crawl')), ('destination', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relation_destination', to='commorganization.Target', verbose_name='Destination')), ('source', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relation_source', to='commorganization.Target', verbose_name='Source')), ], options={ 'verbose_name_plural': 'Crawl relations', 'verbose_name': 'Crawl relation', }, ), migrations.CreateModel( name='CrawlResult', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('started', models.DateTimeField(default=datetime.datetime.now, verbose_name='Start date')), ('duration', models.DurationField(blank=True, null=True, verbose_name='Duration')), ('status', models.CharField(choices=[('P', 'In progress'), ('T', 'Time out'), ('F', 'Finished')], default='P', max_length=1, verbose_name='Status')), ('crawl_result', django.contrib.postgres.fields.jsonb.JSONField(default=list, verbose_name='Crawl result')), ('nb_external_link', models.IntegerField(default=0, verbose_name='External links')), ('nb_internal_link', models.IntegerField(default=0, verbose_name='Internal links')), ('nb_images', models.IntegerField(default=0, verbose_name='Images')), ('nb_facebook', models.IntegerField(default=0, verbose_name='Facebook links')), ('nb_twitter', models.IntegerField(default=0, verbose_name='Twitter links')), ('nb_instagram', models.IntegerField(default=0, verbose_name='Instagram links')), ('nb_youtube', models.IntegerField(default=0, verbose_name='Youtube links')), ('nb_dailymotion', models.IntegerField(default=0, verbose_name='Dailymotion links')), ('nb_vimeo', models.IntegerField(default=0, verbose_name='Vimeo links')), ('nb_video', models.IntegerField(default=0, verbose_name='Internal videos')), ('nb_audio', models.IntegerField(default=0, verbose_name='Internal audios')), ('nb_internal_pdf', models.IntegerField(default=0, verbose_name='Internal PDF')), ('nb_external_pdf', models.IntegerField(default=0, verbose_name='External PDF')), ('nb_internal_office', models.IntegerField(default=0, verbose_name='Internal office documents')), ('nb_external_office', models.IntegerField(default=0, verbose_name='External office documents')), ('is_online', models.BooleanField(default=False, verbose_name='Website is online')), ('bad_ssl', models.BooleanField(default=False, verbose_name='Bad SSL certificate')), ('redirection', models.URLField(blank=True, null=True, verbose_name='Redirection')), ('crawl', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='commcrawler.Crawl', verbose_name='Crawl')), ('target', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='commorganization.Target', verbose_name='Target')), ], options={ 'verbose_name_plural': 'Crawl results', 'verbose_name': 'Crawl result', }, ), migrations.CreateModel( name='ExludedDomains', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('domain', models.CharField(max_length=100, unique=True, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='Domain name')), ], options={ 'verbose_name_plural': 'Excluded domains', 'verbose_name': 'Excluded domain', }, ), migrations.AlterUniqueTogether( name='crawlresult', unique_together=set([('crawl', 'target')]), ), migrations.AlterUniqueTogether( name='crawlrelation', unique_together=set([('crawl', 'source', 'destination')]), ), ]