Changes between Initial Version and Version 1 of Policies


Ignore:
Timestamp:
Nov 20, 2006, 3:40:33 PM (11 years ago)
Author:
lincoln
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Policies

    v1 v1  
     1= Policies = 
     2 
     3Policies are implemented throughout Shepherd to control the logic on choosing if there is sufficient data or how to merge overlapping programme data. 
     4 
     5== Grabbing policies == 
     6 
     7The following default policies are used when grabbing data and determining if there is any missing data. 
     8 
     9To override the defaults, you may manually add a configuration directive into your local ''~/.shepherd/shepherd.conf'' configuration file.[[BR]] 
     10Note that we strongly discourage changing of default values unless you are really sure you know what you are doing! If you put some invalid syntax in the config file, shepherd may not work any more. If you get stuck, delete the ''~/.shepherd/shepherd.conf'' configuration file and run ''~/.shepherd/shepherd --configure'' to rebuild it. 
     11 
     12{{{ 
     13#!perl 
     14$policy{timeslot_size} = (5 * 60);      # 5 minute slots 
     15$policy{timeslot_debug} = 0;            # don't debug timeslot policy by default 
     16 
     17# PEAK timeslots - 
     18#  between 4.30pm and 10.30pm every day, only allow a maximum of 
     19#  15 minutes "programming data" missing 
     20#  if there is more than this, we will continue asking grabbers for more 
     21#  programming on this channel 
     22$policy{peak_max_missing} = 15*60;              # up to 15 mins max allowed missing 
     23$policy{peak_start} = (16*(60*60))+(30*60);     # 4.30pm 
     24$policy{peak_stop} = (22*(60*60))+(30*60);      # 10.30pm 
     25 
     26# NON-PEAK timeslots - 
     27#  between midnight and 7.15am every day, only allow up to 6 hours missing 
     28#  if there is more than this, we will continue asking grabbers for more 
     29#  programming on this channel 
     30$policy{nonpeak_max_missing} = 7*(60*60);       # up to 6 hours can be missing 
     31$policy{nonpeak_start} = 0;                     # midnight 
     32$policy{nonpeak_stop} = (7*(60*60))+(15*60);    # 7.15am 
     33 
     34# all other timeslots - (7.15am-4.30pm, 10.30pm-midnight) 
     35#  allow up to 60 minutes maximum missing programming 
     36$policy{other_max_missing} = 3*60*60;           # up to 3 hrs max allowed missing 
     37 
     38# if a postprocessor failed 5 times in a row, automatically disable it 
     39$policy{postprocessor_disable_failure_threshold} = 5; 
     40 
     41# don't accept programmes that last for longer than 8 hours. 
     42$policy{max_programme_length} = (8 * 60 * 60);  # 8 hours 
     43}}} 
     44 
     45== Reconciling policies == 
     46 
     47The following default policies are used when reconciling data from multiple grabbers: 
     48 
     49To override the defaults, you may manually add a configuration directive into your local ''~/.shepherd/reconcilers/reconciler_mk2/reconciler_mk2.config'' configuration file in the ''setting_override'' section.[[BR]] 
     50We strongly discourage changing of default values unless you are really sure you know what you are doing! If you put some invalid syntax in the config file, the reconciler may not work any more. If you get stuck, just delete the ''~/.shepherd/reconcilers/reconciler_mk2/reconciler_mk2.config'' configuration file. 
     51 
     52{{{ 
     53#!perl 
     54### ******************************************************************************* 
     55### *** NOTE: all of these can be overridden through a (site local) config file *** 
     56### ******************************************************************************* 
     57### Doing that is HIGHLY PREFERABLE to CHANGING THIS FILE! 
     58### remember that Shepherd may upgrade this automatically from time-to-time, 
     59### causing any changes here to be LOST! 
     60 
     61# 
     62# reconciler logic settings 
     63# 
     64 
     65# delete_window_smaller_than_prog_window_threshold: 
     66$reclogic{delete_window_smaller_than_prog_window_threshold} = (5*60); # 5 mins each side 
     67 
     68# min_prog_length_for_delete_cutoff: 
     69$reclogic{min_prog_length_for_delete_cutoff} = (10*60); # prog needs to be at least 10 mins if we're cutting back 
     70 
     71# max_prog_length_for_rejig: 
     72$reclogic{max_prog_length_for_rejig} = (10*60);         # allow programme times to be changed by at-most 10 mins 
     73 
     74$reclogic{fuzzy_match_title_time_window} = (10*60);     # attempt title matches within +/- 10 min window 
     75 
     76# always rewrite XMLTV 'start' & 'stop', removing timezone 
     77$reclogic{always_rewrite_start_stop_without_timezone} = 1; 
     78 
     79# when we have a title with a ": " in the middle but no subtitle, split 
     80# the title into "title: subtitle" provided title & subtitle are each at least 
     81# 5 characters long 
     82$reclogic{min_title_for_colon_title_split} = 5; 
     83 
     84# don't accept programmes that last for longer than 8 hours. 
     85$reclogic{max_programme_length} = (8 * 60 * 60); # 8 hours 
     86 
     87# do store a preference title, even if we don't have any alternatives 
     88$reclogic{title_xlate_table_min_alt_progs} = 0; 
     89 
     90 
     91# 
     92# warning messages 
     93# 
     94 
     95$reclogic{warn_on_encoding_differences} = 0;            # don't warn on encoding differences between XMLTV files 
     96$reclogic{warn_on_no_title} = 1;                        # do warn on programme with no title 
     97$reclogic{warn_on_no_channel} = 1;                      # do warn on programme with no channel 
     98$reclogic{warn_on_unknown_channel} = 1;                 # do warn on programme with unknown channel 
     99$reclogic{warn_on_invalid_time_in_prog} = 1;            # do warn on programme with bad time format 
     100$reclogic{warn_on_overlapping_programmes_always} = 0;   # don't warn on all overlapping programmes from same source 
     101$reclogic{warn_on_overlapping_programmes_for_different_title} = 1; # do warn on overlapping programmes from same source with different names 
     102$reclogic{warn_on_invalid_time_in_prog} = 1;            # do warn on a programme with a duration that is too long 
     103 
     104# 
     105# debug messages 
     106# 
     107 
     108$reclogic{debug_parse_time} = 0;                        # don't show debugging when parsing input time 
     109$reclogic{debug_reconcile} = 0;                         # don't show reconciler logic 
     110$reclogic{debug_reconcile_pass1} = 0;                   # don't show verbose pass 1 reconciler logic 
     111$reclogic{debug_reconcile_pass2} = 0;                   # don't show verbose pass 2 reconciler logic 
     112$reclogic{debug_add_logic} = 0;                         # don't show add logic debugging messages 
     113$reclogic{debug_add_logic_verbose} = 0;                 # don't show add logic verbose debugging messages 
     114$reclogic{debug_add_logic_name_xlate} = 0;              # don't show add logic title translation messages 
     115$reclogic{debug_delete_logic} = 0;                      # don't show delete logic debugging messages 
     116$reclogic{debug_show_nonmatching_title_alternatives} = 0; # don't show non-matching alternative debugging messages 
     117$reclogic{debug_find_prog_to_add} = 0;                  # don't show add_multiple logic debugging messages 
     118$reclogic{debug_find_prog_to_add_verbose} = 0;          # don't show add_multiple logic verbose debugging messages 
     119$reclogic{debug_print_programme_list} = 0;              # don't show programme listings while writing 
     120$reclogic{debug_subtitle_derived_from_title} = 0;       # don't show subtitles mapped from titles 
     121}}} 
     122