mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Minor python cleanup
This commit is contained in:
@@ -71,7 +71,7 @@ def screenshot_failure_cls(cls):
|
|||||||
|
|
||||||
|
|
||||||
# Checks if animation is done
|
# Checks if animation is done
|
||||||
class animation_is_finished():
|
class animation_is_finished:
|
||||||
def __call__(self, driver):
|
def __call__(self, driver):
|
||||||
numberAnimating = driver.execute_script('return $(":animated").length')
|
numberAnimating = driver.execute_script('return $(":animated").length')
|
||||||
finished = numberAnimating == 0
|
finished = numberAnimating == 0
|
||||||
|
|||||||
@@ -202,7 +202,8 @@ class EventChecklistForm(forms.ModelForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Two possible formats
|
# Two possible formats
|
||||||
def parsedatetime(self, date_string):
|
@staticmethod
|
||||||
|
def parsedatetime(date_string):
|
||||||
try:
|
try:
|
||||||
return timezone.make_aware(datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S'))
|
return timezone.make_aware(datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S'))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
|
|||||||
118
RIGS/ical.py
118
RIGS/ical.py
@@ -9,6 +9,69 @@ import datetime
|
|||||||
import pytz
|
import pytz
|
||||||
|
|
||||||
|
|
||||||
|
def item_guid(item): # use the rig-id as the ical unique event identifier
|
||||||
|
return item.pk
|
||||||
|
|
||||||
|
|
||||||
|
def item_updated(item): # some ical clients will display this
|
||||||
|
return item.last_edited_at
|
||||||
|
|
||||||
|
|
||||||
|
def item_location(item):
|
||||||
|
return item.venue
|
||||||
|
|
||||||
|
|
||||||
|
def item_end_datetime(item):
|
||||||
|
if isinstance(item.latest_time, datetime.date): # Ical end_datetime is non-inclusive, so add a day
|
||||||
|
return item.latest_time + datetime.timedelta(days=1)
|
||||||
|
|
||||||
|
return item.latest_time
|
||||||
|
|
||||||
|
|
||||||
|
def item_start_datetime(item):
|
||||||
|
return item.earliest_time
|
||||||
|
|
||||||
|
|
||||||
|
def items(params):
|
||||||
|
# include events from up to 1 year ago
|
||||||
|
start = datetime.datetime.now() - datetime.timedelta(days=365)
|
||||||
|
filter = Q(start_date__gte=start)
|
||||||
|
|
||||||
|
typeFilters = Q(pk=None) # Need something that is false for every entry
|
||||||
|
|
||||||
|
if params['dry-hire']:
|
||||||
|
typeFilters = typeFilters | Q(dry_hire=True, is_rig=True)
|
||||||
|
|
||||||
|
if params['non-rig']:
|
||||||
|
typeFilters = typeFilters | Q(is_rig=False)
|
||||||
|
|
||||||
|
if params['rig']:
|
||||||
|
typeFilters = typeFilters | Q(is_rig=True, dry_hire=False)
|
||||||
|
|
||||||
|
statusFilters = Q(pk=None) # Need something that is false for every entry
|
||||||
|
|
||||||
|
if params['cancelled']:
|
||||||
|
statusFilters = statusFilters | Q(status=models.Event.CANCELLED)
|
||||||
|
if params['provisional']:
|
||||||
|
statusFilters = statusFilters | Q(status=models.Event.PROVISIONAL)
|
||||||
|
if params['confirmed']:
|
||||||
|
statusFilters = statusFilters | Q(status=models.Event.CONFIRMED) | Q(status=models.Event.BOOKED)
|
||||||
|
|
||||||
|
filter = filter & typeFilters & statusFilters
|
||||||
|
|
||||||
|
return models.Event.objects.filter(filter).order_by('-start_date').select_related('person', 'organisation',
|
||||||
|
'venue', 'mic')
|
||||||
|
|
||||||
|
|
||||||
|
def description(params):
|
||||||
|
desc = "Calendar generated by RIGS system. This includes event types: " + ('Rig, ' if params['rig'] else '') + (
|
||||||
|
'Non-rig, ' if params['non-rig'] else '') + ('Dry Hire ' if params['dry-hire'] else '') + '\n'
|
||||||
|
desc = desc + "Includes events with status: " + ('Cancelled, ' if params['cancelled'] else '') + (
|
||||||
|
'Provisional, ' if params['provisional'] else '') + ('Confirmed/Booked, ' if params['confirmed'] else '')
|
||||||
|
|
||||||
|
return desc
|
||||||
|
|
||||||
|
|
||||||
class CalendarICS(ICalFeed):
|
class CalendarICS(ICalFeed):
|
||||||
"""
|
"""
|
||||||
A simple event calender
|
A simple event calender
|
||||||
@@ -39,44 +102,6 @@ class CalendarICS(ICalFeed):
|
|||||||
|
|
||||||
return params
|
return params
|
||||||
|
|
||||||
def description(self, params):
|
|
||||||
desc = "Calendar generated by RIGS system. This includes event types: " + ('Rig, ' if params['rig'] else '') + (
|
|
||||||
'Non-rig, ' if params['non-rig'] else '') + ('Dry Hire ' if params['dry-hire'] else '') + '\n'
|
|
||||||
desc = desc + "Includes events with status: " + ('Cancelled, ' if params['cancelled'] else '') + (
|
|
||||||
'Provisional, ' if params['provisional'] else '') + ('Confirmed/Booked, ' if params['confirmed'] else '')
|
|
||||||
|
|
||||||
return desc
|
|
||||||
|
|
||||||
def items(self, params):
|
|
||||||
# include events from up to 1 year ago
|
|
||||||
start = datetime.datetime.now() - datetime.timedelta(days=365)
|
|
||||||
filter = Q(start_date__gte=start)
|
|
||||||
|
|
||||||
typeFilters = Q(pk=None) # Need something that is false for every entry
|
|
||||||
|
|
||||||
if params['dry-hire']:
|
|
||||||
typeFilters = typeFilters | Q(dry_hire=True, is_rig=True)
|
|
||||||
|
|
||||||
if params['non-rig']:
|
|
||||||
typeFilters = typeFilters | Q(is_rig=False)
|
|
||||||
|
|
||||||
if params['rig']:
|
|
||||||
typeFilters = typeFilters | Q(is_rig=True, dry_hire=False)
|
|
||||||
|
|
||||||
statusFilters = Q(pk=None) # Need something that is false for every entry
|
|
||||||
|
|
||||||
if params['cancelled']:
|
|
||||||
statusFilters = statusFilters | Q(status=models.Event.CANCELLED)
|
|
||||||
if params['provisional']:
|
|
||||||
statusFilters = statusFilters | Q(status=models.Event.PROVISIONAL)
|
|
||||||
if params['confirmed']:
|
|
||||||
statusFilters = statusFilters | Q(status=models.Event.CONFIRMED) | Q(status=models.Event.BOOKED)
|
|
||||||
|
|
||||||
filter = filter & typeFilters & statusFilters
|
|
||||||
|
|
||||||
return models.Event.objects.filter(filter).order_by('-start_date').select_related('person', 'organisation',
|
|
||||||
'venue', 'mic')
|
|
||||||
|
|
||||||
def item_title(self, item):
|
def item_title(self, item):
|
||||||
title = ''
|
title = ''
|
||||||
|
|
||||||
@@ -98,18 +123,6 @@ class CalendarICS(ICalFeed):
|
|||||||
|
|
||||||
return title
|
return title
|
||||||
|
|
||||||
def item_start_datetime(self, item):
|
|
||||||
return item.earliest_time
|
|
||||||
|
|
||||||
def item_end_datetime(self, item):
|
|
||||||
if isinstance(item.latest_time, datetime.date): # Ical end_datetime is non-inclusive, so add a day
|
|
||||||
return item.latest_time + datetime.timedelta(days=1)
|
|
||||||
|
|
||||||
return item.latest_time
|
|
||||||
|
|
||||||
def item_location(self, item):
|
|
||||||
return item.venue
|
|
||||||
|
|
||||||
def item_description(self, item):
|
def item_description(self, item):
|
||||||
# Create a nice information-rich description
|
# Create a nice information-rich description
|
||||||
# note: only making use of information available to "non-keyholders"
|
# note: only making use of information available to "non-keyholders"
|
||||||
@@ -158,8 +171,3 @@ class CalendarICS(ICalFeed):
|
|||||||
# def item_created(self, item): #TODO - Implement created date-time (using django-reversion?) - not really necessary though
|
# def item_created(self, item): #TODO - Implement created date-time (using django-reversion?) - not really necessary though
|
||||||
# return ''
|
# return ''
|
||||||
|
|
||||||
def item_updated(self, item): # some ical clients will display this
|
|
||||||
return item.last_edited_at
|
|
||||||
|
|
||||||
def item_guid(self, item): # use the rig-id as the ical unique event identifier
|
|
||||||
return item.pk
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ def paginator(context, adjacent_pages=3):
|
|||||||
if endPage >= paginator.num_pages - 1:
|
if endPage >= paginator.num_pages - 1:
|
||||||
endPage = paginator.num_pages + 1
|
endPage = paginator.num_pages + 1
|
||||||
page_numbers = [n for n in range(startPage, endPage)
|
page_numbers = [n for n in range(startPage, endPage)
|
||||||
if n > 0 and n <= paginator.num_pages]
|
if 0 < n <= paginator.num_pages]
|
||||||
|
|
||||||
dict = {
|
dict = {
|
||||||
'request': context['request'],
|
'request': context['request'],
|
||||||
|
|||||||
@@ -3,6 +3,11 @@ from django.core.management.base import BaseCommand, CommandError
|
|||||||
from assets import models
|
from assets import models
|
||||||
|
|
||||||
|
|
||||||
|
def delete_objects(model):
|
||||||
|
for object in model.objects.all():
|
||||||
|
object.delete()
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
help = 'Deletes testing sample data'
|
help = 'Deletes testing sample data'
|
||||||
|
|
||||||
@@ -12,12 +17,8 @@ class Command(BaseCommand):
|
|||||||
if not (settings.DEBUG):
|
if not (settings.DEBUG):
|
||||||
raise CommandError('You cannot run this command in production')
|
raise CommandError('You cannot run this command in production')
|
||||||
|
|
||||||
self.delete_objects(models.AssetCategory)
|
delete_objects(models.AssetCategory)
|
||||||
self.delete_objects(models.AssetStatus)
|
delete_objects(models.AssetStatus)
|
||||||
self.delete_objects(models.Supplier)
|
delete_objects(models.Supplier)
|
||||||
self.delete_objects(models.Connector)
|
delete_objects(models.Connector)
|
||||||
self.delete_objects(models.Asset)
|
delete_objects(models.Asset)
|
||||||
|
|
||||||
def delete_objects(self, model):
|
|
||||||
for object in model.objects.all():
|
|
||||||
object.delete()
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ pytest-django==4.1.0
|
|||||||
pytest-xdist==2.2.0
|
pytest-xdist==2.2.0
|
||||||
pytest-cov==2.11.1
|
pytest-cov==2.11.1
|
||||||
raven==6.10.0
|
raven==6.10.0
|
||||||
reportlab==3.5.60
|
reportlab==3.5.59
|
||||||
requests==2.25.1
|
requests==2.25.1
|
||||||
retrying==1.3.3
|
retrying==1.3.3
|
||||||
selenium==3.141.0
|
selenium==3.141.0
|
||||||
|
|||||||
Reference in New Issue
Block a user