/usr/lib/python2.7/dist-packages/pyst-0.6.50.egg-info is in python-pyst 0.6.50-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | Metadata-Version: 1.1
Name: pyst
Version: 0.6.50
Summary: A Python Interface to Asterisk
Home-page: http://www.sourceforge.net/projects/pyst/
Author: Ralf Schlatterbeck
Author-email: rsc@runtux.com
License: Python Software Foundation License, GNU Library or Lesser General Public License (LGPL)
Download-URL: http://downloads.sourceforge.net/project/pyst/pyst/0.6.50/pyst-0.6.50.tar.gz
Description:
pyst: A Python Interface to Asterisk
====================================
Pyst consists of a set of interfaces and libraries to allow programming of
Asterisk from python. The library currently supports AGI, AMI, and the parsing
of Asterisk configuration files. The library also includes debugging facilities
for AGI.
A note on maintenance and forks:
The current maintainer is Ralf Schlatterbeck. I've contacted maintainers
of forks to try to join forces. For any questions, please contact me via
rsc@runtux.com or my sourceforge user.
Download from `Sourceforge project page`_.
.. _`Sourceforge project page`: http://sourceforge.net/projects/pyst/
Installation is the standard python install::
tar xvf pyst.tar.gz
cd pyst
python setup.py install --prefix=/usr/local
Documentation is currently only in python docstrings, you can use
pythons built-in help facility::
import asterisk
help (asterisk)
import asterisk.agi
help (asterisk.agi)
import asterisk.manager
help (asterisk.manager)
import asterisk.config
help (asterisk.config)
Some notes on platforms: We now specify "platforms = 'Any'" in
``setup.py``. This means, the manager part of the package will probably
run on any platform. The agi scripts on the other hand are called
directly on the host where Asterisk is running. Since Asterisk doesn't
run on windows platforms (and probably never will) the agi part of the
package can only be run on Asterisk platforms.
Credits
-------
Thanks to Karl Putland for writing the original package.
Thanks to Matthew Nicholson for maintaining the package for some years
and for handing over maintenance when he was no longer interested.
Thanks also to the people in the sourceforge project and those who just
report bugs:
Antoine Brenner,
Max Nesterov,
Sven Uebelacker
... and to unnamed contributors to earlier releases.
Things to do for pyst
---------------------
This is the original changelog merged into the readme file. I'm not so
sure I really want to change all these things (in particular the
threaded implementation looks good to me). I will maintain a section
summarizing the changes in this README, the ChangeLog won't be
maintained any longer. Detailed changes will be available in the version
control tool (currently svn).
* ChangeLog:
The ChangeLog needs to be updated from the monotone logs.
* Documentation:
All of pyst's inline documentation needs to be updated.
* manager.py:
This should be converted to be single threaded. Also there is a race
condition when a user calls manager.logoff() followed by
manager.close(). The close() function may still call logoff again if
the socket thread has not yet cleared the _connected flag.
A class should be made for each manager action rather than having a
function in a manager class. The manager class should be adapted to
have a send method that know the general format of the classes.
Matthew Nicholson writes on the mailinglist (note that I'm not sure I'll do
this, I'm currently satisfied with the threaded implementation):
For pyst 0.3 I am planning to clean up the manager.py. There are
several know issues with the code. No one has actually reported these
as problems, but I have personally had trouble with these. Currently
manager.py runs in several threads, the main program thread, a thread to
read from the network, and an event distribution thread. This causes
problems with non thread safe code such as the MySQLdb libraries. This
design also causes problems when an event handler throws an exception
that causes the event processing thread to terminate.
The second problem is with the way actions are sent. Each action has a
specific function associated with it in the manager object that takes
all possible arguments that may ever be passed to that action. This
makes the api somewhat rigid and the Manager object cluttered.
To solve these problems I am basically going to copy the design of my
Astxx manager library (written in c++) and make it more python like.
Each action will be a different object with certain methods to handle
various tasks, with one function in the actual Manager class to send the
action. This will make the Manager class much smaller and much more
flexible. The current code will be consolidated into a single threaded
design with hooks to have the library process events and such. These
hooks will be called from the host application's main loop.
Upgrading from older versions
-----------------------------
If upgrading from...
* 0.2:
- ``get_header()`` methods in ``manager.py`` now work like
``dict.get()`` instead of ``dict[key]``
* 0.1.0:
- ``agi.get_variable`` no longer throws an exception, instead it
returns an empty string when a channel variable is not set.
- ``manager.quit()`` has be renamed to ``manager.close()``
Source Code Repository Access
-----------------------------
The current versions are kept in a Subversion repository on Sourceforge.
You can check out the trunk with::
svn co svn://svn.code.sf.net/p/pyst/svn/pyst/trunk pyst
There is also a 0.2 branch in::
svn://svn.code.sf.net/p/pyst/svn/pyst/branches/0.2
which contains unreleased changes after 0.2 (which have been merged into
trunk *after* changing how manager commands to asterisk are parsed).
Released versions are in::
https://pyst.svn.sourceforge.net/svnroot/pyst/pyst/tags
For versions prior to the 0.2 release when Matthew Nicholson was
maintaining pyst, the changes are kept in a `monotone`_ repository
(monotone is a free distributed version control system). Please contact
Matthew via Sourceforge if you're interested in intermediate versions.
.. _`monotone`: http://monotone.ca/
prior to that the sources are in the CVS repository on sourceforge.
Changes
-------
Version 0.6: Minor feature enhancements
The asterisk management interface emulator asterisk/astemu now can be
used for unit-tests of applications using asterisk.manager. We're using
this in the regression test (see test directory). But this way it is
usable by others.
- Factor asterisk emulator from regression test into own module
Version 0.5: Small install change
Fix setup.py to include download_url. This makes it installable using
intall tools like pip.
- Add download_url to setup.py
- Fix svn url after SourceForge upgrade
Version 0.4: Minor feature enhancements
Small feature extensions to AGI and Manager modules. Add a regression
test which now covers some aspects of the manager API.
- Handle events with several fields with the same name (e.g. 'Variable'
in the 'AgentCalled' event. Thanks to Max Nesterov for the
suggestion, implementation differs from the suggestion in SF patch
3290869. For a use-case see the give SF patch and the regression test
case test_agent_event.
- Allow to use AGI module in FastAGI way via TCP connection.
This change allows you to specify the socket streams instead
sys.stdin/sys.stdout streams. Thanks to Max Nesterov for the patch.
Applies SF patch 3047290.
- Add regression test framework and some test cases for manager API.
- The generated ActionID for the manager interface now includes the
process-ID, this allows several concurrent processes using the
manager API.
Version 0.3: Minor feature enhancements
New maintainer Ralf Schlatterbeck, this is my first release, please
report any problems via the Sourceforge Bug-Tracker or email me
directly. Thanks to Karl Putland for writing the original package.
Thanks to Matthew Nicholson for maintaining the package for some years
and for handing over maintenance when he was no longer interested.
The parsing of answers from asterisk was completely rewritten. This
should fix problems people were having with commands returning embedded
'/' or empty lines. Some new manager commands added.
- Add playdtmf manager command
- add sippeers and sipshowpeer manager commands
- rewritten manager communication
- should no longer choke on '/' in answers returned from a manager
command (fixes SF Bug 2947866)
- should now correctly parse multi-line output with embedded empty
lines, e.g. ``mgr.command('dialplan show')``
- Bug-fix for list manipulation in ``event_dispatch``, thanks to Jan
Mueller, see mailinglist comment from 2008-04-18
- Merge unreleased changes from repository of Matthew Nicholson
in particular a typo in ``agi.py`` for ``set_autohangup``, and change
of ``get_header`` methods (see Upgrading instructions). The fixed
``manager.command`` support is already in (with a different
solution). The unreleased changes are also on the 0.2 branch in the
subversion repository in case somebody is interested.
See the ChangeLog for older changes.
Platform: Any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.4
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Communications :: Internet Phone
Classifier: Topic :: Communications :: Telephony
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: Python Software Foundation License
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
|