Esempio n. 1
0
class Project(models.Model):
    project_id = models.CharField(primary_key=True,
                                  max_length=200,
                                  default=random_id)
    project_name = models.CharField(max_length=200, null=True, blank=True)
    type = models.CharField(max_length=100,
                            choices=(
                                ('well', 'Well'),
                                ('field', 'Field'),
                                ('project', 'Project'),
                                ('company-country',
                                 'Company (all operations in one country)'),
                            ))

    country = CountryField(blank=True, null=True)
    source = models.ForeignKey('SourceInfo', null=True, blank=True)
    parent = models.ForeignKey('Project',
                               null=True,
                               blank=True,
                               related_name="subprojects")

    class Meta:
        db_table = 'project_table'

    def __str__(self):
        return self.project_name or '<untitled>'
Esempio n. 2
0
class Reserve(models.Model):

    project = models.ForeignKey(Project, blank=True, null=True)
    company = models.ForeignKey(Company, blank=True, null=True)
    interest = models.FloatField(default=100, verbose_name = "Interest of the company in this project (%)")
    date = ApproximateDateField(blank=True,null=True,
                               help_text = "year statement applies to, if specified, otherwise publication year of the source document")
    commodity = models.CharField(max_length=100, choices = COMMODITIES)
    confidence = models.CharField(
        max_length=20,
        choices = CONFIDENCE_MEASURES,
        default='Unknown',
        )
    status = models.CharField(
        max_length=20,
        choices = FIELD_STATUSES,
        default = 'unspecified')
    level = models.FloatField()
    unit = models.CharField(
        max_length=20,
        choices = UNITS,
        default = 'mbbls')
        
    source_document = models.ForeignKey(Document, blank=True, null=True)


    def __str__(self):
        if self.project and self.project.project_name:
            return '%s: %s estimate' % (self.project.project_name, self.date)
        else:
            return 'unnamed'
Esempio n. 3
0
class AuthorField(models.CompositeField):
    name = models.CharField(max_length=75)
    sex = models.CharField(max_length=6, choices=(
        ('male', 'Male'),
        ('female', 'Female'),
    ))
    birthdate = models.DateField()
Esempio n. 4
0
class Trainer(models.Model):
    first_name = models.CharField(max_length=25)
    surname = models.CharField(max_length=30)
    address = models.CharField(max_length=200)
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
    citizenship = models.CharField(max_length=30)
    email = models.EmailField(max_length=30)
Esempio n. 5
0
class Production(models.Model):

    def __str__(self):
        if all((self.project, self.company, self.date)):
            return '%s in %s (%s)' % (self.project, self.date, self.company)
        else:
            return 'Production'
    
    project = models.ForeignKey(Project, blank=True, null=True)
    company = models.ForeignKey(Company, blank=True, null=True)
    date = ApproximateDateField(blank=True,null=True)
    commodity = models.CharField(max_length=100,
                                 choices=COMMODITIES)
    actual_predicted = models.CharField(max_length=10,
                                        choices=(
                                            ('actual', 'Actual'),
                                            ('predicted', 'Predicted'),))
    confidence = models.CharField(max_length=20,
                                  choices=CONFIDENCE_MEASURES,
                                  null=True,
                                  blank=True)
    level = models.FloatField()
    unit = models.CharField(
        max_length=20,
        choices = UNITS,
        default = 'mbbls')
    per = models.CharField(
        max_length=20,
        choices=TIME_PERIODS,
        default='year')

    source = models.ForeignKey(Document, blank=True, null=True)
Esempio n. 6
0
class Statement(models.Model):
    statement_id = models.CharField(primary_key=True,
                                    max_length=200,
                                    default=random_id)
    doc = models.ForeignKey(Document, blank=True, null=True, default=None)
    statement_content = models.CharField(max_length=200)
    definitive = models.BooleanField(default=False)

    projects = models.ManyToManyField('Project',
                                      db_table='project_link_table',
                                      blank=True)
    companies = models.ManyToManyField('Company',
                                       db_table='company_link_table',
                                       blank=True)
    concessions = models.ManyToManyField('Concession',
                                         db_table='concession_link_table',
                                         blank=True)
    contracts = models.ManyToManyField('Contract',
                                       db_table='contract_link_table',
                                       blank=True)

    source = models.ForeignKey('SourceInfo', null=True, blank=True)

    class Meta:
        db_table = 'statement_table'

    def __str__(self):
        return self.statement_content or '<untitled>'
Esempio n. 7
0
class Alias(models.Model):
    hero = models.ForeignKey('Hero')
    first_name = models.CharField(max_length=25)
    surname = models.CharField(max_length=30)
    former_codenames = models.TextField
    occupation = models.CharField(max_length=30)
    address = models.CharField(max_length=100)
    citizenship = models.CharField(max_length=30)
Esempio n. 8
0
class Mission(models.Model):
    customer = models.ForeignKey('Customer')
    description = models.TextField
    location = models.CharField(max_length=50)
    difficulty = models.CharField(max_length=20)

    def __str__(self):
        return self.description, self.location, self.difficulty
Esempio n. 9
0
class HeroStats(models.Model):
    hero = models.ForeignKey('Hero')
    height = models.CharField(max_length=10)
    weight = models.CharField(max_length=10)
    powers = models.TextField
    intelligence = models.CharField(max_length=5, choices=STATS_CHOICES)
    stamina = models.CharField(max_length=5, choices=STATS_CHOICES)
    strength = models.CharField(max_length=5, choices=STATS_CHOICES)
Esempio n. 10
0
class Class_Training(models.Model):
    trainer = models.ForeignKey('Trainer')
    class_name = models.CharField(max_length=30)
    type_of_class = models.CharField(max_length=2,
                                     choices=TRAINING_TYPE_CHOICES)
    description = models.TextField(max_length=200)

    def __str__(self):
        return self.class_name, self.trainer
Esempio n. 11
0
class Interview(models.Model):
    subject = models.CharField(max_length=50)
    role = models.CharField(max_length=50)
    movie = models.ForeignKey(Movie)
    on_dvd = models.BooleanField(default=True)
    on_blu_ray = models.BooleanField(default=True)

    class Meta:
        repr_fields_exclude = ('on_dvd', 'on_blu_ray')
Esempio n. 12
0
class Author(models.Model):
    name = models.CharField(max_length=100)
    sex = models.CharField(max_length=6,
                           choices=(
                               ('male', 'Male'),
                               ('female', 'Female'),
                           ))
    birthday = models.DateField()
    books = models.ArrayField(of=fields.BookField)
Esempio n. 13
0
class ConcessionAlias(models.Model):
    concession_alias = models.CharField(primary_key=True, max_length=200)
    concession_id = models.CharField(max_length=200)

    class Meta:
        db_table = 'concession_alias_table'

    def __str__(self):
        return self.concession_alias or '<untitled>'
Esempio n. 14
0
class Concession(models.Model):
    concession_id = models.CharField(primary_key=True, max_length=200)
    concession_name = models.CharField(max_length=200)
    unep_geo_id = models.CharField(max_length=200, blank=True)
    country = models.CharField(max_length=200)
    source = models.ForeignKey('SourceInfo', null=True, blank=True)

    class Meta:
        db_table = 'concession_table'

    def __str__(self):
        return self.concession_name or '<untitled>'
Esempio n. 15
0
class SourceInfo(models.Model):
    '''
    Contains source information
    '''
    id = models.AutoField(primary_key=True)
    contributor = models.CharField(max_length=200)
    license = models.CharField(max_length=200)
    date = models.DateTimeField(default=datetime.now)
    info = models.JSONField(type=dict, default={})

    def __str__(self):
        return '%s under %s license' % (self.contributor, self.license)
Esempio n. 16
0
class InformationType(models.Model):
    DataSource = models.ForeignKey('DataSource', related_name='information_types')
    name = models.CharField(max_length=200, blank=True,null=True)
    description = models.TextField(blank=True,null=True)
    filing_type = models.CharField(max_length=200, blank=True,null=True)
    content = models.TextField(blank=True,null=True)
    patterns = models.TextField(blank=True,null=True)
    examples = models.TextField(blank=True,null=True)
    negative_examples = models.TextField(blank=True,null=True)
    regulations = models.TextField(blank=True,null=True)

    def __str__(self):
        return self.name
Esempio n. 17
0
class DataSource(models.Model):
    name = models.CharField(max_length=200)
    description = models.TextField(blank=True,null=True)
    url_homepage = models.URLField(blank=True,null=True)
    url_example = models.URLField(blank=True,null=True)
    location = models.CharField(max_length=200,blank=True,null=True)
    start_date = models.DateField(blank=True,null=True)
    end_date = models.DateField(blank=True,null=True)
    #daterange = DateRangeField(blank=True, null=True)
    contents = models.TextField(blank=True, null=True)

    def __str__(self):
        return self.name
Esempio n. 18
0
class Document(models.Model):
    doc_id = models.CharField(primary_key=True,
                              max_length=200,
                              default=random_id)
    host_url = models.CharField(max_length=200, default='')
    source_url = models.CharField(max_length=200, default='')
    source = models.ForeignKey('SourceInfo', null=True, blank=True)

    class Meta:
        db_table = 'document_table'

    def __str__(self):
        return self.host_url or '<untitled>'
Esempio n. 19
0
 class Author(models.Model):
     name = models.CharField(max_length=75)
     uuid = models.UUIDField(null=True)
     books = models.ArrayField(of=BookField)
     data = models.JSONField(default=None)
     created = models.DateTimeField(auto_now_add=True)
     modified = models.DateTimeField(auto_now=True)
Esempio n. 20
0
class Report(models.Model):
    mission = models.ForeignKey('Mission')
    outcome = models.CharField(max_length=15, choices=OUTCOME_CHOICES)
    comments = models.TextField

    def __str__(self):
        return self.outcome
Esempio n. 21
0
class Cost(models.Model):
    project = models.ForeignKey(Project)
    # XXX does a key to Company make sense here??
    actual_predicted = models.CharField(max_length=10,
                                        choices=(
                                            ('actual', 'Actual'),
                                            ('predicted', 'Predicted'),))    
    description = models.CharField(max_length=100, null=True,blank=True)
    amount = models.FloatField()
    currency = models.CharField(max_length=3,
                                blank=True,
                                null=True,
                                default='USD',
                                choices=CURRENCIES)
    per = models.CharField(
        max_length=30,
        choices=TIME_PERIODS + (('barrel', 'barrel'),))
Esempio n. 22
0
class ReportLog(models.CompositeField):
    class_ID = models.IntegerField
    hero_ID = models.IntegerField
    outcome = models.CharField(max_length=1, choices=OUTCOME_CHOICES)
    comments = models.TextField
    trainer = models.IntegerField

    class Meta:
        db_type = 'report'
Esempio n. 23
0
class Search(models.Model):
    '''
    Represents one run of any of the data-searching code
    '''
    label = models.CharField(max_length=10, primary_key=True)
    metadata = models.JSONField(type=dict)
    source = models.ForeignKey('SourceInfo', null=True, blank=True)

    def __str__(self):
        return self.label or '<untitled>'
Esempio n. 24
0
class Attendance(models.CompositeField):
    class_ID = models.IntegerField
    hero_ID = models.IntegerField
    room_name = models.CharField(max_length=30)
    date = models.DateField
    start_time = models.TimeField
    end_time = models.TimeField

    class Meta:
        db_type = 'attendance'
Esempio n. 25
0
class Company(models.Model):
    company_id = models.CharField(primary_key=True,
                                  max_length=200,
                                  default=random_id)
    company_name = models.CharField(max_length=200)

    cik = models.IntegerField(blank=True, null=True, db_index=True)
    sic = models.IntegerField(blank=True, null=True)
    jurisdiction = models.CharField(max_length=50, blank=True)

    source = models.ForeignKey('SourceInfo',
                               blank=True,
                               null=True,
                               related_name='companies')

    class Meta:
        db_table = 'company_table'
        ordering = [
            'company_name',
        ]

    def __str__(self):
        return self.company_name or '<untitled>'
Esempio n. 26
0
class Task(models.Model):
    source = models.ForeignKey(Document)
    status = models.CharField(max_length=12,
                              choices=[
                                  (x,x) for x in (
                                      'completed',
                                      'in progress',
                                      'available',
                                      'on hold')
                                  ])
    task_group = models.ForeignKey('TaskGroup')
    date_completed = models.DateTimeField(null=True,blank=True)
    user = models.ForeignKey(User)
    data = models.JSONField(null=True,blank=True)
Esempio n. 27
0
class Contract(models.Model):
    contract_id = models.CharField(primary_key=True, max_length=200)
    doc = models.ForeignKey('Document', null=True, blank=True)
    country = models.CharField(max_length=200)
    sign_date = models.CharField(max_length=200)
    title_type = models.CharField(max_length=200, blank=True)
    source_url = models.CharField(max_length=200)
    doc_cloud_id = models.CharField(max_length=200)
    doc_cloud_url = models.CharField(max_length=200)
    sign_year = models.CharField(max_length=200)
    source = models.ForeignKey('SourceInfo', null=True, blank=True)

    class Meta:
        db_table = 'contract_table'

    def __str__(self):
        return self.contract_id or '<untitled>'
Esempio n. 28
0
class Check(models.Model):
    id = models.UUIDField(auto_add=True, primary_key=True)
    unblocked = models.SmallIntegerField(default=0)
    created_at = models.DateTimeField(default=now)
    started_at = models.DateTimeField(null=True, blank=True)
    finished_at = models.DateTimeField(null=True, blank=True)
    requirements = models.ArrayField(models.TextField())
    projects = models.ArrayField(models.CharField(max_length=255))
    blockers = models.JSONField()
    public = models.BooleanField(default=True)
    runs = models.SmallIntegerField(default=0)
    project = models.ForeignKey(Project, related_name='checks',
                                null=True, blank=True)

    class Meta:
        ordering = ('-finished_at',)

    def __str__(self):
        return str(self.id)

    def get_absolute_url(self):
        return reverse('check-detail', kwargs={'pk': str(self.pk)})

    def clean(self):
        projects = OrderedDict()  # using this since sets aren't ordered
        for requirement in self.requirements:
            url = urlparse(requirement)
            if url.scheme in ('http', 'https', 'file'):
                requirement = [sanitize_github_url(requirement, url)]
                try:
                    for project in projects_from_requirements(requirement):
                        projects[project] = None
                except:
                    raise ValidationError("Couldn't check %s." % requirement)
            else:
                projects[requirement] = None

        self.projects = list(projects.keys())

        for index, project_name in enumerate(self.projects):
            validators.RegexValidator(project_name_re,
                                      'Project %s invalid' %
                                      project_name)(project_name)
Esempio n. 29
0
 class CitizenField(models.CompositeField):
     first_name = models.CharField(max_length=20)
     last_name = models.CharField(max_length=30)
     authors = models.ManyToManyField(Author)
Esempio n. 30
0
 class CitizenField(models.CompositeField):
     first_name = models.CharField(max_length=20)
     last_name = models.CharField(max_length=30)
     resident_of = models.ForeignKey(Monarchy)