View Single Post
Old 02-01-2015, 04:22 PM   #1
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 28,603
Karma: 204624552
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Sample Plugins demonstrating retrieving/saving preferences

Because storing preferences can be important for a Plugin, I have designed a new python launcher preferences class and integrated it right into the *container classes, so persistent preferences storage is easily available for all plugins.

To illustrate how to create and use these settings, I've designed two simple plugins that demonstrate how the interface should be used.

See the attached "PrefsExampleGroups_v0.0.2.zip" and "PrefsExampleSimple_v0.0.2.zip".

Important
In order to use this new preferences interface, you will need to be using Sigil v0.8.3 or greater.

Install them, use them, and inspect the code in plugin.py

In a nutshell:

From within the run method of plugin.py
Code:
# Get preferences from json file  
prefs = bk.getPrefs() # a dictionary
Code:
# Set some defaults (used only when no preferences exist yet--like first run).
prefs.defaults['lastDir'] = os.path.expanduser('~')
prefs.defaults['lastFile'] = ''
Code:
# Use a preference variable
print ('Last directory opened = ', prefs['lastDir'])
Code:
# Set/change preference variable
prefs['lastDir'] = os.path.dirname(inpath)
Code:
# Save prefs back to json file
bk.savePrefs(prefs)
Attached Files
File Type: zip PrefsExampleSimple_v0.0.2.zip (1.6 KB, 1229 views)
File Type: zip PrefsExampleGroups_v0.0.2.zip (2.0 KB, 1269 views)

Last edited by DiapDealer; 02-01-2015 at 08:16 PM.
DiapDealer is online now   Reply With Quote