##// END OF EJS Templates
Manage and propagate argv correctly....
Manage and propagate argv correctly. All Application objects should take argv in their constructor, akin to how the standard signature of C programs is "main(int argc, char *argv)". This makes it possible to initialize them from code with different command-line options (otherwise, they end up directly accessing sys.argv[1:] via argparse).

File last commit:

r2053:75628622
r2391:1d7c11a4
Show More
tclass.py
27 lines | 657 B | text/x-python | PythonLexer
"""Simple script to instantiate a class for testing %run"""
import sys
# An external test will check that calls to f() work after %run
class foo: pass
def f():
return foo()
# We also want to ensure that while objects remain available for immediate
# access, objects from *previous* runs of the same script get collected, to
# avoid accumulating massive amounts of old references.
class C(object):
def __init__(self,name):
self.name = name
def __del__(self):
print 'tclass.py: deleting object:',self.name
try:
name = sys.argv[1]
except IndexError:
pass
else:
if name.startswith('C'):
c = C(name)