source: Dev/trunk/d3/lib/env-js/envjs/spydermonkey.py @ 76

Last change on this file since 76 was 76, checked in by fpvanagthoven, 14 years ago

d3

File size: 1.2 KB
Line 
1import spidermonkey
2import threading
3import platform
4import httplib
5import time
6import sys
7import os
8
9runtime = spidermonkey.Runtime()
10context = runtime.new_context()
11lock = threading.Lock()
12       
13def load(filename):
14    script = ''
15    f = open(filename, 'r')
16    script = f.read()
17    context.execute(script)
18   
19def _print(string):
20    print string   
21   
22def _open(url, mode):
23    return open(url, mode)
24
25def _exit():
26        return os._exit(1)
27       
28def new_global():
29        nc = runtime.new_context()
30        configure_context(nc)
31        return nc.execute('''
32                this.execute = global.execute;
33                this;
34        ''')
35
36def configure_context(context): 
37        context.add_global('os', os)
38        context.add_global('sys', sys)
39        context.add_global('time', time)
40        context.add_global('$lock', lock);
41        context.add_global('exit', _exit)
42        context.add_global('fopen', _open)
43        context.add_global('print', _print)
44        context.add_global('httplib', httplib)
45        context.add_global('platform', platform)
46        context.add_global('threading', threading)
47        context.add_global('global', context)
48        context.add_global('runtime', runtime)
49        context.add_global('new_global', new_global)
50
51configure_context(context)
52 
53if __name__=='__main__':
54    argv = sys.argv
55    if os.path.isfile( argv[1] ):
56        load(argv[1])
Note: See TracBrowser for help on using the repository browser.