summaryrefslogtreecommitdiffstats
path: root/abs/core/tweaker/bin/twk_EXAMPLE.pl
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/tweaker/bin/twk_EXAMPLE.pl')
-rwxr-xr-xabs/core/tweaker/bin/twk_EXAMPLE.pl134
1 files changed, 134 insertions, 0 deletions
diff --git a/abs/core/tweaker/bin/twk_EXAMPLE.pl b/abs/core/tweaker/bin/twk_EXAMPLE.pl
new file mode 100755
index 0000000..7dfb075
--- /dev/null
+++ b/abs/core/tweaker/bin/twk_EXAMPLE.pl
@@ -0,0 +1,134 @@
+# This is not an executable. It provides an example of how you would implement a
+# Tweaker Script. For details on the functions provided by Tweaker::Script,
+# such as execute_shell_command, get_environment_variable, connect_to_db, etc.
+# see Tweaker/Script.pm
+#
+# See the corresponding EXAMPLE.tcf for the Tweak that would correspond to this script.
+
+#
+# BEGIN EXAMPLE
+#
+
+#!/usr/bin/perl -w
+
+# Copyright 2009 YOUR NAME HERE
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+use Switch;
+use Tweaker::Script;
+package Tweaker::Script;
+
+# List all the options that this script supports. Make sure it matches what's in
+# the corresponding .tcf entry.
+set_known_options( 'option1', 'option2', 'option3' );
+
+# Try to implement the given option.
+sub implement_option {
+ my($option) = @_;
+
+ # If you need a subroutine that is specific to the task of implementing an option,
+ # define it inside the above subroutine.
+ sub my_subroutune {
+ # ...
+ }
+
+ $dbconnectionstring = get_mythtv_connection_string();
+
+ if (connect_to_db("DBI:mysql:$dbconnectionstring")) { # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ switch ($option) {
+ # List all the options that this script supports. You can have as many as you like.
+ case "option1" {
+ # Perform the actions necessary to implement option1.
+ # You may want to call do_query, change_or_make_setting, or change_or_make_entry to make changes to the MySQL database.
+ # You may want to call execute_shell_command to make changes from the shell.
+ }
+ case "option2" {
+ # Perform the actions necessary to implement option2.
+ # You may want to call do_query, change_or_make_setting, or change_or_make_entry to make changes to the MySQL database.
+ # You may want to call execute_shell_command to make changes from the shell.
+ }
+ case "option3" {
+ # Perform the actions necessary to implement option3.
+ # You may want to call do_query, change_or_make_setting, or change_or_make_entry to make changes to the MySQL database.
+ # You may want to call execute_shell_command to make changes from the shell.
+ }
+ }
+ } else { # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ my $logger = get_logger('tweaker.script');
+ $logger->error("ERROR: Unable to connect to mythconverg database");
+ $logger->error("ERROR: Unable to implement option $option.");
+ exit -1; # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ } # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ disconnect_from_db(); # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+}
+
+# Poll the system to see what recommendationlevel the given option has on the system.
+sub poll_options {
+ my($option) = @_;
+
+ # If you need a subroutine that is specific to the task of implementing an option,
+ # define it inside the above subroutine.
+ sub my_subroutune {
+ # ...
+ }
+
+ $dbconnectionstring = get_mythtv_connection_string();
+
+ if (connect_to_db("DBI:mysql:$dbconnectionstring")) { # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ switch ($option) {
+ # List all the options that this script supports. You can have as many as you like.
+ case "option1" {
+ # Perform the actions necessary to determine a recommendation level for option1.
+ # You may want to call do_query to query to the MySQL database.
+ # You may want to call execute_shell_command to check things in the shell.
+ # When you're done, you can use the recommendation_level subroutine to return the
+ # resulting recommendation level.
+ }
+ case "option2" {
+ # Perform the actions necessary to determine a recommendation level for option2.
+ # You may want to call do_query to query to the MySQL database.
+ # You may want to call execute_shell_command to check things in the shell.
+ # When you're done, you can use the recommendation_level subroutine to return the
+ # resulting recommendation level.
+ }
+ case "option3" {
+ # Perform the actions necessary to determine a recommendation level for option3.
+ # You may want to call do_query to query to the MySQL database.
+ # You may want to call execute_shell_command to check things in the shell.
+ # When you're done, you can use the recommendation_level subroutine to return the
+ # resulting recommendation level.
+ }
+ }
+ } else { # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ exit -1; # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ } # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+ disconnect_from_db(); # You may not have to do this. It's only when you need to change MySQL settings for MythTV.
+}
+
+# Unimplemented in 0.7
+sub check_option {
+ help;
+}
+
+# Unimplemented in 0.7
+sub count_iterations {
+ help;
+}
+
+process_parameters; # mandatory
+
+#
+# END EXAMPLE
+#