Merged revisions 62021,62029,62035-62038,62043-62044,62052-62053 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r62021 | benjamin.peterson | 2008-03-28 18:11:01 -0500 (Fri, 28 Mar 2008) | 2 lines

  NIL => NULL
........
  r62029 | amaury.forgeotdarc | 2008-03-28 20:42:31 -0500 (Fri, 28 Mar 2008) | 3 lines

  Correctly call the base class tearDown();
  otherwise running test_logging twice produce the errors we see on all buildbots
........
  r62035 | raymond.hettinger | 2008-03-29 05:42:07 -0500 (Sat, 29 Mar 2008) | 1 line

  Be explicit about what efficient means.
........
  r62036 | georg.brandl | 2008-03-29 06:46:18 -0500 (Sat, 29 Mar 2008) | 2 lines

  Fix capitalization.
........
  r62037 | amaury.forgeotdarc | 2008-03-29 07:42:54 -0500 (Sat, 29 Mar 2008) | 5 lines

  lib2to3 should install a logging handler only when run as a main program,
  not when used as a library.

  This may please the buildbots, which fail when test_lib2to3 is run before test_logging.
........
  r62043 | benjamin.peterson | 2008-03-29 10:24:25 -0500 (Sat, 29 Mar 2008) | 3 lines

  #2503 make singletons compared with "is" not == or !=
  Thanks to Wummel for the patch
........
  r62044 | gerhard.haering | 2008-03-29 14:11:52 -0500 (Sat, 29 Mar 2008) | 2 lines

  Documented the lastrowid attribute.
........
  r62052 | benjamin.peterson | 2008-03-30 14:35:10 -0500 (Sun, 30 Mar 2008) | 2 lines

  Updated README regarding doc formats
........
  r62053 | georg.brandl | 2008-03-30 14:41:39 -0500 (Sun, 30 Mar 2008) | 2 lines

  The other download formats will be available for 2.6 too.
........
This commit is contained in:
Benjamin Peterson 2008-03-31 01:51:45 +00:00
parent 7315bad3c4
commit 2a691a8149
59 changed files with 175 additions and 155 deletions

View file

@ -50,7 +50,7 @@ def test():
value = d[key]
print('currently:', value)
value = eval(input('value: '))
if value == None:
if value is None:
del d[key]
else:
d[key] = value

View file

@ -9,7 +9,7 @@
from curses import panel
def wGetchar(win = None):
if win == None: win = stdscr
if win is None: win = stdscr
return win.getch()
def Getchar():

View file

@ -100,7 +100,7 @@ def bindsocket(self):
# This function is called to cough up a suitable
# authentication object for a call to procedure 'proc'.
def mkcred(self):
if self.cred == None:
if self.cred is None:
self.cred = rpc.AUTH_UNIX, rpc.make_auth_unix_default()
return self.cred

View file

@ -129,7 +129,7 @@ def addpackers(self):
self.unpacker = NFSUnpacker('')
def mkcred(self):
if self.cred == None:
if self.cred is None:
self.cred = rpc.AUTH_UNIX, rpc.make_auth_unix_default()
return self.cred
@ -170,7 +170,7 @@ def Listdir(self, dir):
for fileid, name, cookie in entries:
list.append((fileid, name))
last_cookie = cookie
if eof or last_cookie == None:
if eof or last_cookie is None:
break
ra = (ra[0], last_cookie, ra[2])
return list
@ -184,7 +184,7 @@ def test():
else: filesys = None
from mountclient import UDPMountClient, TCPMountClient
mcl = TCPMountClient(host)
if filesys == None:
if filesys is None:
list = mcl.Export()
for item in list:
print(item)

View file

@ -260,13 +260,13 @@ def do_call(self):
def mkcred(self):
# Override this to use more powerful credentials
if self.cred == None:
if self.cred is None:
self.cred = (AUTH_NULL, make_auth_null())
return self.cred
def mkverf(self):
# Override this to use a more powerful verifier
if self.verf == None:
if self.verf is None:
self.verf = (AUTH_NULL, make_auth_null())
return self.verf
@ -317,7 +317,7 @@ def recvrecord(sock):
def bindresvport(sock, host):
global last_resv_port_tried
FIRST, LAST = 600, 1024 # Range of ports to try
if last_resv_port_tried == None:
if last_resv_port_tried is None:
import os
last_resv_port_tried = FIRST + os.getpid() % (LAST-FIRST)
for i in range(last_resv_port_tried, LAST) + \
@ -811,7 +811,7 @@ def loop(self):
def session(self):
call, host_port = self.sock.recvfrom(8192)
reply = self.handle(call)
if reply != None:
if reply is not None:
self.sock.sendto(reply, host_port)

View file

@ -50,7 +50,7 @@ def b1up(event):
def motion(event):
if b1 == "down":
global xold, yold
if xold != None and yold != None:
if xold is not None and yold is not None:
event.widget.create_line(xold,yold,event.x,event.y,smooth=TRUE)
# here's where you draw it. smooth. neat.
xold = event.x

View file

@ -3,12 +3,12 @@
===================================================
.. module:: array
:synopsis: Efficient arrays of uniformly typed numeric values.
:synopsis: Space efficient arrays of uniformly typed numeric values.
.. index:: single: arrays
This module defines an object type which can efficiently represent an array of
This module defines an object type which can compactly represent an array of
basic values: characters, integers, floating point numbers. Arrays are sequence
types and behave very much like lists, except that the type of objects stored in
them is constrained. The type is specified at object creation time by using a

View file

@ -562,7 +562,7 @@ the refcount falls to 0; for
objects that don't contain references to other objects or heap memory
this can be the standard function free(). Both macros can be used
wherever a void expression is allowed. The argument must not be a
NIL pointer. If it may be NIL, use Py_XINCREF/Py_XDECREF instead.
NULL pointer. If it may be NULL, use Py_XINCREF/Py_XDECREF instead.
The macro _Py_NewReference(op) initialize reference counts to 1, and
in special builds (Py_REF_DEBUG, Py_TRACE_REFS) performs additional
bookkeeping appropriate to the special build.

View file

@ -135,7 +135,7 @@ def __delitem__(self, key):
def keys(self, txn=None):
if txn != None:
if txn is not None:
return self.db.keys(txn)
else:
return self.db.keys()
@ -161,7 +161,7 @@ def __repr__(self):
def items(self, txn=None):
if txn != None:
if txn is not None:
items = self.db.items(txn)
else:
items = self.db.items()
@ -172,7 +172,7 @@ def items(self, txn=None):
return newitems
def values(self, txn=None):
if txn != None:
if txn is not None:
values = self.db.values(txn)
else:
values = self.db.values()

View file

@ -366,7 +366,7 @@ def test03_SimpleCursorStuff(self, get_raises_error=0, set_raises_error=0):
else:
if set_raises_error:
self.fail("expected exception")
if n != None:
if n is not None:
self.fail("expected None: %r" % (n,))
rec = c.get_both(b'0404', self.makeData(b'0404'))
@ -380,7 +380,7 @@ def test03_SimpleCursorStuff(self, get_raises_error=0, set_raises_error=0):
else:
if get_raises_error:
self.fail("expected exception")
if n != None:
if n is not None:
self.fail("expected None: %r" % (n,))
if self.d.get_type() == db.DB_BTREE:

View file

@ -328,7 +328,7 @@ def test_Modify(self):
self.tdb.Insert(tabname, {'Type': b'Unknown', 'Access': b'0'})
def set_type(type):
if type == None:
if type is None:
return b'MP3'
return type

View file

@ -35,10 +35,9 @@ class AutoComplete:
"popupwait", type="int", default=0)
def __init__(self, editwin=None):
if editwin == None: # subprocess and test
self.editwin = None
return
self.editwin = editwin
if editwin is None: # subprocess and test
return
self.text = editwin.text
self.autocompletewindow = None

View file

@ -922,7 +922,7 @@ def close(self):
"The program is still running!\n Do you want to kill it?",
default="ok",
parent=self.text)
if response == False:
if response is False:
return "cancel"
if self.reading:
self.top.quit()

View file

@ -187,7 +187,7 @@ def __init__(self, master=None, value=None, name=None):
else:
self._name = 'PY_VAR' + repr(_varnum)
_varnum += 1
if value != None:
if value is not None:
self.set(value)
elif not self._tk.call("info", "exists", self._name):
self.set(self._default)

View file

@ -749,25 +749,25 @@ def setup(**geometry):
global _width, _height, _startx, _starty
width = geometry.get('width',_width)
if width is None or width >= 0:
if width >= 0 or width is None:
_width = width
else:
raise ValueError("width can not be less than 0")
height = geometry.get('height',_height)
if height is None or height >= 0:
if height >= 0 or height is None:
_height = height
else:
raise ValueError("height can not be less than 0")
startx = geometry.get('startx', _startx)
if startx is None or startx >= 0:
if startx >= 0 or startx is None:
_startx = _startx
else:
raise ValueError("startx can not be less than 0")
starty = geometry.get('starty', _starty)
if starty is None or starty >= 0:
if starty >= 0 or starty is None:
_starty = starty
else:
raise ValueError("startx can not be less than 0")

View file

@ -28,15 +28,6 @@
from . import fixes
from . import pygram
if sys.version_info < (2, 4):
hdlr = logging.StreamHandler()
fmt = logging.Formatter('%(name)s: %(message)s')
hdlr.setFormatter(fmt)
logging.root.addHandler(hdlr)
else:
logging.basicConfig(format='%(name)s: %(message)s', level=logging.INFO)
def main(args=None):
"""Main program.
@ -73,6 +64,15 @@ def main(args=None):
print("Use --help to show usage.", file=sys.stderr)
return 2
# Set up logging handler
if sys.version_info < (2, 4):
hdlr = logging.StreamHandler()
fmt = logging.Formatter('%(name)s: %(message)s')
hdlr.setFormatter(fmt)
logging.root.addHandler(hdlr)
else:
logging.basicConfig(format='%(name)s: %(message)s', level=logging.INFO)
# Initialize the refactoring tool
rt = RefactoringTool(options)

View file

@ -78,7 +78,7 @@ def Message(msg, id=260, ok=None):
return
h = d.GetDialogItemAsControl(2)
SetDialogItemText(h, lf2cr(msg))
if ok != None:
if ok is not None:
h = d.GetDialogItemAsControl(1)
h.SetControlTitle(ok)
d.SetDialogDefaultItem(1)
@ -115,10 +115,10 @@ def AskString(prompt, default = "", id=261, ok=None, cancel=None):
SetDialogItemText(h, lf2cr(default))
d.SelectDialogItemText(4, 0, 999)
# d.SetDialogItem(4, 0, 255)
if ok != None:
if ok is not None:
h = d.GetDialogItemAsControl(1)
h.SetControlTitle(ok)
if cancel != None:
if cancel is not None:
h = d.GetDialogItemAsControl(2)
h.SetControlTitle(cancel)
d.SetDialogDefaultItem(1)
@ -159,10 +159,10 @@ def AskPassword(prompt, default='', id=264, ok=None, cancel=None):
SetControlData(pwd, kControlEditTextPart, kControlEditTextPasswordTag, default)
d.SelectDialogItemText(4, 0, 999)
Ctl.SetKeyboardFocus(d.GetDialogWindow(), pwd, kControlEditTextPart)
if ok != None:
if ok is not None:
h = d.GetDialogItemAsControl(1)
h.SetControlTitle(ok)
if cancel != None:
if cancel is not None:
h = d.GetDialogItemAsControl(2)
h.SetControlTitle(cancel)
d.SetDialogDefaultItem(Dialogs.ok)
@ -203,19 +203,19 @@ def AskYesNoCancel(question, default = 0, yes=None, no=None, cancel=None, id=262
# The question string is item 5
h = d.GetDialogItemAsControl(5)
SetDialogItemText(h, lf2cr(question))
if yes != None:
if yes is not None:
if yes == '':
d.HideDialogItem(2)
else:
h = d.GetDialogItemAsControl(2)
h.SetControlTitle(yes)
if no != None:
if no is not None:
if no == '':
d.HideDialogItem(3)
else:
h = d.GetDialogItemAsControl(3)
h.SetControlTitle(no)
if cancel != None:
if cancel is not None:
if cancel == '':
d.HideDialogItem(4)
else:
@ -316,7 +316,7 @@ def _update(self, value):
def set(self, value, max=None):
"""set(value) - Set progress bar position"""
if max != None:
if max is not None:
self.maxval = max
bar = self.d.GetDialogItemAsControl(3)
if max <= 0: # indeterminate bar

View file

@ -92,7 +92,7 @@ def windowbounds(width, height):
def setwatchcursor():
global _watch
if _watch == None:
if _watch is None:
_watch = GetCursor(4).data
SetCursor(_watch)
@ -129,7 +129,7 @@ def makeusermenus(self):
self._quititem = MenuItem(m, "Quit", "Q", self._quit)
def gethelpmenu(self):
if self._helpmenu == None:
if self._helpmenu is None:
self._helpmenu = HelpMenu(self.menubar)
return self._helpmenu
@ -266,7 +266,7 @@ def do_mouseDown(self, event):
else:
name = "do_%d" % partcode
if wid == None:
if wid is None:
# No window, or a non-python window
try:
handler = getattr(self, name)
@ -475,7 +475,7 @@ def close(self):
self.menus = None
def addmenu(self, title, after = 0, id=None):
if id == None:
if id is None:
id = self.getnextid()
if DEBUG: print('Newmenu', title, id) # XXXX
m = NewMenu(id, title)
@ -907,8 +907,8 @@ def scrollbars(self, wantx=1, wanty=1):
self.barx_enabled = self.bary_enabled = 1
x0, y0, x1, y1 = self.wid.GetWindowPort().GetPortBounds()
vx, vy = self.getscrollbarvalues()
if vx == None: self.barx_enabled, vx = 0, 0
if vy == None: self.bary_enabled, vy = 0, 0
if vx is None: self.barx_enabled, vx = 0, 0
if vy is None: self.bary_enabled, vy = 0, 0
if wantx:
rect = x0-1, y1-(SCROLLBARWIDTH-1), x1-(SCROLLBARWIDTH-2), y1+1
self.barx = NewControl(self.wid, rect, "", 1, vx, 0, 32767, 16, 0)
@ -1007,7 +1007,7 @@ def updatescrollbars(self):
SetPort(self.wid)
vx, vy = self.getscrollbarvalues()
if self.barx:
if vx == None:
if vx is None:
self.barx.HiliteControl(255)
self.barx_enabled = 0
else:
@ -1017,7 +1017,7 @@ def updatescrollbars(self):
self.barx.HiliteControl(0)
self.barx.SetControlValue(vx)
if self.bary:
if vy == None:
if vy is None:
self.bary.HiliteControl(255)
self.bary_enabled = 0
else:

View file

@ -159,7 +159,7 @@ def callback_wrapper(self, _request, _reply):
#Same try/except comment as above
rv = _function(**_parameters)
if rv == None:
if rv is None:
aetools.packevent(_reply, {})
else:
aetools.packevent(_reply, {'----':rv})

View file

@ -147,9 +147,9 @@ def blit(self, x1=0,y1=0,x2=None,y2=None, port=None):
"""Draw this pixmap into the given (default current) grafport."""
src = self.bounds
dest = [x1,y1,x2,y2]
if x2 == None:
if x2 is None:
dest[2] = x1 + src[2]-src[0]
if y2 == None:
if y2 is None:
dest[3] = y1 + src[3]-src[1]
if not port: port = Qd.GetPort()
Qd.CopyBits(self.PixMap(), port.GetPortBitMapForCopyBits(), src, tuple(dest),

View file

@ -82,7 +82,7 @@ def pack(x, forcetype = None):
else:
return pack(x).AECoerceDesc(forcetype)
if x == None:
if x is None:
return AE.AECreateDesc(b'null', '')
if isinstance(x, AEDescType):

View file

@ -203,13 +203,13 @@ def process_common(template, progress, code, rsrcname, destname, is_update,
dummy, tmplowner = copyres(input, output, skiptypes, 1, progress)
Res.CloseResFile(input)
## if ownertype == None:
## if ownertype is None:
## raise BuildError, "No owner resource found in either resource file or template"
# Make sure we're manipulating the output resource file now
Res.UseResFile(output)
if ownertype == None:
if ownertype is None:
# No owner resource in the template. We have skipped the
# Python owner resource, so we have to add our own. The relevant
# bundle stuff is already included in the interpret/applet template.

View file

@ -124,7 +124,7 @@ def comment(object, comment=None):
"""comment: get or set the Finder-comment of the item, displayed in the 'Get Info' window."""
object = Carbon.File.FSRef(object)
object_alias = object.FSNewAliasMonimal()
if comment == None:
if comment is None:
return _getcomment(object_alias)
else:
return _setcomment(object_alias, comment)
@ -329,7 +329,7 @@ def label(object, index=None):
"""label: set or get the label of the item. Specify file by name or fsspec."""
object = Carbon.File.FSRef(object)
object_alias = object.FSNewAliasMinimal()
if index == None:
if index is None:
return _getlabel(object_alias)
if index < 0 or index > 7:
index = 0
@ -375,7 +375,7 @@ def windowview(folder, view=None):
"""
fsr = Carbon.File.FSRef(folder)
folder_alias = fsr.FSNewAliasMinimal()
if view == None:
if view is None:
return _getwindowview(folder_alias)
return _setwindowview(folder_alias, view)
@ -535,7 +535,7 @@ def icon(object, icondata=None):
Development opportunity: get and set the data as PICT."""
fsr = Carbon.File.FSRef(object)
object_alias = fsr.FSNewAliasMinimal()
if icondata == None:
if icondata is None:
return _geticon(object_alias)
return _seticon(object_alias, icondata)

View file

@ -770,7 +770,7 @@ def compileevent(self, event):
fp.write(" if _object:\n")
fp.write(" _arguments['----'] = _object\n")
else:
fp.write(" if _no_object != None: raise TypeError, 'No direct arg expected'\n")
fp.write(" if _no_object is not None: raise TypeError, 'No direct arg expected'\n")
fp.write("\n")
#
# Do enum-name substitution

View file

@ -198,12 +198,12 @@ def launchurl(self, url, hint=""):
self.ic.ICLaunchURL(hint, url, 0, len(url))
def parseurl(self, data, start=None, end=None, hint=""):
if start == None:
if start is None:
selStart = 0
selEnd = len(data)
else:
selStart = selEnd = start
if end != None:
if end is not None:
selEnd = end
selStart, selEnd = self.ic.ICParseURL(hint, data, selStart, selEnd, self.h)
return self.h.data, selStart, selEnd
@ -227,27 +227,27 @@ def settypecreator(self, file):
def launchurl(url, hint=""):
global _dft_ic
if _dft_ic == None: _dft_ic = IC()
if _dft_ic is None: _dft_ic = IC()
return _dft_ic.launchurl(url, hint)
def parseurl(data, start=None, end=None, hint=""):
global _dft_ic
if _dft_ic == None: _dft_ic = IC()
if _dft_ic is None: _dft_ic = IC()
return _dft_ic.parseurl(data, start, end, hint)
def mapfile(filename):
global _dft_ic
if _dft_ic == None: _dft_ic = IC()
if _dft_ic is None: _dft_ic = IC()
return _dft_ic.mapfile(filename)
def maptypecreator(type, creator, filename=""):
global _dft_ic
if _dft_ic == None: _dft_ic = IC()
if _dft_ic is None: _dft_ic = IC()
return _dft_ic.maptypecreator(type, creator, filename)
def settypecreator(file):
global _dft_ic
if _dft_ic == None: _dft_ic = IC()
if _dft_ic is None: _dft_ic = IC()
return _dft_ic.settypecreator(file)
def _test():

View file

@ -51,7 +51,7 @@ def build(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'MAKE'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -135,7 +135,8 @@ def export(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'EXPT'
aetools.keysubst(_arguments, self._argmap_export)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -154,7 +155,7 @@ def remove_object_code(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'RMOB'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -193,7 +194,7 @@ def run_target(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'RUN '
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -232,7 +233,7 @@ def update(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'UP2D'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -72,7 +72,7 @@ def Close_Project(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'ClsP'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -190,7 +190,7 @@ def Get_Open_Documents(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'GDoc'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -217,7 +217,8 @@ def Get_Preferences(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'Gref'
aetools.keysubst(_arguments, self._argmap_Get_Preferences)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -263,7 +264,7 @@ def Get_Project_Specifier(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'GetP'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -283,7 +284,7 @@ def Get_Segments(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'GSeg'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -324,7 +325,7 @@ def Get_nonsimple_classes(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'NsCl'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -410,7 +411,8 @@ def Make_Project(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'Make'
aetools.keysubst(_arguments, self._argmap_Make_Project)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -503,7 +505,7 @@ def Remove_Binaries(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'RemB'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -543,7 +545,7 @@ def Reset_File_Paths(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'ReFP'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -570,7 +572,8 @@ def Run_Project(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'RunP'
aetools.keysubst(_arguments, self._argmap_Run_Project)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -682,7 +685,8 @@ def Set_Preferences(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'Pref'
aetools.keysubst(_arguments, self._argmap_Set_Preferences)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -778,7 +782,8 @@ def Update_Project(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'UpdP'
aetools.keysubst(_arguments, self._argmap_Update_Project)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -115,7 +115,7 @@ def make(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'crel'
aetools.keysubst(_arguments, self._argmap_make)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -61,7 +61,7 @@ def quit(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'quit'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -80,7 +80,7 @@ def run(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'oapp'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -42,7 +42,7 @@ def CloseAllWindows(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'CLSA'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -69,7 +69,8 @@ def CloseWindow(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'CLOS'
aetools.keysubst(_arguments, self._argmap_CloseWindow)
if _no_object != None: raise TypeError('No direct arg expected')
if _arguments: raise TypeError('No optional args expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -110,7 +111,7 @@ def ListWindows(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'LSTW'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -20,7 +20,7 @@ def copy(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'copy'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -20,7 +20,7 @@ def restart(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'rest'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -39,7 +39,7 @@ def shut_down(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'shut'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -58,7 +58,7 @@ def sleep(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'slep'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -179,7 +179,7 @@ def make(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'crel'
aetools.keysubst(_arguments, self._argmap_make)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -285,7 +285,7 @@ def quit(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'quit'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -21,7 +21,7 @@ def Get_Import_Data(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'Impt'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -41,7 +41,7 @@ def Get_Profile_Name(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'upro'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -61,7 +61,7 @@ def Get_workingURL(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'wurl'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -126,7 +126,7 @@ def Open_Address_Book(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'addr'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -165,7 +165,7 @@ def Open_Profile_Manager(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'prfl'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -25,7 +25,7 @@ def SwitchTellTarget(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'sttg'
aetools.keysubst(_arguments, self._argmap_SwitchTellTarget)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -61,7 +61,7 @@ def quit(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'quit'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -80,7 +80,7 @@ def run(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'oapp'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -154,7 +154,7 @@ def list_windows(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'LSTW'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -268,7 +268,7 @@ def activate(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'actv'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -371,7 +371,7 @@ def end_tell(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'tend'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -443,7 +443,7 @@ def idle(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'idle'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -462,7 +462,7 @@ def launch(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'noop'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -585,7 +585,7 @@ def start_log(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'log1'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -625,7 +625,8 @@ def stop_log(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'log0'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -644,7 +645,7 @@ def tell(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'tell'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -255,7 +255,7 @@ def make(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'crel'
aetools.keysubst(_arguments, self._argmap_make)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -345,7 +345,7 @@ def quit(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'quit'
aetools.keysubst(_arguments, self._argmap_quit)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'savo', _Enum_savo)
@ -365,7 +365,7 @@ def reopen(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'rapp'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -384,7 +384,7 @@ def run(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'oapp'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -175,7 +175,7 @@ def make(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'crel'
aetools.keysubst(_arguments, self._argmap_make)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -175,7 +175,7 @@ def make(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'crel'
aetools.keysubst(_arguments, self._argmap_make)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -37,8 +37,7 @@ def run(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'oapp'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
_arguments, _attributes)
@ -56,7 +55,7 @@ def reopen(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'rapp'
if _arguments: raise TypeError('No optional args expected')
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -100,7 +99,7 @@ def quit(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'quit'
aetools.keysubst(_arguments, self._argmap_quit)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'savo', _Enum_savo)

View file

@ -106,7 +106,7 @@ def copy(src, dst, createpath=0, copydates=1, forcetype=None):
sf = srcfss.FSpGetFInfo()
df = dstfss.FSpGetFInfo()
df.Creator, df.Type = sf.Creator, sf.Type
if forcetype != None:
if forcetype is not None:
df.Type = forcetype
df.Flags = (sf.Flags & COPY_FLAGS)
dstfss.FSpSetFInfo(df)

View file

@ -188,7 +188,7 @@ def GetVideoFormat(self):
def GetVideoFrameRate(self):
tv = self.videocurtime
if tv == None:
if tv is None:
tv = 0
flags = QuickTime.nextTimeStep|QuickTime.nextTimeEdgeOK
tv, dur = self.videomedia.GetMediaNextInterestingTime(flags, tv, 1.0)
@ -199,7 +199,7 @@ def ReadAudio(self, nframes, time=None):
if not time is None:
self.audiocurtime = time
flags = QuickTime.nextTimeStep|QuickTime.nextTimeEdgeOK
if self.audiocurtime == None:
if self.audiocurtime is None:
self.audiocurtime = 0
tv = self.audiomedia.GetMediaNextInterestingTimeOnly(flags, self.audiocurtime, 1.0)
if tv < 0 or (self.audiocurtime and tv < self.audiocurtime):
@ -215,7 +215,7 @@ def ReadVideo(self, time=None):
if not time is None:
self.videocurtime = time
flags = QuickTime.nextTimeStep
if self.videocurtime == None:
if self.videocurtime is None:
flags = flags | QuickTime.nextTimeEdgeOK
self.videocurtime = 0
tv = self.videomedia.GetMediaNextInterestingTimeOnly(flags, self.videocurtime, 1.0)

View file

@ -143,7 +143,7 @@ def __read_group_file():
while 1:
entry = group.readline().strip()
if len(entry) > 3:
if sep == None:
if sep is None:
sep = __get_field_sep(entry)
fields = entry.split(sep)
fields[2] = int(fields[2])

View file

@ -167,7 +167,7 @@ def __read_passwd_file():
while True:
entry = passwd.readline().strip()
if len(entry) > 6:
if sep == None:
if sep is None:
sep = __get_field_sep(entry)
fields = entry.split(sep)
for i in (2, 3):

View file

@ -124,7 +124,7 @@ def to_tuple(t):
def test_order(ast_node, parent_pos):
if not isinstance(ast_node, _ast.AST) or ast_node._fields == None:
if not isinstance(ast_node, _ast.AST) or ast_node._fields is None:
return
if isinstance(ast_node, (_ast.expr, _ast.stmt, _ast.excepthandler)):
node_pos = (ast_node.lineno, ast_node.col_offset)
@ -135,7 +135,7 @@ def test_order(ast_node, parent_pos):
if isinstance(value, list):
for child in value:
test_order(child, parent_pos)
elif value != None:
elif value is not None:
test_order(value, parent_pos)
def run_tests():

View file

@ -450,6 +450,7 @@ def setUp(self):
def tearDown(self):
self.mem_hdlr.close()
BaseTest.tearDown(self)
def test_flush(self):
# The memory handler flushes to its target handler based on specific

View file

@ -626,9 +626,9 @@ def test_create_tmp(self, repetitions=10):
"tmp")),
"File in wrong location: '%s'" % head)
match = pattern.match(tail)
self.assert_(match != None, "Invalid file name: '%s'" % tail)
self.assert_(match is not None, "Invalid file name: '%s'" % tail)
groups = match.groups()
if previous_groups != None:
if previous_groups is not None:
self.assert_(int(groups[0] >= previous_groups[0]),
"Non-monotonic seconds: '%s' before '%s'" %
(previous_groups[0], groups[0]))

View file

@ -55,7 +55,7 @@ def checkModule(self, moduleName, module=None, ignore=()):
ignore = set(ignore) | set(['object'])
if module == None:
if module is None:
# Import it.
# ('<silly>' is to work around an API silliness in __import__)
module = __import__(moduleName, globals(), {}, ['<silly>'])

View file

@ -670,7 +670,7 @@ def tryProtocolCombo (server_protocol,
expectedToWork,
certsreqs=None):
if certsreqs == None:
if certsreqs is None:
certsreqs = ssl.CERT_NONE
if certsreqs == ssl.CERT_NONE:

View file

@ -107,7 +107,7 @@ def parse(self, source):
xmlreader.IncrementalParser.parse(self, source)
def prepareParser(self, source):
if source.getSystemId() != None:
if source.getSystemId() is not None:
self._parser.SetBase(source.getSystemId())
# Redefined setContentHandler to allow changing handlers during parsing

View file

@ -289,7 +289,7 @@ def runCommand(commandline):
fd = os.popen(commandline, 'r')
data = fd.read()
xit = fd.close()
if xit != None:
if xit is not None:
sys.stdout.write(data)
raise RuntimeError("command failed: %s"%(commandline,))
@ -300,7 +300,7 @@ def captureCommand(commandline):
fd = os.popen(commandline, 'r')
data = fd.read()
xit = fd.close()
if xit != None:
if xit is not None:
sys.stdout.write(data)
raise RuntimeError("command failed: %s"%(commandline,))

View file

@ -26,7 +26,7 @@ def select_disk_image(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'SEL1'
aetools.keysubst(_arguments, self._argmap_select_disk_image)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')y
aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
@ -52,8 +52,7 @@ def select_DiskScript(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'SEL2'
aetools.keysubst(_arguments, self._argmap_select_DiskScript)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
_reply, _arguments, _attributes = self.send(_code, _subcode,
@ -78,7 +77,7 @@ def select_disk_image_or_DiskScript(self, _no_object=None, _attributes={}, **_ar
_subcode = 'SEL3'
aetools.keysubst(_arguments, self._argmap_select_disk_image_or_DiskScript)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
@ -104,7 +103,7 @@ def select_floppy_disk_image(self, _no_object=None, _attributes={}, **_arguments
_subcode = 'SEL4'
aetools.keysubst(_arguments, self._argmap_select_floppy_disk_image)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
@ -130,7 +129,7 @@ def select_disk(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'SEL5'
aetools.keysubst(_arguments, self._argmap_select_disk)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
@ -156,7 +155,7 @@ def select_folder(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'SEL6'
aetools.keysubst(_arguments, self._argmap_select_folder)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)

View file

@ -103,7 +103,7 @@ def make(self, _no_object=None, _attributes={}, **_arguments):
_subcode = 'crel'
aetools.keysubst(_arguments, self._argmap_make)
if _no_object != None: raise TypeError('No direct arg expected')
if _no_object is not None: raise TypeError('No direct arg expected')
_reply, _arguments, _attributes = self.send(_code, _subcode,

View file

@ -174,10 +174,10 @@ def finalize_options(self):
('root', 'root'))
# import pdb ; pdb.set_trace()
build_cmd = self.get_finalized_command('build')
if self.build_dest == None:
if self.build_dest is None:
build_cmd = self.get_finalized_command('build')
self.build_dest = build_cmd.build_dest
if self.install_doc == None:
if self.install_doc is None:
self.install_doc = os.path.join(self.prefix, DESTDIR)
print('INSTALL', self.build_dest, '->', self.install_doc)

View file

@ -183,7 +183,7 @@ def build(self, root, resources=None, **options):
# set folder attributes
self.sourceFolder = root
if resources == None:
if resources is None:
self.resourceFolder = root
else:
self.resourceFolder = resources

14
README
View file

@ -37,6 +37,14 @@ Documentation for Python 3000 is online, updated twice a day:
http://docs.python.org/dev/3.0/
All documentation is also available online at the Python web site
(http://docs.python.org/, see below). It is available online for occasional
reference, or can be downloaded in many formats for faster access. The
documentation is downloadable in HTML, PostScript, PDF, LaTeX (through 2.5), and
reStructuredText (2.6+) formats; the LaTeX and reStructuredText versions are
primarily for documentation authors, translators, and people with special
formatting requirements.
This is a work in progress; please help improve it!
The design documents for Python 3000 are also online. While the
@ -77,6 +85,12 @@ For a more detailed change log, read Misc/NEWS (though this file, too,
is incomplete, and also doesn't list anything merged in from the 2.6
release under development).
Proposals for enhancement
------------------------------
If you have a proposal to change Python, it's best to submit a Python
Enhancement Proposal (PEP) first. All current PEPs, as well as guidelines for
submitting a new PEP, are listed at http://www.python.org/dev/peps/.
Converting From Python 2.x to 3.0
---------------------------------

View file

@ -148,7 +148,7 @@ def docstring(self):
for arg in self.argumentList:
if arg.flags == ErrorMode or arg.flags == SelfMode:
continue
if arg.type == None:
if arg.type is None:
str = 'void'
else:
if hasattr(arg.type, 'typeName'):