def _group_count_factory( count_total: int, count_seen: int, count_not_seen: int, count_bar: int, needs_attn: bool = False, datetimecounted: datetime = None, comment: str = "", group: Group = group_B, user: User = user_base, enclosure: Enclosure = enclosure_base, ) -> GroupCount: if datetimecounted is None: datetimecounted = localtime() return GroupCount.objects.create( group=group, datetimecounted=datetimecounted, datecounted=datetimecounted.date(), user=user, enclosure=enclosure, count_total=count_total, count_seen=count_seen, count_not_seen=count_not_seen, count_bar=count_bar, needs_attn=needs_attn, comment=comment, )
def _get_name_for_time_point(self, time_point: timezone.datetime): if self.unit == self.QUARTER: return f'Q{m2q(time_point.month)} {time_point.year}' if self.unit == self.MONTH: return f'{time_point.month}/{time_point.year}' if self.unit == self.YEAR: return f'{time_point.year}' if self.unit == self.DAY: return time_point.date().isoformat() if self.unit in [self.HOUR]: return time_point.isoformat(sep=' ', timespec='hours') + ':00' if self.unit in [self.MINUTE]: return time_point.isoformat(sep=' ', timespec='minutes')
def _species_count_factory( count: int, user: User = user_base, enclosure: Enclosure = enclosure_base, species: Species = species_base, datetimecounted: datetime = None, ) -> SpeciesCount: if datetimecounted is None: datetimecounted = localtime() return SpeciesCount.objects.create( datetimecounted=datetimecounted, datecounted=datetimecounted.date(), species=species, user=user, enclosure=enclosure, count=count, )
def _animal_count_factory( condition: str, datetimecounted: datetime = None, comment: str = "", animal: Animal = animal_A, user: User = user_base, enclosure: Enclosure = enclosure_base, ) -> AnimalCount: if datetimecounted is None: datetimecounted = localtime() return AnimalCount.objects.create( datetimecounted=datetimecounted, datecounted=datetimecounted.date(), condition=condition, comment=comment, animal=animal, user=user, enclosure=enclosure, )