running libfuturize.fixes.fix_print_with_import

This commit is contained in:
ilvalle
2016-05-30 21:09:52 +02:00
parent 36ca754c77
commit 48e10a3793
36 changed files with 240 additions and 204 deletions
+1
View File
@@ -0,0 +1 @@
127.0.0.1 2 1464635785
+3 -2
View File
@@ -9,6 +9,7 @@
Utility functions for the Admin application
-------------------------------------------
"""
from __future__ import print_function
import os
import sys
import traceback
@@ -60,7 +61,7 @@ def app_pack(app, request, raise_ex=False, filenames=None):
return filename
except Exception as e:
import traceback
print traceback.format_exc()
print(traceback.format_exc())
if raise_ex:
raise
return False
@@ -343,7 +344,7 @@ def check_new_version(myversion, version_url):
pmyversion = parse_version(myversion)
except IOError:
import traceback
print traceback.format_exc()
print(traceback.format_exc())
return -1, myversion
if pversion[:3]+pversion[-6:] > pmyversion[:3]+pmyversion[-6:]:
+14 -13
View File
@@ -13,6 +13,7 @@ Modifed by Massimo Di Pierro
- namedtuple from http://code.activestate.com/recipes/500261/
"""
from __future__ import print_function
__all__ = ['AIM']
@@ -248,23 +249,23 @@ def test():
payment.setParameter('x_email_customer', False)
payment.process()
if payment.isApproved():
print 'Response Code: ', payment.response.ResponseCode
print 'Response Text: ', payment.response.ResponseText
print 'Response: ', payment.getResultResponseFull()
print 'Transaction ID: ', payment.response.TransactionID
print 'CVV Result: ', payment.response.CVVResponse
print 'Approval Code: ', payment.response.AuthCode
print 'AVS Result: ', payment.response.AVSResponse
print('Response Code: ', payment.response.ResponseCode)
print('Response Text: ', payment.response.ResponseText)
print('Response: ', payment.getResultResponseFull())
print('Transaction ID: ', payment.response.TransactionID)
print('CVV Result: ', payment.response.CVVResponse)
print('Approval Code: ', payment.response.AuthCode)
print('AVS Result: ', payment.response.AVSResponse)
elif payment.isDeclined():
print 'Your credit card was declined by your bank'
print('Your credit card was declined by your bank')
elif payment.isError():
raise AIM.AIMError('An uncaught error occurred')
except AIM.AIMError as e:
print "Exception thrown:", e
print 'An error occured'
print 'approved', payment.isApproved()
print 'declined', payment.isDeclined()
print 'error', payment.isError()
print("Exception thrown:", e)
print('An error occured')
print('approved', payment.isApproved())
print('declined', payment.isDeclined())
print('error', payment.isError())
if __name__ == '__main__':
test()
+9 -8
View File
@@ -9,6 +9,7 @@ Modifed by Dave Stoll dave.stoll@gmail.com
- modifed to support Dow Commerce API
"""
from __future__ import print_function
__all__ = ['DowCommerce']
@@ -227,18 +228,18 @@ def test():
payment.process()
if payment.isApproved():
print 'Payment approved!'
print payment.getFullResponse()
print('Payment approved!')
print(payment.getFullResponse())
elif payment.isDeclined():
print 'Your credit card was declined by your bank'
print('Your credit card was declined by your bank')
elif payment.isError():
raise DowCommerce.DowCommerceError('An uncaught error occurred')
except DowCommerce.DowCommerceError as e:
print "Exception thrown:", e
print 'An error occured'
print 'approved', payment.isApproved()
print 'declined', payment.isDeclined()
print 'error', payment.isError()
print("Exception thrown:", e)
print('An error occured')
print('approved', payment.isApproved())
print('declined', payment.isDeclined())
print('error', payment.isError())
if __name__ == '__main__':
test()
+3 -2
View File
@@ -41,6 +41,7 @@ wordpress.com
revision3.com
viddler.com
"""
from __future__ import print_function
import re
import cgi
@@ -215,6 +216,6 @@ laoreet tortor.</p>
if __name__ == "__main__":
if len(sys.argv) > 1:
print expand_html(open(sys.argv[1]).read())
print(expand_html(open(sys.argv[1]).read()))
else:
print test()
print(test())
+1
View File
@@ -35,6 +35,7 @@ This implementation of Markdown implements the full "core" syntax plus a
number of extras (e.g., code syntax coloring, footnotes) as described on
<https://github.com/trentm/python-markdown2/wiki/Extras>.
"""
from __future__ import print_function
cmdln_desc = """A fast and complete Python implementation of Markdown, a
text-to-HTML conversion tool for web writers.
+16 -15
View File
@@ -3,6 +3,7 @@
# created by Massimo Di Pierro
# recreated by Vladyslav Kozlovskyy
# license MIT/BSD/GPL
from __future__ import print_function
import re
import urllib
from cgi import escape
@@ -45,11 +46,11 @@ Example of usage:
``
m = "Hello **world** [[link http://web2py.com]]"
from markmin2html import markmin2html
print markmin2html(m)
print(markmin2html(m))
from markmin2latex import markmin2latex
print markmin2latex(m)
print(markmin2latex(m))
from markmin2pdf import markmin2pdf # requires pdflatex
print markmin2pdf(m)
print(markmin2pdf(m))
``
====================
# This is a test block
@@ -803,7 +804,7 @@ def render(text,
>>> render("``aaa``:custom", extra=dict(custom=lambda text: 'x'+text+'x'))
'xaaax'
>>> print render(r"$$\int_a^b sin(x)dx$$")
>>> print(render(r"$$\int_a^b sin(x)dx$$"))
<img src="http://chart.apis.google.com/chart?cht=tx&chl=%5Cint_a%5Eb%20sin%28x%29dx" />
>>> markmin2html(r"use backslash: \[\[[[mess\[[ag\]]e link]]\]]")
@@ -1494,17 +1495,17 @@ if __name__ == '__main__':
pre { background-color: #E0E0E0; padding: 5px; }
</style>""")[1:]
print html % dict(title="Markmin markup language",
print(html % dict(title="Markmin markup language",
style=style,
body=markmin2html(__doc__, pretty_print=True))
body=markmin2html(__doc__, pretty_print=True)))
elif sys.argv[1:2] == ['-t']:
from timeit import Timer
loops = 1000
ts = Timer("markmin2html(__doc__)", "from markmin2html import markmin2html")
print 'timeit "markmin2html(__doc__)":'
print('timeit "markmin2html(__doc__)":')
t = min([ts.timeit(loops) for i in range(3)])
print "%s loops, best of 3: %.3f ms per loop" % (loops, t / 1000 * loops)
print("%s loops, best of 3: %.3f ms per loop" % (loops, t / 1000 * loops))
elif len(sys.argv) > 1:
fargv = open(sys.argv[1], 'r')
try:
@@ -1523,15 +1524,15 @@ if __name__ == '__main__':
else:
markmin_style = ""
print html % dict(title=sys.argv[1], style=markmin_style,
body=markmin2html(markmin_text, pretty_print=True))
print(html % dict(title=sys.argv[1], style=markmin_style,
body=markmin2html(markmin_text, pretty_print=True)))
finally:
fargv.close()
else:
print "Usage: " + sys.argv[0] + " -h | -t | file.markmin [file.css|@path_to/css]"
print "where: -h - print __doc__"
print " -t - timeit __doc__ (for testing purpuse only)"
print " file.markmin [file.css] - process file.markmin + built in file.css (optional)"
print " file.markmin [@path_to/css] - process file.markmin + link path_to/css (optional)"
print("Usage: " + sys.argv[0] + " -h | -t | file.markmin [file.css|@path_to/css]")
print("where: -h - print __doc__")
print(" -t - timeit __doc__ (for testing purpuse only)")
print(" file.markmin [file.css] - process file.markmin + built in file.css (optional)")
print(" file.markmin [@path_to/css] - process file.markmin + link path_to/css (optional)")
run_doctests()
+2 -1
View File
@@ -1,6 +1,7 @@
#!/usr/bin/env python
# created my Massimo Di Pierro
# license MIT/BSD/GPL
from __future__ import print_function
import re
import cgi
import sys
@@ -309,4 +310,4 @@ if __name__ == '__main__':
output = markmin2latex(content,
wrapper=wrapper,
chapters=options.chapters)
print output
print(output)
+8 -7
View File
@@ -2,6 +2,7 @@
Created by Massimo Di Pierro
License BSD
"""
from __future__ import print_function
import subprocess
import os
@@ -22,7 +23,7 @@ def removeall(path):
__func__(path)
except OSError as xxx_todo_changeme:
(errno, strerror) = xxx_todo_changeme.args
print ERROR_STR % {'path': path, 'error': strerror}
print(ERROR_STR % {'path': path, 'error': strerror})
files = [path]
@@ -113,10 +114,10 @@ if __name__ == '__main__':
if sys.argv[1:2] == ['-h']:
data, warnings, errors = markmin2pdf(markmin2html.__doc__)
if errors:
print 'ERRORS:' + '\n'.join(errors)
print 'WARNGINS:' + '\n'.join(warnings)
print('ERRORS:' + '\n'.join(errors))
print('WARNGINS:' + '\n'.join(warnings))
else:
print data
print(data)
elif len(sys.argv) > 1:
fargv = open(sys.argv[1], 'rb')
try:
@@ -124,9 +125,9 @@ if __name__ == '__main__':
finally:
fargv.close()
if errors:
print 'ERRORS:' + '\n'.join(errors)
print 'WARNGINS:' + '\n'.join(warnings)
print('ERRORS:' + '\n'.join(errors))
print('WARNGINS:' + '\n'.join(warnings))
else:
print data
print(data)
else:
doctest.testmod()
+2 -1
View File
@@ -9,6 +9,7 @@ a user against the Pluggable Authentication Modules (PAM) on the system.
Implemented using ctypes, so no compilation is necessary.
"""
from __future__ import print_function
__all__ = ['authenticate']
from ctypes import CDLL, POINTER, Structure, CFUNCTYPE, cast, pointer, sizeof
@@ -125,4 +126,4 @@ def authenticate(username, password, service='login'):
if __name__ == "__main__":
import getpass
print authenticate(getpass.getuser(), getpass.getpass())
print(authenticate(getpass.getuser(), getpass.getpass()))
+9 -8
View File
@@ -40,6 +40,7 @@
:copyright: (c) Copyright 2011 by Armin Ronacher.
:license: BSD, see LICENSE for more details.
"""
from __future__ import print_function
import hmac
try:
from hashlib import sha1
@@ -92,14 +93,14 @@ def test():
def check(data, salt, iterations, keylen, expected):
rv = pbkdf2_hex(data, salt, iterations, keylen)
if rv != expected:
print 'Test failed:'
print ' Expected: %s' % expected
print ' Got: %s' % rv
print ' Parameters:'
print ' data=%s' % data
print ' salt=%s' % salt
print ' iterations=%d' % iterations
print
print('Test failed:')
print(' Expected: %s' % expected)
print(' Got: %s' % rv)
print(' Parameters:')
print(' data=%s' % data)
print(' salt=%s' % salt)
print(' iterations=%d' % iterations)
print()
failed.append(1)
# From RFC 6070
+1
View File
@@ -18,6 +18,7 @@
:license: LGPLv3
"""
from __future__ import print_function
import ctypes
import ctypes.util
+2 -1
View File
@@ -1,6 +1,7 @@
"""
BSD license - created by Massimo Di Pierro
"""
from __future__ import print_function
from reportlab.pdfgen.canvas import Canvas
from reportlab.platypus import Table
from reportlab.lib.pagesizes import A4
@@ -158,4 +159,4 @@ if __name__=='__main__':
['000001','Chairs',600.0],
['','Tax',50.0]],
}
print PDF().draw(invoice,items_page=20)
print(PDF().draw(invoice,items_page=20))
+2 -1
View File
@@ -1,3 +1,4 @@
from __future__ import print_function
import re
import cPickle
import random
@@ -267,4 +268,4 @@ def populate_generator(table, default=True, compute=False, contents={}):
if __name__ == '__main__':
ell = Learner()
ell.loadd(IUP)
print ell.generate(1000, prefix=None)
print(ell.generate(1000, prefix=None))
+2 -1
View File
@@ -1,3 +1,4 @@
from __future__ import print_function
from types import IntType, FloatType, LongType, StringTypes
from copy import deepcopy
from binascii import hexlify
@@ -386,7 +387,7 @@ def _get_emf_dimensions( fin ):
if 0:
klist = sorted(header.__dict__.keys())
for k in klist:
print "%20s:%s" % (k,header.__dict__[k])
print("%20s:%s" % (k,header.__dict__[k]))
dw = header.FrameRight-header.FrameLeft
dh = header.FrameBottom-header.FrameTop
+42 -41
View File
@@ -2,6 +2,7 @@
# coding:utf-8
"Queues(Pipe)-based independent remote client-server Python Debugger"
from __future__ import print_function
__author__ = "Mariano Reingart (reingart@gmail.com)"
__copyright__ = "Copyright (C) 2011 Mariano Reingart"
@@ -260,7 +261,7 @@ class Qdb(bdb.Bdb):
self.frame.f_lineno = arg
return arg
except ValueError as e:
print '*** Jump failed:', e
print('*** Jump failed:', e)
return False
def do_list(self, arg):
@@ -317,7 +318,7 @@ class Qdb(bdb.Bdb):
# required by BDB to remove temp breakpoints!
err = self.clear_bpbynumber(arg)
if err:
print '*** DO_CLEAR failed', err
print('*** DO_CLEAR failed', err)
def do_eval(self, arg, safe=True):
ret = eval(arg, self.frame.f_globals,
@@ -612,8 +613,8 @@ class Frontend(object):
# nested request received (i.e. readline)! process it!
self.process_message(res)
elif long(req['id']) != long(res['id']):
print "DEBUGGER wrong packet received: expecting id", req[
'id'], res['id']
print("DEBUGGER wrong packet received: expecting id", req[
'id'], res['id'])
# protocol state is unknown
elif 'error' in res and res['error']:
raise RPCError(res['error']['message'])
@@ -639,7 +640,7 @@ class Frontend(object):
def do_jump(self, arg):
"Set the next line that will be executed."
res = self.call('do_jump', arg)
print res
print(res)
def do_where(self, arg=None):
"Print a stack trace, with the most recent frame at the bottom."
@@ -719,22 +720,22 @@ class Cli(Frontend, cmd.Cmd):
try:
Frontend.run(self)
except KeyboardInterrupt:
print "Interupting..."
print("Interupting...")
self.interrupt()
def interaction(self, filename, lineno, line):
print "> %s(%d)\n-> %s" % (filename, lineno, line),
print("> %s(%d)\n-> %s" % (filename, lineno, line), end=' ')
self.filename = filename
self.cmdloop()
def exception(self, title, extype, exvalue, trace, request):
print "=" * 80
print "Exception", title
print request
print "-" * 80
print("=" * 80)
print("Exception", title)
print(request)
print("-" * 80)
def write(self, text):
print text,
print(text, end=' ')
def readline(self):
return raw_input()
@@ -753,7 +754,7 @@ class Cli(Frontend, cmd.Cmd):
def do_eval(self, args):
"Inspect the value of the expression"
print Frontend.do_eval(self, args)
print(Frontend.do_eval(self, args))
def do_list(self, args):
"List source code for the current file"
@@ -768,19 +769,19 @@ class Cli(Frontend, cmd.Cmd):
def do_environment(self, args=None):
env = Frontend.do_environment(self)
for key in env:
print "=" * 78
print key.capitalize()
print "-" * 78
print("=" * 78)
print(key.capitalize())
print("-" * 78)
for name, value in env[key].items():
print "%-12s = %s" % (name, value)
print("%-12s = %s" % (name, value))
def do_list_breakpoint(self, arg=None):
"List all breakpoints"
breaks = Frontend.do_list_breakpoint(self)
print "Num File Line Temp Enab Hits Cond"
print("Num File Line Temp Enab Hits Cond")
for bp in breaks:
print '%-4d%-30s%4d %4s %4s %4d %s' % bp
print
print('%-4d%-30s%4d %4s %4s %4d %s' % bp)
print()
def do_set_breakpoint(self, arg):
"Set a breakpoint at filename:breakpoint"
@@ -802,26 +803,26 @@ class Cli(Frontend, cmd.Cmd):
def default(self, line):
"Default command"
if line[:1] == '!':
print self.do_exec(line[1:])
print(self.do_exec(line[1:]))
else:
print "*** Unknown command: ", line
print("*** Unknown command: ", line)
def print_lines(self, lines):
for filename, lineno, bp, current, source in lines:
print "%s:%4d%s%s\t%s" % (filename, lineno, bp, current, source),
print
print("%s:%4d%s%s\t%s" % (filename, lineno, bp, current, source), end=' ')
print()
def test():
def f(pipe):
print "creating debugger"
print("creating debugger")
qdb = Qdb(pipe=pipe, redirect_stdio=False)
print "set trace"
print("set trace")
my_var = "Mariano!"
qdb.set_trace()
print "hello world!"
print "good by!"
print("hello world!")
print("good by!")
saraza
if '--process' in sys.argv:
@@ -841,20 +842,20 @@ def test():
class Test(Frontend):
def interaction(self, *args):
print "interaction!", args
print("interaction!", args)
def exception(self, *args):
print "exception", args
print("exception", args)
#raise RuntimeError("exception %s" % repr(args))
qdb = Test(front_conn)
time.sleep(5)
while True:
print "running..."
print("running...")
Frontend.run(qdb)
time.sleep(1)
print "do_next"
print("do_next")
qdb.do_next()
p.join()
@@ -865,7 +866,7 @@ def connect(host="localhost", port=6000, authkey='secret password'):
address = (host, port)
from multiprocessing.connection import Client
print "qdb debugger fronted: waiting for connection to", address
print("qdb debugger fronted: waiting for connection to", address)
conn = Client(address, authkey=authkey)
try:
Cli(conn).run()
@@ -879,12 +880,12 @@ def main(host='localhost', port=6000, authkey='secret password'):
"Debug a script and accept a remote frontend"
if not sys.argv[1:] or sys.argv[1] in ("--help", "-h"):
print "usage: pdb.py scriptfile [arg] ..."
print("usage: pdb.py scriptfile [arg] ...")
sys.exit(2)
mainpyfile = sys.argv[1] # Get script filename
if not os.path.exists(mainpyfile):
print 'Error:', mainpyfile, 'does not exist'
print('Error:', mainpyfile, 'does not exist')
sys.exit(1)
del sys.argv[0] # Hide "pdb.py" from argument list
@@ -895,20 +896,20 @@ def main(host='localhost', port=6000, authkey='secret password'):
from multiprocessing.connection import Listener
address = (host, port) # family is deduced to be 'AF_INET'
listener = Listener(address, authkey=authkey)
print "qdb debugger backend: waiting for connection at", address
print("qdb debugger backend: waiting for connection at", address)
conn = listener.accept()
print 'qdb debugger backend: connected to', listener.last_accepted
print('qdb debugger backend: connected to', listener.last_accepted)
# create the backend
qdb = Qdb(conn, redirect_stdio=True, allow_interruptions=True)
try:
print "running", mainpyfile
print("running", mainpyfile)
qdb._runscript(mainpyfile)
print "The program finished"
print("The program finished")
except SystemExit:
# In most cases SystemExit does not warrant a post-mortem session.
print "The program exited via sys.exit(). Exit status: ",
print sys.exc_info()[1]
print("The program exited via sys.exit(). Exit status: ", end=' ')
print(sys.exc_info()[1])
raise
except:
raise
+2 -1
View File
@@ -28,6 +28,7 @@
"""
An interactive, stateful AJAX shell that runs Python code on the server.
"""
from __future__ import print_function
import logging
import new
@@ -270,4 +271,4 @@ def run(history, statement, env={}):
if __name__ == '__main__':
history = History()
while True:
print run(history, raw_input('>>> ')).rstrip()
print(run(history, raw_input('>>> ')).rstrip())
+2 -1
View File
@@ -10,6 +10,7 @@
# for more details.
"Pythonic simple JSON RPC Client implementation"
from __future__ import print_function
__author__ = "Mariano Reingart (reingart@gmail.com)"
__copyright__ = "Copyright (C) 2011 Mariano Reingart"
@@ -145,4 +146,4 @@ if __name__ == "__main__":
# basic tests:
location = "http://www.web2py.com.ar/webservices/sample/call/jsonrpc"
client = ServerProxy(location, verbose='--verbose' in sys.argv,)
print client.add(1, 2)
print(client.add(1, 2))
+2 -1
View File
@@ -3,6 +3,7 @@
"""
Developed by Massimo Di Pierro, optional component of web2py, BSDv3 license.
"""
from __future__ import print_function
import re
import pickle
@@ -900,4 +901,4 @@ if __name__ == '__main__':
s.cell('a', value="2")
s.cell('b', value="=sin(a)")
s.cell('c', value="=cos(a)**2+b*b")
print s['c'].computed_value
print(s['c'].computed_value)
+4 -3
View File
@@ -1,3 +1,4 @@
from __future__ import print_function
import urllib
import json
from hashlib import sha1
@@ -244,8 +245,8 @@ jQuery(function(){
if __name__ == '__main__':
key = raw_input('user>')
d = Stripe(key).charge(100)
print 'charged', d['paid']
print('charged', d['paid'])
s = Stripe(key).check(d[u'id'])
print 'paid', s['paid'], s['amount'], s['currency']
print('paid', s['paid'], s['amount'], s['currency'])
s = Stripe(key).refund(d[u'id'])
print 'refunded', s['refunded']
print('refunded', s['refunded'])
+4 -3
View File
@@ -6,6 +6,7 @@
# # 11/7/08
# dual licensed under the web2py license (LGPL) and the Python license.
from __future__ import print_function
import os
import sys
import base64
@@ -78,7 +79,7 @@ class TaskBarIcon:
hicon = self.__loadFromFile(fp)
os.unlink(fp)
except:
print "Can't load web2py icons - using default"
print("Can't load web2py icons - using default")
hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE\
@@ -101,7 +102,7 @@ class TaskBarIcon:
# This is common when windows is starting, and this code is hit
# before the taskbar has been created.
print 'Failed to add the taskbar icon - is explorer running?'
print('Failed to add the taskbar icon - is explorer running?')
# but keep running anyway - when explorer starts, we get the
@@ -197,7 +198,7 @@ class TaskBarIcon:
self.status.append(self.EnumStatus.QUIT)
self.Destroy()
else:
print 'Unknown command -', id
print('Unknown command -', id)
def Destroy(self):
win32gui.DestroyWindow(self.hwnd)
+1
View File
@@ -1,3 +1,4 @@
from __future__ import print_function
# Only Python 2.6 and up, because of NamedTuple.
import time
from collections import namedtuple
+8 -7
View File
@@ -15,6 +15,7 @@ mostly for testing purposes
Some examples at the bottom.
"""
from __future__ import print_function
import re
import time
import urllib
@@ -160,7 +161,7 @@ class WebClient(object):
if match:
name = match.group('name')
if name in self.sessions and self.sessions[name] != value:
print RuntimeError('Changed session ID %s' % name)
print(RuntimeError('Changed session ID %s' % name))
self.sessions[name] = value
# find all forms and formkeys in page
@@ -202,13 +203,13 @@ def test_web2py_registration_and_login():
assert 'Welcome Homer' in client.text
# print some variables
print '\nsessions:\n', client.sessions
print '\nheaders:\n', client.headers
print '\ncookies:\n', client.cookies
print '\nforms:\n', client.forms
print
print('\nsessions:\n', client.sessions)
print('\nheaders:\n', client.headers)
print('\ncookies:\n', client.cookies)
print('\nforms:\n', client.forms)
print()
for method, url, status, t in client.history:
print method, url, status, t
print(method, url, status, t)
if __name__ == '__main__':
test_web2py_registration_and_login()
+4 -3
View File
@@ -83,6 +83,7 @@ Acknowledgements:
Tornado code inspired by http://thomas.pelletier.im/2010/08/websocket-tornado-redis/
"""
from __future__ import print_function
import tornado.httpserver
import tornado.websocket
@@ -117,7 +118,7 @@ class PostHandler(tornado.web.RequestHandler):
if 'message' in self.request.arguments:
message = self.request.arguments['message'][0]
group = self.request.arguments.get('group', ['default'])[0]
print '%s:MESSAGE to %s:%s' % (time.time(), group, message)
print('%s:MESSAGE to %s:%s' % (time.time(), group, message))
if hmac_key:
signature = self.request.arguments['signature'][0]
if not hmac.new(hmac_key, message).hexdigest() == signature:
@@ -167,7 +168,7 @@ class DistributeHandler(tornado.websocket.WebSocketHandler):
client.write_message('+' + self.name)
listeners[self.group].append(self)
names[self] = self.name
print '%s:CONNECT to %s' % (time.time(), self.group)
print('%s:CONNECT to %s' % (time.time(), self.group))
def on_message(self, message):
pass
@@ -179,7 +180,7 @@ class DistributeHandler(tornado.websocket.WebSocketHandler):
# notify clients that a member has left the groups
for client in listeners.get(self.group, []):
client.write_message('-' + self.name)
print '%s:DISCONNECT from %s' % (time.time(), self.group)
print('%s:DISCONNECT from %s' % (time.time(), self.group))
# if your webserver is different from tornado server uncomment this
# or override using something more restrictive:
+3 -2
View File
@@ -6,6 +6,7 @@
| Copyrighted by Massimo Di Pierro <mdipierro@cs.depaul.edu>
| License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html)
"""
from __future__ import print_function
import re
import cgi
@@ -341,5 +342,5 @@ if __name__ == '__main__':
argfp = open(sys.argv[1])
data = argfp.read()
argfp.close()
print '<html><body>' + highlight(data, sys.argv[2])\
+ '</body></html>'
print('<html><body>' + highlight(data, sys.argv[2])\
+ '</body></html>')
+30 -29
View File
@@ -9,6 +9,7 @@
Template helpers
--------------------------------------------
"""
from __future__ import print_function
import cgi
import os
@@ -743,7 +744,7 @@ class DIV(XmlComponent):
>>> a=DIV()
>>> a.append(SPAN('x'))
>>> print a
>>> print(a)
<div><span>x</span></div>
"""
self._setnode(value)
@@ -759,7 +760,7 @@ class DIV(XmlComponent):
>>> a=DIV()
>>> a.insert(0, SPAN('x'))
>>> print a
>>> print(a)
<div><span>x</span></div>
"""
self._setnode(value)
@@ -1025,10 +1026,10 @@ class DIV(XmlComponent):
>>> a = DIV(DIV(SPAN('x'),3,DIV(SPAN('y'))))
>>> for c in a.elements('span', first_only=True): c[0]='z'
>>> print a
>>> print(a)
<div><div><span>z</span>3<div><span>y</span></div></div></div>
>>> for c in a.elements('span'): c[0]='z'
>>> print a
>>> print(a)
<div><div><span>z</span>3<div><span>z</span></div></div></div>
It also supports a syntax compatible with jQuery
@@ -1036,10 +1037,10 @@ class DIV(XmlComponent):
Examples:
>>> a=TAG('<div><span><a id="1-1" u:v=$>hello</a></span><p class="this is a test">world</p></div>')
>>> for e in a.elements('div a#1-1, p.is'): print e.flatten()
>>> for e in a.elements('div a#1-1, p.is'): print(e.flatten())
hello
world
>>> for e in a.elements('#1-1'): print e.flatten()
>>> for e in a.elements('#1-1'): print(e.flatten())
hello
>>> a.elements('a[u:v=$]')[0].xml()
'<a id="1-1" u:v="$">hello</a>'
@@ -1056,7 +1057,7 @@ class DIV(XmlComponent):
>>> a = DIV(DIV(SPAN('x', _class='abc'), DIV(SPAN('y', _class='abc'), SPAN('z', _class='abc'))))
>>> b = a.elements('span.abc', replace=P('x', _class='xyz'))
>>> print a # We should .xml() here instead of print
>>> print(a) # We should .xml() here instead of print
<div><div><p class="xyz">x</p><div><p class="xyz">x</p><p class="xyz">x</p></div></div></div>
"replace" can be a callable, which will be passed the original element and
@@ -1066,7 +1067,7 @@ class DIV(XmlComponent):
>>> a = DIV(DIV(SPAN('x', _class='abc'), DIV(SPAN('y', _class='abc'), SPAN('z', _class='abc'))))
>>> b = a.elements('span.abc', replace=lambda el: P(el[0], _class='xyz'))
>>> print a
>>> print(a)
<div><div><p class="xyz">x</p><div><p class="xyz">y</p><p class="xyz">z</p></div></div></div>
If replace=None, matching elements will be removed completely.
@@ -1075,7 +1076,7 @@ class DIV(XmlComponent):
>>> a = DIV(DIV(SPAN('x', _class='abc'), DIV(SPAN('y', _class='abc'), SPAN('z', _class='abc'))))
>>> b = a.elements('span', find='y', replace=None)
>>> print a
>>> print(a)
<div><div><span class="abc">x</span><div><span class="abc">z</span></div></div></div>
If a "find_text" argument is specified, elements will be searched for text
@@ -1087,7 +1088,7 @@ class DIV(XmlComponent):
>>> a = DIV(DIV(SPAN('x', _class='abc'), DIV(SPAN('y', _class='abc'), SPAN('z', _class='abc'))))
>>> b = a.elements(find_text=re.compile('x|y|z'), replace='hello')
>>> print a
>>> print(a)
<div><div><span class="abc">hello</span><div><span class="abc">hello</span><span class="abc">hello</span></div></div></div>
If other attributes are specified along with find_text, then only components
@@ -1097,7 +1098,7 @@ class DIV(XmlComponent):
>>> a = DIV(DIV(SPAN('x', _class='abc'), DIV(SPAN('y', _class='efg'), SPAN('z', _class='abc'))))
>>> b = a.elements('span.efg', find_text=re.compile('x|y|z'), replace='hello')
>>> print a
>>> print(a)
<div><div><span class="abc">x</span><div><span class="efg">hello</span><span class="abc">z</span></div></div></div>
"""
if len(args) == 1:
@@ -1273,7 +1274,7 @@ class __TAG__(XmlComponent):
Examples:
>>> print TAG.first(TAG.second('test'), _key = 3)
>>> print(TAG.first(TAG.second('test'), _key = 3))
<first key=\"3\"><second>test</second></first>
"""
@@ -1633,7 +1634,7 @@ class CODE(DIV):
Examples:
{{=CODE(\"print 'hello world'\", language='python', link=None,
{{=CODE(\"print('hello world')\", language='python', link=None,
counter=1, styles={}, highlight_line=None)}}
@@ -1862,7 +1863,7 @@ class INPUT(DIV):
(value, errors) = validator(value)
except:
import traceback
print traceback.format_exc()
print(traceback.format_exc())
msg = "Validation error, field:%s %s" % (name,validator)
raise Exception(msg)
if errors is not None:
@@ -2608,34 +2609,34 @@ def test():
Example:
>>> from validators import *
>>> print DIV(A('click me', _href=URL(a='a', c='b', f='c')), BR(), HR(), DIV(SPAN("World"), _class='unknown')).xml()
>>> print(DIV(A('click me', _href=URL(a='a', c='b', f='c')), BR(), HR(), DIV(SPAN("World"), _class='unknown')).xml())
<div><a href="/a/b/c">click me</a><br /><hr /><div class=\"unknown\"><span>World</span></div></div>
>>> print DIV(UL("doc","cat","mouse")).xml()
>>> print(DIV(UL("doc","cat","mouse")).xml())
<div><ul><li>doc</li><li>cat</li><li>mouse</li></ul></div>
>>> print DIV(UL("doc", LI("cat", _class='feline'), 18)).xml()
>>> print(DIV(UL("doc", LI("cat", _class='feline'), 18)).xml())
<div><ul><li>doc</li><li class=\"feline\">cat</li><li>18</li></ul></div>
>>> print TABLE(['a', 'b', 'c'], TR('d', 'e', 'f'), TR(TD(1), TD(2), TD(3))).xml()
>>> print(TABLE(['a', 'b', 'c'], TR('d', 'e', 'f'), TR(TD(1), TD(2), TD(3))).xml())
<table><tr><td>a</td><td>b</td><td>c</td></tr><tr><td>d</td><td>e</td><td>f</td></tr><tr><td>1</td><td>2</td><td>3</td></tr></table>
>>> form=FORM(INPUT(_type='text', _name='myvar', requires=IS_EXPR('int(value)<10')))
>>> print form.xml()
>>> print(form.xml())
<form action=\"#\" enctype=\"multipart/form-data\" method=\"post\"><input name=\"myvar\" type=\"text\" /></form>
>>> print form.accepts({'myvar':'34'}, formname=None)
>>> print(form.accepts({'myvar':'34'}, formname=None))
False
>>> print form.xml()
>>> print(form.xml())
<form action="#" enctype="multipart/form-data" method="post"><input class="invalidinput" name="myvar" type="text" value="34" /><div class="error_wrapper"><div class="error" id="myvar__error">Invalid expression</div></div></form>
>>> print form.accepts({'myvar':'4'}, formname=None, keepvalues=True)
>>> print(form.accepts({'myvar':'4'}, formname=None, keepvalues=True))
True
>>> print form.xml()
>>> print(form.xml())
<form action=\"#\" enctype=\"multipart/form-data\" method=\"post\"><input name=\"myvar\" type=\"text\" value=\"4\" /></form>
>>> form=FORM(SELECT('cat', 'dog', _name='myvar'))
>>> print form.accepts({'myvar':'dog'}, formname=None, keepvalues=True)
>>> print(form.accepts({'myvar':'dog'}, formname=None, keepvalues=True))
True
>>> print form.xml()
>>> print(form.xml())
<form action=\"#\" enctype=\"multipart/form-data\" method=\"post\"><select name=\"myvar\"><option value=\"cat\">cat</option><option selected=\"selected\" value=\"dog\">dog</option></select></form>
>>> form=FORM(INPUT(_type='text', _name='myvar', requires=IS_MATCH('^\w+$', 'only alphanumeric!')))
>>> print form.accepts({'myvar':'as df'}, formname=None)
>>> print(form.accepts({'myvar':'as df'}, formname=None))
False
>>> print form.xml()
>>> print(form.xml())
<form action="#" enctype="multipart/form-data" method="post"><input class="invalidinput" name="myvar" type="text" value="as df" /><div class="error_wrapper"><div class="error" id="myvar__error">only alphanumeric!</div></div></form>
>>> session={}
>>> form=FORM(INPUT(value="Hello World", _name="var", requires=IS_MATCH('^\w+$')))
@@ -2645,8 +2646,8 @@ def test():
True
>>> isinstance(form.as_json(), basestring) and len(form.as_json(sanitize=False)) > 0
True
>>> if form.accepts({}, session,formname=None): print 'passed'
>>> if form.accepts({'var':'test ', '_formkey': session['_formkey[None]']}, session, formname=None): print 'passed'
>>> if form.accepts({}, session,formname=None): print('passed')
>>> if form.accepts({'var':'test ', '_formkey': session['_formkey[None]']}, session, formname=None): print('passed')
"""
pass
+4 -3
View File
@@ -9,6 +9,7 @@
The gluon wsgi application
---------------------------
"""
from __future__ import print_function
if False: import import_all # DO NOT REMOVE PART OF FREEZE PROCESS
import gc
@@ -570,9 +571,9 @@ def save_password(password, port):
chars = string.letters + string.digits
password = ''.join([random.choice(chars) for _ in range(8)])
cpassword = CRYPT()(password)[0]
print '******************* IMPORTANT!!! ************************'
print 'your admin password is "%s"' % password
print '*********************************************************'
print('******************* IMPORTANT!!! ************************')
print('your admin password is "%s"' % password)
print('*********************************************************')
elif password == '<recycle>':
# reuse the current password if any
if exists(password_file):
+2 -1
View File
@@ -15,6 +15,7 @@ routes.py supports two styles of URL rewriting, depending on whether 'routers' i
Refer to router.example.py and routes.example.py for additional documentation.
"""
from __future__ import print_function
import os
import re
@@ -117,7 +118,7 @@ def log_rewrite(string):
elif params.logging == 'off' or not params.logging:
pass
elif params.logging == 'print':
print string
print(string)
elif params.logging == 'info':
logger.info(string)
elif params.logging == 'warning':
+3 -2
View File
@@ -5,6 +5,7 @@
# Modified by Massimo Di Pierro
# Import System Modules
from __future__ import print_function
import sys
import errno
import socket
@@ -1681,7 +1682,7 @@ class WSGIWorker(Worker):
environ['SSL_CLIENT_RAW_CERT'] = \
peercert and ssl.DER_cert_to_PEM_cert(peercert)
except Exception:
print sys.exc_info()[1]
print(sys.exc_info()[1])
else:
environ['wsgi.url_scheme'] = 'http'
@@ -1907,7 +1908,7 @@ def demo():
(options, args) = parser.parse_args()
global static_folder
static_folder = options.static
print 'Rocket running on %s:%s' % (options.ip, options.port)
print('Rocket running on %s:%s' % (options.ip, options.port))
r=Rocket((options.ip,int(options.port)),'wsgi', {'wsgi_app':demo_app})
r.start()
+2 -1
View File
@@ -1,3 +1,4 @@
from __future__ import print_function
# The following code is not part of Rocket but was added to
# web2py for testing purposes.
@@ -42,7 +43,7 @@ def demo():
(options, args) = parser.parse_args()
global static_folder
static_folder = options.static
print 'Rocket running on %s:%s' % (options.ip, options.port)
print('Rocket running on %s:%s' % (options.ip, options.port))
r = Rocket((options.ip, int(options.port)), 'wsgi', {'wsgi_app': demo_app})
r.start()
+9 -8
View File
@@ -8,6 +8,7 @@
Background processes made simple
---------------------------------
"""
from __future__ import print_function
import os
@@ -1458,26 +1459,26 @@ def main():
)
(options, args) = parser.parse_args()
if not options.tasks or not options.db_uri:
print USAGE
print(USAGE)
if options.tasks:
path, filename = os.path.split(options.tasks)
if filename.endswith('.py'):
filename = filename[:-3]
sys.path.append(path)
print 'importing tasks...'
print('importing tasks...')
tasks = __import__(filename, globals(), locals(), [], -1).tasks
print 'tasks found: ' + ', '.join(tasks.keys())
print('tasks found: ' + ', '.join(tasks.keys()))
else:
tasks = {}
group_names = [x.strip() for x in options.group_names.split(',')]
logging.getLogger().setLevel(options.logger_level)
print 'groups for this worker: ' + ', '.join(group_names)
print 'connecting to database in folder: ' + options.db_folder or './'
print 'using URI: ' + options.db_uri
print('groups for this worker: ' + ', '.join(group_names))
print('connecting to database in folder: ' + options.db_folder or './')
print('using URI: ' + options.db_uri)
db = DAL(options.db_uri, folder=options.db_folder)
print 'instantiating scheduler...'
print('instantiating scheduler...')
scheduler = Scheduler(db=db,
worker_name=options.worker_name,
tasks=tasks,
@@ -1487,7 +1488,7 @@ def main():
max_empty_runs=options.max_empty_runs,
utc_time=options.utc_time)
signal.signal(signal.SIGTERM, lambda signum, stack_frame: sys.exit(1))
print 'starting main worker loop...'
print('starting main worker loop...')
scheduler.loop()
if __name__ == '__main__':
+4 -3
View File
@@ -10,6 +10,7 @@
Web2py environment in the shell
--------------------------------
"""
from __future__ import print_function
import os
import sys
@@ -265,7 +266,7 @@ def run(
if import_models:
BaseAdapter.close_all_instances('commit')
except Exception as e:
print traceback.format_exc()
print(traceback.format_exc())
if import_models:
BaseAdapter.close_all_instances('rollback')
elif python_code:
@@ -274,7 +275,7 @@ def run(
if import_models:
BaseAdapter.close_all_instances('commit')
except Exception as e:
print traceback.format_exc()
print(traceback.format_exc())
if import_models:
BaseAdapter.close_all_instances('rollback')
else:
@@ -347,7 +348,7 @@ def parse_path_info(path_info, av=False):
def die(msg):
print >> sys.stderr, msg
print(msg, file=sys.stderr)
sys.exit(1)
+5 -4
View File
@@ -4,6 +4,7 @@
"""
Unit tests for gluon.sqlhtml
"""
from __future__ import print_function
import os
import sys
import unittest
@@ -87,7 +88,7 @@ class TestAppAdmin(unittest.TestCase):
try:
self.run_view()
except Exception as e:
print e.message
print(e.message)
self.fail('Could not make the view')
def test_select(self):
@@ -102,7 +103,7 @@ class TestAppAdmin(unittest.TestCase):
try:
self.run_view()
except Exception as e:
print e.message
print(e.message)
self.fail('Could not make the view')
def test_insert(self):
@@ -116,7 +117,7 @@ class TestAppAdmin(unittest.TestCase):
try:
self.run_view()
except Exception as e:
print e.message
print(e.message)
self.fail('Could not make the view')
def test_insert_submit(self):
@@ -138,7 +139,7 @@ class TestAppAdmin(unittest.TestCase):
try:
self.run_view()
except Exception as e:
print e.message
print(e.message)
self.fail('Could not make the view')
db = self.env['db']
lisa_record = db(db.auth_user.username == 'lisasimpson').select().first()
+5 -4
View File
@@ -3,6 +3,7 @@
"""
Unit tests for running web2py
"""
from __future__ import print_function
import sys
import os
import unittest
@@ -32,22 +33,22 @@ def startwebserver():
path = os.path.abspath(os.path.join(path, '..'))
web2py_exec = os.path.join(path, 'web2py.py')
webserverprocess = subprocess.Popen([sys.executable, web2py_exec, '-a', 'testpass'])
print 'Sleeping before web2py starts...'
print('Sleeping before web2py starts...')
for a in range(1, 11):
time.sleep(1)
print a, '...'
print(a, '...')
try:
c = WebClient('http://127.0.0.1:8000')
c.get('/')
break
except:
continue
print ''
print('')
def stopwebserver():
global webserverprocess
print 'Killing webserver'
print('Killing webserver')
webserverprocess.terminate()
+3 -2
View File
@@ -10,6 +10,7 @@
Utilities and class for UTF8 strings managing
----------------------------------------------
"""
from __future__ import print_function
import __builtin__
__all__ = ['Utf8']
@@ -749,8 +750,8 @@ if __name__ == '__main__':
reload(sys)
sys.setdefaultencoding("UTF-8")
import doctest
print "DOCTESTS STARTED..."
print("DOCTESTS STARTED...")
doctest.testmod()
print "DOCTESTS FINISHED"
print("DOCTESTS FINISHED")
doctests()
+26 -25
View File
@@ -9,6 +9,7 @@
The widget is called from web2py
----------------------------------
"""
from __future__ import print_function
import datetime
import sys
@@ -118,14 +119,14 @@ def get_url(host, path='/', proto='http', port=80):
def start_browser(url, startup=False):
if startup:
print 'please visit:'
print '\t', url
print 'starting browser...'
print('please visit:')
print('\t', url)
print('starting browser...')
try:
import webbrowser
webbrowser.open(url)
except:
print 'warning: unable to detect your browser'
print('warning: unable to detect your browser')
class web2pyDialog(object):
@@ -357,16 +358,16 @@ class web2pyDialog(object):
sys.stderr.write('Sorry, -K only supported for python 2.6-2.7\n')
return
code = "from gluon import current;current._scheduler.loop()"
print 'starting scheduler from widget for "%s"...' % app
print('starting scheduler from widget for "%s"...' % app)
args = (app, True, True, None, False, code)
logging.getLogger().setLevel(self.options.debuglevel)
p = Process(target=run, args=args)
self.scheduler_processes[app] = p
self.update_schedulers()
print "Currently running %s scheduler processes" % (
len(self.scheduler_processes))
print("Currently running %s scheduler processes" % (
len(self.scheduler_processes)))
p.start()
print "Processes started"
print("Processes started")
def try_stop_scheduler(self, app):
if app in self.scheduler_processes:
@@ -950,12 +951,12 @@ def console():
content = open(os.path.join('examples', 'app.example.yaml'), 'rb').read()
open('app.yaml', 'wb').write(content.replace("yourappname", name))
else:
print "app.yaml alreday exists in the web2py folder"
print("app.yaml alreday exists in the web2py folder")
if not os.path.exists('gaehandler.py'):
content = open(os.path.join('handlers', 'gaehandler.py'), 'rb').read()
open('gaehandler.py', 'wb').write(content)
else:
print "gaehandler.py alreday exists in the web2py folder"
print("gaehandler.py alreday exists in the web2py folder")
sys.exit(0)
try:
@@ -1042,7 +1043,7 @@ def get_code_for_scheduler(app, options):
code = code % ("','".join(app[1:]))
app_ = app[0]
if not check_existent_app(options, app_):
print "Application '%s' doesn't exist, skipping" % app_
print("Application '%s' doesn't exist, skipping" % app_)
return None, None
return app_, code
@@ -1065,7 +1066,7 @@ def start_schedulers(options):
app_, code = get_code_for_scheduler(apps[0], options)
if not app_:
return
print 'starting single-scheduler for "%s"...' % app_
print('starting single-scheduler for "%s"...' % app_)
run(app_, True, True, None, False, code)
return
@@ -1077,20 +1078,20 @@ def start_schedulers(options):
app_, code = get_code_for_scheduler(app, options)
if not app_:
continue
print 'starting scheduler for "%s"...' % app_
print('starting scheduler for "%s"...' % app_)
args = (app_, True, True, None, False, code)
p = Process(target=run, args=args)
processes.append(p)
print "Currently running %s scheduler processes" % (len(processes))
print("Currently running %s scheduler processes" % (len(processes)))
p.start()
##to avoid bashing the db at the same time
time.sleep(0.7)
print "Processes started"
print("Processes started")
for p in processes:
try:
p.join()
except (KeyboardInterrupt, SystemExit):
print "Processes stopped"
print("Processes stopped")
except:
p.terminate()
p.join()
@@ -1104,13 +1105,13 @@ def start(cron=True):
(options, args) = console()
if not options.nobanner:
print ProgramName
print ProgramAuthor
print ProgramVersion
print(ProgramName)
print(ProgramAuthor)
print(ProgramVersion)
from pydal.drivers import DRIVERS
if not options.nobanner:
print 'Database drivers available: %s' % ', '.join(DRIVERS)
print('Database drivers available: %s' % ', '.join(DRIVERS))
# ## if -L load options from options.config file
if options.config:
@@ -1121,7 +1122,7 @@ def start(cron=True):
# Jython doesn't like the extra stuff
options2 = __import__(options.config)
except Exception:
print 'Cannot import config file [%s]' % options.config
print('Cannot import config file [%s]' % options.config)
sys.exit(1)
for key in dir(options2):
if hasattr(options, key):
@@ -1170,7 +1171,7 @@ def start(cron=True):
# ## if --softcron use softcron
# ## use hardcron in all other cases
if cron and options.runcron and options.softcron:
print 'Using softcron (but this is not very efficient)'
print('Using softcron (but this is not very efficient)')
global_settings.web2py_crontype = 'soft'
elif cron and options.runcron:
logger.debug('Starting hardcron...')
@@ -1186,7 +1187,7 @@ def start(cron=True):
options.taskbar = False
if options.taskbar and os.name != 'nt':
print 'Error: taskbar not supported on this platform'
print('Error: taskbar not supported on this platform')
sys.exit(1)
root = None
@@ -1234,7 +1235,7 @@ end tell
options.password = getpass.getpass('choose a password:')
if not options.password and not options.nobanner:
print 'no password, no admin interface'
print('no password, no admin interface')
# ##-X (if no tk, the widget takes care of it himself)
if not root and options.scheduler and options.with_scheduler:
@@ -1265,7 +1266,7 @@ end tell
message += 'use "taskkill /f /pid %i" to shutdown the web2py server\n\n' % os.getpid()
else:
message += 'use "kill -SIGTERM %i" to shutdown the web2py server\n\n' % os.getpid()
print message
print(message)
# enhance linecache.getline (used by debugger) to look at the source file
# if the line was not found (under py2exe & when file was modified)