Your IP : 18.119.133.214
3
�<�e � @ sV d dl jZddlmZ d dlZd dlZd dlmZm Z ej
j� ZG dd� dej
�ZdS )� N� )�base)�Popen�PIPEc sb e Zd ZdZedd� �Zdd� Zdd� Zdd � Z� fd
d�Z � fdd
�Z
ejf� fdd� Z
� ZS )�ScriptPluginac
`script`::
Executes an external script or binary when the profile is loaded or
unloaded. You can choose an arbitrary executable.
+
IMPORTANT: The `script` plug-in is provided mainly for compatibility
with earlier releases. Prefer other *TuneD* plug-ins if they cover
the required functionality.
+
*TuneD* calls the executable with one of the following arguments:
+
--
** `start` when loading the profile
** `stop` when unloading the profile
--
+
You need to correctly implement the `stop` action in your executable
and revert all settings that you changed during the `start`
action. Otherwise, the roll-back step after changing your *TuneD*
profile will not work.
+
Bash scripts can import the [filename]`/usr/lib/tuned/functions`
Bash library and use the functions defined there. Use these
functions only for functionality that is not natively provided
by *TuneD*. If a function name starts with an underscore, such as
`_wifi_set_power_level`, consider the function private and do not
use it in your scripts, because it might change in the future.
+
Specify the path to the executable using the `script` parameter in
the plug-in configuration.
+
.Running a Bash script from a profile
====
To run a Bash script named `script.sh` that is located in the profile
directory, use:
----
[script]
script=${i:PROFILE_DIR}/script.sh
----
====
c C s dd iS )N�script� )�selfr r �#/usr/lib/python3.6/plugin_script.py�_get_config_options6 s z ScriptPlugin._get_config_optionsc C sF d|_ d|_|jd d k r<t|jd t�s.t�|jd |_ng |_d S )NTFr )Z_has_static_tuningZ_has_dynamic_tuningZoptions�
isinstance�list�AssertionError�_scripts)r �instancer r r
�_instance_init<