This repository has been archived by the owner on Jun 25, 2022. It is now read-only.
Releases: pathmann/pyTSon
Releases · pathmann/pyTSon
pyTSon 1.2.3 for TS3 >=3.1 (apiVersion >=21)
Changelog
New Features:
- Testing: Standard stream encoding (eg. sys.stdout) is utf-8 now (this change should only affect Windows, it's default on all other platforms since the beginning)
- Callbackproxies can now affect the global return value (if the callback has one)
- Exceptions (in plugin callbacks) are now printed to verbose log
- Added convenience function getConnectionVariable in ts3lib module
- SSL support is now statically linked (on Unix systems)
Bugfixes:
- Under specific circumstances a plugin with hotkeys could not be deactivated
- Some lists coming from the C SDK were not correctly converted to a pythonlist
- Emoticon settings from Iconpacks are now loaded with utf-8 encoding
- ts3lib.getChannelIDFromChannelNames works now as expected
- Iconpacks with duplicate entries are now loaded correctly
- There was a typo in getClientVariable
- Fixed some false documentation
pyTSon 1.2.2 for TS3 >=3.1 (apiVersion >=21)
Changelog
New Features:
- pytsonui.setupUi can now take a new keyword argument extraWidgets with python implemented widgets to be used in ui files
- ts3widgets.Serverview is now constructable by setupUi (schid parameter is now a keyword argument)
- added some convenience functions to query variables (getChannelVariable, getClientVariable, getClientSelfVariable, getServerVariable) which will choose (in most cases) the right ctype function
- plugincommands have now sender integrity builtin pyTSon (see _plugincmd.py for limitations and additional documentation)
Bugfixes:
- ts3widgets.ServerviewModel will now react to kicked clients accordingly
- Fixed a possible crash in initHotkeys
- Adopted the variable handling of the plugin sdk's function requestClientSetWhisperList
- Fixed a crash if some initial imports on pyTSon's initiation failed
pyTSon 1.2.1 for TS3 >=3.1 (apiVersion >=21)
Changelog:
New Features:
- pytsonui.setupUi will now center obj to its parent (if it has one)
Bugfixes:
- Fixed bundling of files (settings are accessible again)
- Some small bugfixes
- pythonqt_app: fixed string allocation of pathes
pyTSon 1.2.0 for TS3 >=3.1 (apiVersion >=21)
EDIT: There was a bug in the bundle script which made the config ui inaccessible. If you already downloaded the release, pls redownload the one attached here.
Changelog:
New Features:
- Added functions getVersion and getCurrentApiVersion to module pytson to query the current versions
- Added callbackproxies to register classes to receive ts3 events outside ts3plugin objects
- ts3plugin and PluginHost live now in different modules
- Added ServerCache class to module ts3client to use the client's cached icons
- Added CountryFlags class to module ts3client to use the client's flag icons
- Added package ts3widgets
- Added module serverview to ts3widgets to display a channel-client-tree with QWidgets
- Added module filetransfer to ts3widgets to display a filebrowser and filetransfer dialogs with QWidgets
- Added simple signal-slot implementation with module signalslot
- Added module PythonQt.pytson
- Added EventFilterObject to PythonQt.pytson to use Qt's eventfilter system
- Events called from another thread than the mainthread are now called asynchronous (from the mainthread) in pyTSon (this should make pyTSon alot more stable)
- Re-added onUserLoggingMessageEvent
- Re-added onFileTransferStatusEvent
- pytsonui is now a package
- all python code is now conform to PEP8 (with small exceptions :) )
- pyTSon is now translatable
- Added a german translation
- Added pytson.tr and pytson.Translatable as translate function resp. baseclass
- plugin authors might use pylupdate.py to extract translatable strings from uifiles and python code
- Users now may activate verbose logging
- Users now may manage sitepackages in the include directory in the settings dialog
- Added some rare constants from the original pluginsdk to ts3defines module
- functions in pytsonui now accept a new parameter pluginicons (see the docs for more information)
- pytsonui.setupUi can now load the original designed class of a Qt Designer file
- pytsonui.retrieveAllWidgets will now load QButtonGroup and QAction as well
- Created pythonqt_app to allow testing PythonQt uis. pythonqt_app is a standalone app emulating pyTSon's environment.
- Repository URLs can now have redirects
- Repository plugins can now be extracted from a subdirectory in a zipped file
Bugfixes:
- Unicode strings are now handled correctly in infoData
- infoData is now only called on plugins, if the method exists
- if infoData returns None, it is ignored now
- menuitems are now sorted by their plugins names
- functions of the ts3lib module returning a tuple containing the errorcode and some value, now return None as value on error
- Fixed the internal conversion of bookmarklists, so ts3lib.getBookmarkList should work now
- Emoticons of non-zipped Iconpacks in ts3client.IconPack are now loaded correctly
- pytsonui.retrieveAllWidgets now ignores the subwidgets of combined widgets (like QSpinBox)
- the scripting console does not use wordwrapping anymore, which should fix some odd behaviour
- python caches are not bundled anymore
- Fixed a bug where installation of plugins without dependencies from a repository was not possible
- Fixed some bugs in PythonQt around QAbstractItemModel
- Various updates to the documentation
- Various small bugfixes
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
pyTSon 1.0.5 for TS3 3.1 (apiVersion 21)
Changelog:
- removed onUserLoggingMessageEvent, onFileTransferStatusEvent (they are called from another thread, so this will help stabilizing pyTSon)
- requestAutoload is now required for all plugins to be loaded
- added a ts3help module which inculdes a help(obj) function, which displays help information on obj, especially if obj is a ts3 function
- you can now check in your ts3 client, if there is a newer release on my github release page
- pytsonui.setupUi can now handle all childwidgets (instead of passing a list of tuples), check the docstring for more information
- pytsonui functions are now in pyTSon's documentation
- reworked configdialog (switched to a grid layout)
- added an ipcplugin to communicate with other applications
- ScriptingConsole:
- tabcompletion works now with other splitting characters than just spaces
- you can now specify a startup script
- the buttons in settingsdialog should now be colorized correctly
And many other minor changes.
pyTSon 1.0.4 for TS3 3.1 (apiVersion 21)
Changelog:
- added some example plugins (see the scripts directory)
- empty infoData will be ignored from now on, you should set infoTitle to None, if your script does not show any infoData
- all python plugin code is now wrapped in try-except-blocks (exceptions in clientlog)
- added pytsonui.getValues as convenience function to add simple configdialogs (recommended way is still to create dialogclasses)
- hotkeys and menuitems are now reloaded, if the python plugin or all python plugins are reloaded
- plugins are now reloaded, even if they offer a menuitem and/or hotkey
- quintptr is now registered as metatype (eg. for use with internalIDs in QAbstractItemModels)
- QAbstractItemModel/QModelIndex can now contain QObject-based objects as internalPointer (classic Qt type is void*)
- bundle contains docs as pdf now
EDIT: Reuploaded windows releases, just fixed escaping in package.ini
pyTSon 1.0.3 for TS3 3.1 (apiVersion 21)
Changelog:
- Removed callbacks ts3plugin_onCustom3dRolloffCalculationWaveEvent and ts3plugin_onCustom3dRolloffCalculationClientEvent (as long as pyTSon can't handle callbacks from other threads than the main one)
- Configuration window now raises, if already exist and clicked again in menu
pyTSon 1.0.2 for TS3 3.1 (apiVersion 21)
Changelog:
- Added a mac build
- Updated to api version 21 (Client Version 3.1 beta)
- Updated to Qt 5.6.1 (but only Core, Gui, Widgets, Network, Sql and UITools modules are wrapped, more to come later)
- On Linux and Mac, the python lib is loaded from the plugin directory (on Windows, you still have to move the lib to the client install root)
- include/Lib has now a architecture suffix on Linux and Windows (this is necessary, if you have both client architectures installed)
- Fixed pos1/home key button in scripting console
- Fixed a false indentation on tabcomplete in scripting console
- Added function ts3.getPluginID (there are no real use-cases for this, because the plugin id is not needed to call api functions from python, it's always added by default in the C backend)
pyTSon 1.0.1 for TS3 ~3.0.19.* (apiVersion 20)
Changelog:
- python is now linked shared
- using python 3.5.2
- infoData will now work as intended
- the settingsbutton will now be enabled/disabled accordingly
- after reloading, all previously running plugins are started again
- plugins are sorted by name in configdialog
- menus and hotkeys are working now
- fixed a crash, when configdialog and/or shell are opened while reloading pyTSon
- and some other minor fixes
ATTENTION:
You need to delete the directory <TeamSpeak 3 client install dir>/plugins/pyTSon/include/Lib