aircox/programs
2016-09-10 22:38:15 +02:00
..
locale/fr/LC_MESSAGES programs/urls.py: update views 2016-09-10 20:12:00 +02:00
management quick fix on bugs due to Django 1.10 2016-08-19 19:35:05 +02:00
templates/aircox/controllers programs/urls.py: update views 2016-09-10 20:12:00 +02:00
__init__.py move files 2015-12-22 08:37:17 +01:00
admin.py issue #3: merge controllers into programs; missing: views 2016-08-29 15:45:17 +02:00
connector.py issue #3: merge controllers into programs; missing: views 2016-08-29 15:45:17 +02:00
controllers.py programs/urls.py: update views 2016-09-10 20:12:00 +02:00
models.py programs/urls.py: update views 2016-09-10 20:12:00 +02:00
README.md work on cms 2016-05-21 01:01:17 +02:00
settings.py issue #3: merge controllers into programs; missing: views 2016-08-29 15:45:17 +02:00
tests.py rewrite tests + fix error in schedule generator 2016-07-28 14:45:26 +02:00
urls.py move url 2016-09-10 22:38:15 +02:00
utils.py add script to import playlists to sounds or to diffusions 2016-07-15 18:23:08 +02:00
views.py programs/urls.py: update views 2016-09-10 20:12:00 +02:00

Aircox Programs

This application defines all base models and basic control of them. We have:

  • Nameable: generic class used in any class needing to be named. Includes some utility functions;
  • Station: a station
  • Program: the program itself;
  • Diffusion: occurrence of a program planified in the timetable. For rerun, informations are bound to the initial diffusion;
  • Schedule: describes diffusions frequencies for each program;
  • Track: track informations in a playlist of a diffusion;
  • Sound: information about a sound that can be used for podcast or rerun;
  • Log: logs

Architecture

A Station is basically an object that represent a radio station. On each station, we use the Program object, that is declined in two different types:

  • Scheduled: the diffusion is based on a timetable and planified through one Schedule or more; Diffusion object represent the occurrence of these programs;
  • Streamed: the diffusion is based on random playlist, used to fill gaps between the programs;

Each program has a directory in AIRCOX_PROGRAMS_DIR; For each, subdir:

  • archives: complete episode record, can be used for diffusions or as a podcast
  • excerpts: excerpt of an episode, or other elements, can be used as a podcast

manage.py's commands

  • diffusions_monitor: update/create, check and clean diffusions; When a diffusion is created its type can be set on "unconfirmed" (this depends on the approval mode).
  • sound_monitor: check for existing and missing sounds files in programs directories and synchronize the database. Can also check for the quality of file and synchronize the database according to them.
  • sound_quality_check: check for the quality of the file (don't update database)

Requirements

  • Sox (and soxi): sound file monitor and quality check
  • requirements.txt for python's dependecies