radioco.apps.schedules package

Submodules

radioco.apps.schedules.admin module

class radioco.apps.schedules.admin.CalendarAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

actions = ['clone_calendar', 'set_active']
clone_calendar(request, queryset)[source]
list_display = ('name', 'is_active')
list_filter = ['is_active']
media
ordering = ['name']
search_fields = ['name']
set_active(request, queryset)[source]
class radioco.apps.schedules.admin.ScheduleAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

change_list_template = 'admin/schedules/calendar.html'
changelist_view(request, extra_context=None)[source]
fieldsets = ((None, {'fields': ('programme', 'type', 'start_dt', 'recurrences')}), (<django.utils.functional.__proxy__ object>, {'fields': ('effective_start_dt', 'effective_end_dt', 'from_collection', 'source'), 'classes': ('collapse',)}))
has_add_permission(request)[source]
media
readonly_fields = ('effective_start_dt', 'effective_end_dt', 'source', 'from_collection')

radioco.apps.schedules.forms module

class radioco.apps.schedules.forms.DeleteScheduleForm(has_recurrences, *args, **kwargs)[source]

Bases: django.forms.forms.Form

DELETE_ALL = 'all'
DELETE_ONLY_THIS = 'only_this'
DELETE_THIS_AND_FOLLOWING = 'this_and_following'
base_fields = OrderedDict([('transmission_dt', <django.forms.fields.DateTimeField object>), ('schedule', <django.forms.models.ModelChoiceField object>)])
declared_fields = OrderedDict([('transmission_dt', <django.forms.fields.DateTimeField object>), ('schedule', <django.forms.models.ModelChoiceField object>)])
media

radioco.apps.schedules.models module

class radioco.apps.schedules.models.Calendar(id, name, is_active)[source]

Bases: django.db.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Calendar.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

classmethod Calendar.get_active()[source]
Calendar.objects = <django.db.models.manager.Manager object>
Calendar.rearrange_episodes()[source]
Calendar.save(*args, **kwargs)[source]
Calendar.schedule_set
class radioco.apps.schedules.models.CalendarManager[source]

Bases: django.db.models.manager.Manager

current()[source]
class radioco.apps.schedules.models.ExcludedDates(*args, **kwargs)[source]

Bases: django.db.models.base.Model

Helper to improve performance

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception ExcludedDates.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

ExcludedDates.date
ExcludedDates.get_new_excluded_datetime(new_dt)[source]

Returns: A new dt to be excluded in that date

ExcludedDates.get_next_by_datetime(*moreargs, **morekwargs)
ExcludedDates.get_previous_by_datetime(*moreargs, **morekwargs)
ExcludedDates.objects = <django.db.models.manager.Manager object>
ExcludedDates.schedule
class radioco.apps.schedules.models.Schedule(id, programme, type, calendar, recurrences, start_dt, effective_start_dt, effective_end_dt, from_collection, source)[source]

Bases: django.db.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Schedule.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

Schedule.calendar
Schedule.child_schedules
Schedule.date_after(after)[source]
Schedule.date_before(before)[source]
Schedule.dates_between(after, before)[source]

Return a sorted list of dates between after and before

Schedule.exclude_date(dt)[source]
Schedule.excludeddates_set
Schedule.from_collection
Schedule.get_next_by_start_dt(*moreargs, **morekwargs)
Schedule.get_previous_by_start_dt(*moreargs, **morekwargs)
static Schedule.get_schedule_which_excluded_dt(programme, dt)[source]
Schedule.get_type_display(*moreargs, **morekwargs)
Schedule.has_recurrences()[source]
Schedule.include_date(dt)[source]
Schedule.objects = <django.db.models.manager.Manager object>
Schedule.programme
Schedule.recurrences

A placeholder class that provides a way to set the attribute on the model.

Schedule.runtime
Schedule.save(*args, **kwargs)[source]
Schedule.schedule_set
Schedule.source
class radioco.apps.schedules.models.Transmission(schedule, date, episode=None)[source]

Bases: object

Temporal object generated according to recurrence rules or schedule information It contains concrete dates

classmethod at(at)[source]
classmethod between(after, before, schedules=None)[source]

Return a tuple of Schedule and Transmissions sorted by date

end
episode_url
name
programme_url
slug
radioco.apps.schedules.models.calculate_effective_schedule_end_dt(schedule)[source]

Calculation of the last end date to improve performance

radioco.apps.schedules.models.calculate_effective_schedule_start_dt(schedule)[source]

Calculation of the first start date to improve performance

radioco.apps.schedules.urls module

radioco.apps.schedules.utils module

radioco.apps.schedules.utils.next_dates(calendar, programme, after)[source]

Returns: A generator with the next dates of a given programme

radioco.apps.schedules.views module

class radioco.apps.schedules.views.DeleteScheduleView(**kwargs)[source]

Bases: radioco.apps.radioco.utils.GetObjectMixin, radioco.apps.radioco.utils.DeletePermissionMixin, django.views.generic.edit.FormView

form_class

alias of DeleteScheduleForm

form_valid(form)[source]
get(request, *args, **kwargs)[source]
get_context_data(**kwargs)[source]
get_form_kwargs()[source]
get_initial()[source]
model

alias of Schedule

schedule_id = None
template_name = 'admin/schedules/delete_modal.html'
transmission_dt = None
radioco.apps.schedules.views.schedule_list(request)[source]

Module contents