This repository has been archived by the owner on Jun 25, 2022. It is now read-only.
pyTSon 1.1.0 for TS3 3.1 (apiVersion 21)
Caution: The directory structure changed, see the upgrade tips at the end!
Changelog:
- the ts3 module got renamed to ts3lib (to not clash with packages on pypi)
- users can now download plugins from online repositories within the app
- plugin developers can maintain their own repository (recommended) or merge directly into the "pyTSon master" (more infos on repositories can be found here: https://github.com/pathmann/pyTSon_repository/blob/master/README.md)
- new plugin method "menuCreated" which is called, if the menuItems were set up
- you can now decide to load menus from disabled plugins on startup, so you don't have to restart pyTSon when activating a plugin with menus
- added github octicons iconpack
- added icons to pyTSon's menuitems
- the documentation was heavily updated, check the pdf in the docs directory or https://pytson.4qt.de
- plugins are no longer restricted to consist of only one file, instead every plugin should be a python package in pyTSon/scripts (if your plugin is one file: create a directory, move your script into it and rename it to init.py); repositories can contain zipfiles which will be extracted in the app on installation (if you don't use the pypi-dependency feature of the repository and you want to deliver dependencies in your package, use relative imports instead of adding your local include directory to sys.path)
- pip is now used for dependency handling
- added an interpreter (no interactive mode)
- Plugin infrastructure overhauled:
- the python standard library is now located in pyTSon/lib/python3.5
- pyTSon/include can be seen as a local sitepack dir
- plugins are now python packages in pyTSon/scripts (each plugin in a subdirectory)
- interpreter python(.exe) added in pyTSon/ (won't run from other directory!)
- added a simple api to query the TeamSpeak 3 client's settings database with ts3client.Config
- added api to work with IconPacks with ts3client.IconPack
- setupUi (and others) will now load icons from an iconpack if widgets contain a dynamic string property called 'pytsonicon' containing the variable to the icon in the iconpack, instead you can use a string like "octicons:filename.png" which sets filename.png from the bundled octicons pack as icon
- config moved to subdirectory ~/.ts3client/pyTSon; if plugins use configfiles, they should also use this directory (you can use python.getConfigPath("myconfigname.conf"), which will join the pathes accordingly)
- added convenience functions getConfigPath and getPluginPath (in module pytson) which work like os.path.join with the specific ts3 path prefixed before
- users can now remove plugins within the ui of the app
- if a new version (of the python standard library) is installed, the old one will be removed automatically
- as a result of the above, it is not longer supported to have multiple releases installed (for multiple architectures)
- the example scripts are no longer contained in the install package but can be pulled from the "pyTSon master" repository
- pytsonui.getValues is dropped, plugin developers need to create their own dialog classes
- it's no longer supported to run two architecture versions of pyTSon simultaneously (on Linux and Windows, if your plugins are installed to your home/appdata directory
And many other minor changes.
Upgrade tips (adapt the pathes depending on your platform):
- backup everything in ~/.ts3client/plugins/pyTSon/scripts (except ts3plugin.py)
- backup your config files, at last pyTSon's config in ~/.ts3client/pyTSon.conf
- wipe everything in ~/.ts3client/plugins/pyTSon
- install release 1.1.0
- copy the config file(s) to ~/.ts3client/pyTSon (mkdir first or start the client once and close again)
- create a directory for each of your scripts under ~/.ts3client/plugins/pyTSon/scripts, move each script in their subdirectory and rename them to init.py or do other pythonic package management