Commit Graph

92 Commits

Author SHA1 Message Date
Alexey Sokolov
ff755b8812 Modpython: support OnLoginAttempt.
So python part of #98 is completed.
2012-07-28 11:31:36 +07:00
Alexey Sokolov
ac1b183583 Modpython: MCString as a normal dict-like object.
See github issue #93
2012-07-28 02:57:31 +07:00
Alexey Sokolov
219e6a97ce Support OnClientCapLs in modpython #98 2012-07-28 01:37:58 +07:00
Alexey Sokolov
5e711011c5 Support OnGetAvailableMods in python. #98
Currently this needs patched SWIG.
Upstream version crashes ZNC.
Hopefully they'll apply my patches upstream soon...
As for now, working modpython tarball is available at
http://people.znc.in/~darthgandalf/znc/modpython/
2012-07-27 01:02:04 +07:00
Alexey Sokolov
85252f2f5b Protect CreatePyModule from CModule* 2012-07-26 20:53:17 +07:00
Alexey Sokolov
62c9ac1a0b using in headers is evil :( 2012-07-26 20:46:11 +07:00
Alexey Sokolov
03b5d815ee Ups, remove unfinished function from modpython for now.
See #98
2012-07-22 21:25:25 +07:00
Alexey Sokolov
5656e14aa2 Progress on modpython global hooks.
OnModuleLoading, OnModuleUnloading, OnGetModInfo work fine.
Need to add: OnClientCapLs, OnGetAvailableMods, OnLoginAttempt

See #98
2012-07-22 18:27:07 +07:00
Alexey Sokolov
a131127770 Show commit id in version for git builds. 2012-07-21 23:27:53 +07:00
Torsten Landschoff
4ca8b50e45 Fix building modpython with swig #174 2012-05-30 09:49:42 +01:00
Kyle Fuller
9b219289a6 Python: Override __eq__ to allow comparison of strings
Closes #135
2012-02-28 18:08:57 +00:00
Kyle Fuller
9d7c0d050b python: Allow iterating over CModules
Closes #137
2012-02-28 18:05:49 +00:00
Kyle Fuller
f4c2f911ae modpython: Remove some global module hooks which won't work
OnLoginAttempt
    OnClientCapLs
    OnGetAvailableMods
2012-02-28 15:51:16 +00:00
Kyle Fuller
5995fc530e Remove references to CAres from mod{python,perl} 2012-02-28 14:16:53 +00:00
Kyle Fuller
961e3a81c6 modpython: Support global module hooks #98
The commit doesn't add support for the following module hooks:

    void OnClientCapLs(CClient* pClient, SCString& ssCaps)
    EModRet OnLoginAttempt(CSmartPtr<CAuthBase> Auth)

The reason for this is they do not currently work with codegen.pl
2012-02-26 15:03:25 +00:00
Alexey Sokolov
259be0c174 Fix compilation of modpython.
After previous commit compiler.cpp depends on python headers, because it
includes them. Therefore g++ tries to write a depend file about them.
If there's no such dir .depend yet, it'll fail.

Thanks to SilverLeo for noticing this.
2012-02-05 23:50:49 +07:00
Alexey Sokolov
be81853b24 Depend on changes of headers too, not only sources. 2012-02-05 17:24:14 +07:00
Alexey Sokolov
f374874b1a Fix several issues in modpython.
1. In several cases CString wasn't handled properly.
2. Some container-like object didn't return from functions properly.
3. Buffer.h was missing
2012-01-02 14:40:50 +07:00
Alexey Sokolov
13bfec0809 Python and Perl should know that off_t is integer type. 2012-01-02 02:44:09 +07:00
Alexey Sokolov
78c6b1edd2 Fix moddata path for python modules.
How did it ever work before? ><
2012-01-01 22:04:22 +07:00
Alexey Sokolov
a0cd9d4cee Merge branch 'master' of github.com:znc/znc 2012-01-01 16:59:36 +07:00
Alexey Sokolov
c8a4668bbf Unload all python modules when modpython is unloaded.
Only user modules were unloaded before.
2012-01-01 16:46:21 +07:00
Un1matr1x
73270ff023 Welcome in 2012 2012-01-01 09:30:19 +01:00
Alexey Sokolov
6443563bd5 Python modules are network mods by default. 2011-12-29 18:58:46 +07:00
Alexey Sokolov
3fd0429e1e Python: Use znc.Socket if no socket class is specified in CreateSocket()
Thanks to Azelphur for giving this idea.
2011-11-19 11:47:47 +07:00
Uli Schlachter
962c10795d Disable some more warnings on mod{perl,python}
It seems to me like swig is trying to trigger every warning that exists...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-10-30 13:37:11 +01:00
Alexey Sokolov
c00ad1a2ff Ups, forgot to change message for python compiler. 2011-10-30 02:21:11 +07:00
Alexey Sokolov
f4097e6fd5 Separate compilation and linking for modules.
To gain more benefits from distcc.
2011-10-30 02:15:26 +07:00
Alexey Sokolov
e354c24ac1 Move ZNC headers into own directory.
Yes, this breaks backwards compatibility, so what?
It's already broken with network stuff anyway.
2011-09-23 03:31:58 +07:00
Alexey Sokolov
508ca27a4c Move CConfigEntry out of CConfig.
This exposes CConfigEntry to SWIG, and therefore to modperl/modpython.
2011-09-07 02:09:40 +07:00
Kyle Fuller
b75e0b71ae modpython: Supress "Nested struct not currently supported (ignored)." warnings from 2011-09-05 21:39:59 +00:00
Kyle Fuller
12d1a5a422 modpython: Show (module/__init__.py) in listavailmods 2011-09-05 17:38:37 +00:00
Alexey Sokolov
5e73af632a Install .py files along with .pyc 2011-09-01 02:55:13 +07:00
Kyle Fuller
d14528b59e Allow loading python modules with modpython (ex. modname/__init__.py)
Fixes #58
2011-08-31 17:26:04 +00:00
Kyle Fuller
e70b6854a3 Fix modp{erl,ython}, these modules should set a "default" module type for its submodules
These modules were broken by d48ae679c4
2011-08-30 20:50:06 +00:00
Kyle Fuller
260421e6e8 Make modpython support network modules 2011-08-25 21:17:28 +01:00
Alexey Sokolov
fca0d83de8 Fix modpython about renaming EModuleType. 2011-08-22 00:55:45 +07:00
Uli Schlachter
80c76c97a6 Remove GLOBALMODCONSTRUCTOR
MODCONSTRUCTOR does that job just fine (now).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-08-21 18:01:58 +02:00
Alexey Sokolov
c2cc57cbf4 Fix compilation of modpython. 2011-08-21 21:51:28 +07:00
Uli Schlachter
cce40e9f71 Move the EModuleType into CModInfo
This also renames the values to shorter and more "well sounding" names.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-08-21 16:30:36 +02:00
Kyle Fuller
f44f307b24 Add a config writer 2011-08-21 13:40:14 +01:00
Kyle Fuller
274d3eb2ec Make modpython support different module types 2011-08-21 13:34:23 +01:00
Alexey Sokolov
9e33e4bf59 Fix dependencies between modpython parts. 2011-08-21 13:34:23 +01:00
Alexey Sokolov
289cfa5eff Fix enum handling in modpython callbacks params. 2011-08-21 13:34:23 +01:00
Kyle Fuller
b2d8f2ed62 Add CModInfo::SupportsType(EModuleType) and supply a module type with CModules::LoadModule
This would allow a module support multiple module types but CModule's do
not support this currently
2011-08-21 13:34:23 +01:00
Alexey Sokolov
0c9eae226e Fix global python modules. 2011-08-21 13:34:23 +01:00
Kyle Fuller
c456d20b21 Merge CGlobalModule(s) into CModule(s) 2011-08-21 13:34:22 +01:00
Kyle Fuller
a4b155995c Create EModuleType, creating SetType which replaces SetGlobal 2011-08-21 13:34:22 +01:00
Uli Schlachter
8f53d3fbb0 Fix modp{erl,ython} installation
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-08-06 10:43:39 +02:00
Alexey Sokolov
ea58912093 Hide every symbol except ZNCModInfo from modules.
This means that now it's possible to have the same class names in
different modules, which reduces chances of weird errors.

Thanks to mclc for noticing this.
2011-07-15 22:56:47 +07:00