resources/


Script can save any kind of files in it's own code. It can be icons, Python libraries, or even code parts.   

Example
resources = {
	"sound_player.py": '''
		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
	'''
}
t1utils.resources_check(script_path, resources)


Script resources stored at base64 format (to avoid any kind of problems) in a dictionary, where file path will be used as a key (
relatively script folder), and as a value - resource code in base64.  


After script launch, resources will be "unpacked" in to the script folder with t1utils.resources_check function help, which will take path to the script folder and the dictionary as arguments. 

Usually you can develop and test scripts locally (for example on Trassir Client side) because mostly all of Trassir functions are available at any kind of Trassir software (server part, client part, working on Windows or Trassir OS). 


Let's try to use resources at sound alarm script. 

Create new script and change script parameters. 

After, you need to create script data folder. 

Look carefully, parameters company, title, version will be included to the script data path. 

For WinOS, folder will be created at .../trassir/scripts-data/company_title_version

For TrassirOS, folder will be created at /home/trassir/scripts-data/company_title_version

*all space signs will be changed to underscore  "_"

Let's copy the sound_player.py in script data folder

From that moment, sound_player.py will be available for import in your script. 

After this, we can try to copy our script with added resources to another server (or client). 

To do this, you need to add a link to the resource in to the script parameters. 

'''
<parameters>
	<company>DSSL</company>
	<title>SoundPlayerExample</title>
	<version>1.0</version>
	
	<resources>
		<resource>sound_player.py</resource>
	</resources>
</parameters>
'''


Connect our library and integrated module "host". 

import host
import sound_player


Next, create a function which will make a sound after pressing the button. For our convenience we will use constant SOUND_FILE for sound file name, and initialize a global "player" object. 

SOUND_FILE = "bell.wav"

player = sound_player.SoundPlayer()


def play_sound():
    player.play(SOUND_FILE)

Then, we need to add a handler which will check the button press and call play_sound() function. 

As a result you will have next:

# Sound player example
'''
<parameters>
	<company>DSSL</company>
	<title>SoundPlayerExample</title>
	<version>1.0</version>
	
	<resources>
		<resource>sound_player.py</resource>
	</resources>
</parameters>
'''

import host
import sound_player

SOUND_FILE = "bell.wav"

player = sound_player.SoundPlayer()


def play_sound():
    player.play(SOUND_FILE)


host.activate_on_shortcut("F12", play_sound)

At this point, you can save and test your script. 
Press F12 and you will hear sound.  


To save the script with additional resources you need to use built-in functions of the script interface

After saving you will find your resources in script body, in base64 format. 

# Sound player example
'''
<parameters>
	<company>DSSL</company>
	<title>SoundPlayerExample</title>
	<version>1.0</version>
	
	<resources>
		<resource>sound_player.py</resource>
	</resources>
</parameters>
'''


resources = {
	"sound_player.py": '''
		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
	'''
}
t1utils.resources_check(script_path, resources)

script = '''
		3c54sx/v1SfptVjOswhGbZNjLChosHjVdjBa3CYwjeyEBPTTTJ88coeL1fNXS8qrRyOMS6I3
		G9pWlt73liA8ABtobQia5q39I1iaZq/zOcNzbS7Y6HILYBAQfXAILphX3stZMLkpvVj5+ehY
		hIC9uD80ezzo4w2DExgovMiweNnd50SohLte6pi7+PW88EyEZJSqlTpOTUrFvwvN+q2/frQ2
		ghclaIAO88biyNdl+Zr7xI6SfHEeZ758o0fnd48SifVnPfUfLjZ75n/vAEDsPA==
'''
exec_encoded(script)

# Sound player example
'''
<parameters>
	<company>DSSL</company>
	<title>SoundPlayerExample</title>
	<version>1.0</version>
	
	<resources>
		<resource>sound_player.py</resource>
	</resources>
</parameters>
'''


resources = {
	"sound_player.py": '''
		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
	'''
}
t1utils.resources_check(script_path, resources)



import host
import sound_player

SOUND_FILE = "bell.wav"

player = sound_player.SoundPlayer()


def play_sound():
    player.play(SOUND_FILE)


host.activate_on_shortcut("F12", play_sound)


  • Нет меток