summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python_append.i
blob: e263c392b0c3125b44dcad47fe5b3ef619dc212c (plain)
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
/*
Testcase to test %pythonprepend and %pythonappend %pythoncode %pythonbegin
*/

%module python_append 

%pythoncode %{
  mypath = os.path.dirname("/a/b/c/d.txt")
  funcpath = None
  staticfuncpath = None
  def grabpath():
    return funcpath
  def grabstaticpath():
    return staticfuncpath
%}

%pythonappend Test::func %{
    funcpath = os.path.dirname(funcpath)
%}

%pythonprepend Test::func %{
        global funcpath
        funcpath = mypath
%}

%pythonappend Test::static_func %{
staticfuncpath = os.path.basename(staticfuncpath)
pass   
%}

%pythonprepend Test::static_func {
    global staticfuncpath
    staticfuncpath = mypath
    pass
}

%pythonbegin %{
import os.path
%}

%inline %{

class Test {
public:
  static void static_func() {};
  void func() {};
};

%}