mirror of
https://github.com/wassname/scikit-image.git
synced 2026-08-13 12:40:24 +08:00
Merge pull request #586 from sciunto/print
MIN: use print() instead of print
This commit is contained in:
+12
-12
@@ -187,7 +187,7 @@ def generate_example_galleries(app):
|
||||
def generate_examples_and_gallery(example_dir, rst_dir, cfg):
|
||||
"""Generate rst from examples and create gallery to showcase examples."""
|
||||
if not example_dir.exists:
|
||||
print "No example directory found at", example_dir
|
||||
print("No example directory found at", example_dir)
|
||||
return
|
||||
rst_dir.makedirs()
|
||||
|
||||
@@ -225,12 +225,12 @@ def write_gallery(gallery_index, src_dir, rst_dir, cfg, depth=0):
|
||||
index_name = cfg.plot2rst_index_name + cfg.source_suffix
|
||||
gallery_template = src_dir.pjoin(index_name)
|
||||
if not os.path.exists(gallery_template):
|
||||
print src_dir
|
||||
print 80*'_'
|
||||
print ('Example directory %s does not have a %s file'
|
||||
print(src_dir)
|
||||
print(80*'_')
|
||||
print('Example directory %s does not have a %s file'
|
||||
% (src_dir, index_name))
|
||||
print 'Skipping this directory'
|
||||
print 80*'_'
|
||||
print('Skipping this directory')
|
||||
print(80*'_')
|
||||
return
|
||||
|
||||
gallery_description = file(gallery_template).read()
|
||||
@@ -252,11 +252,11 @@ def write_gallery(gallery_index, src_dir, rst_dir, cfg, depth=0):
|
||||
try:
|
||||
write_example(src_name, src_dir, rst_dir, cfg)
|
||||
except Exception:
|
||||
print "Exception raised while running:"
|
||||
print "%s in %s" % (src_name, src_dir)
|
||||
print '~' * 60
|
||||
print("Exception raised while running:")
|
||||
print("%s in %s" % (src_name, src_dir))
|
||||
print('~' * 60)
|
||||
traceback.print_exc()
|
||||
print '~' * 60
|
||||
print('~' * 60)
|
||||
continue
|
||||
|
||||
link_name = sub_dir.pjoin(src_name)
|
||||
@@ -354,8 +354,8 @@ def write_example(src_name, src_dir, rst_dir, cfg):
|
||||
|
||||
if not thumb_path.exists:
|
||||
if cfg.plot2rst_default_thumb is None:
|
||||
print "WARNING: No plots found and default thumbnail not defined."
|
||||
print "Specify 'plot2rst_default_thumb' in Sphinx config file."
|
||||
print("WARNING: No plots found and default thumbnail not defined.")
|
||||
print("Specify 'plot2rst_default_thumb' in Sphinx config file.")
|
||||
else:
|
||||
shutil.copy(cfg.plot2rst_default_thumb, thumb_path)
|
||||
|
||||
|
||||
+5
-5
@@ -48,7 +48,7 @@ def sh2(cmd):
|
||||
out = p.communicate()[0]
|
||||
retcode = p.returncode
|
||||
if retcode:
|
||||
print out.rstrip()
|
||||
print(out.rstrip())
|
||||
raise CalledProcessError(retcode, cmd)
|
||||
else:
|
||||
return out.rstrip()
|
||||
@@ -123,12 +123,12 @@ if __name__ == '__main__':
|
||||
sh('git add %s' % tag)
|
||||
sh2('git commit -m"Updated doc release: %s"' % tag)
|
||||
|
||||
print 'Most recent commit:'
|
||||
print('Most recent commit:')
|
||||
sys.stdout.flush()
|
||||
sh('git --no-pager log --oneline HEAD~1..')
|
||||
finally:
|
||||
cd(startdir)
|
||||
|
||||
print
|
||||
print 'Now verify the build in: %r' % dest
|
||||
print "If everything looks good, run 'git push' inside doc/gh-pages."
|
||||
print('')
|
||||
print('Now verify the build in: %r' % dest)
|
||||
print("If everything looks good, run 'git push' inside doc/gh-pages.")
|
||||
|
||||
@@ -8,7 +8,7 @@ Original snake image from pixabay [1]_
|
||||
"""
|
||||
import sys
|
||||
if len(sys.argv) != 2 or sys.argv[1] != '--no-plot':
|
||||
print "Run with '--no-plot' flag to generate logo silently."
|
||||
print("Run with '--no-plot' flag to generate logo silently.")
|
||||
else:
|
||||
import matplotlib as mpl
|
||||
mpl.use('Agg')
|
||||
|
||||
@@ -49,13 +49,13 @@ def calculate_coverage(reader):
|
||||
partial_items,
|
||||
total_items - (partial_items + done_items + na_items),
|
||||
na_items)
|
||||
|
||||
|
||||
return list(i / total_items for i in counts)
|
||||
|
||||
def read_table_titles(reader):
|
||||
r"""Create a dictionary with keys as section names and values as a list of
|
||||
table names
|
||||
|
||||
|
||||
return (dict)
|
||||
"""
|
||||
section_titles = []
|
||||
@@ -69,39 +69,39 @@ def read_table_titles(reader):
|
||||
# Extract names of the tables
|
||||
for name in row[1:]:
|
||||
if len(name) > 0:
|
||||
names.append(name)
|
||||
names.append(name)
|
||||
else:
|
||||
break
|
||||
section_titles.append(row[0])
|
||||
table_names[row[0]] = names
|
||||
except csv.Error, e:
|
||||
sys.exit('line %d: %s' % (reader.line_num, e))
|
||||
|
||||
|
||||
return section_titles,table_names
|
||||
|
||||
def table_seperator(stream,lengths,character="-"):
|
||||
r"""Write out table row seperator
|
||||
|
||||
|
||||
:Input:
|
||||
- *stream* (io/stream) Stream where output is put
|
||||
- *lengths* (list) A list of the lengths of the columns
|
||||
- *character* (string) Character to be filled between +, defaults to "-".
|
||||
|
||||
|
||||
"""
|
||||
stream.write("+")
|
||||
stream.write('+'.join([character*(length+2) for length in lengths]))
|
||||
stream.write("+")
|
||||
|
||||
|
||||
def table_row(stream,data,lengths,num_columns=None):
|
||||
r"""Write out table row data
|
||||
|
||||
|
||||
:Input:
|
||||
- *stream* (io/stream) Stream where output is put
|
||||
- *data* (list) List of strings containing data
|
||||
- *lengths* (list) A list of the lengths of the columns
|
||||
- *num_columns* (string) Number of columns, defaults to the length of the
|
||||
- *num_columns* (string) Number of columns, defaults to the length of the
|
||||
data array
|
||||
|
||||
|
||||
"""
|
||||
if num_columns is None:
|
||||
num_columns = len(data)
|
||||
@@ -115,11 +115,11 @@ def table_row(stream,data,lengths,num_columns=None):
|
||||
else:
|
||||
entry = MISSING_STRING
|
||||
stream.write(" " + entry + " "*(lengths[i] - len(entry)) + " |")
|
||||
|
||||
|
||||
def generate_table(reader,stream,table_name=None,
|
||||
column_titles=["Functionality","Matlab","Scipy","Scipy"]):
|
||||
r"""Generate a reST grid table based on the CSV data in reader
|
||||
|
||||
|
||||
Reads CSV data from *reader* until an empty line is found and generates a
|
||||
reST table based on the data into *stream*. A table name can be given for
|
||||
a section and table label. All rows are read in and checked for maximum
|
||||
@@ -127,13 +127,13 @@ def generate_table(reader,stream,table_name=None,
|
||||
widths so that the table can be constructed. If a row contains less than
|
||||
the maximum number of columns a string is inserted that defaults to the
|
||||
string *MISSING_STRING* which is a global parameter.
|
||||
|
||||
|
||||
:Input:
|
||||
- reader (csv.reader) The CSV reader to read in from
|
||||
- stream (iostream) Output target
|
||||
- table_name (string) Optional name of table, defaults to *None*
|
||||
- column_titles (list) List of column titles
|
||||
|
||||
|
||||
"""
|
||||
# Find number of columns and column widths, base number of columns is
|
||||
# determined by the headers
|
||||
@@ -141,7 +141,6 @@ def generate_table(reader,stream,table_name=None,
|
||||
data = [column_titles]
|
||||
try:
|
||||
for row in reader:
|
||||
# print row
|
||||
if len(row[0]) == 0:
|
||||
break
|
||||
data.append([entry.expandtabs() for entry in row])
|
||||
@@ -153,7 +152,7 @@ def generate_table(reader,stream,table_name=None,
|
||||
for row in data:
|
||||
for i in xrange(len(row)):
|
||||
column_lengths[i] = max(column_lengths[i],len(row[i]))
|
||||
|
||||
|
||||
# Output table header
|
||||
stream.write(table_name + "\n")
|
||||
if table_name is not None:
|
||||
@@ -167,7 +166,7 @@ def generate_table(reader,stream,table_name=None,
|
||||
stream.write("\n")
|
||||
table_seperator(stream,column_lengths,character="=")
|
||||
stream.write("\n")
|
||||
|
||||
|
||||
# Output table data
|
||||
for row in data[1:]:
|
||||
table_row(stream,row,column_lengths,num_columns)
|
||||
@@ -175,28 +174,28 @@ def generate_table(reader,stream,table_name=None,
|
||||
table_seperator(stream,column_lengths,character='-')
|
||||
stream.write("\n")
|
||||
stream.write("\n\n")
|
||||
|
||||
|
||||
def generate_page(csv_path,stream,page_title="Coverage Tables"):
|
||||
r"""Generate coverage table page
|
||||
|
||||
|
||||
Generates all reST for all tables contained in the CSV file at *csv_path*
|
||||
and output it to *stream*.
|
||||
|
||||
|
||||
:Input:
|
||||
- *csv_path* (path) Path to CSV file
|
||||
- *stream* (iostream) Output stream
|
||||
- *page_title* (string) Optional page title, defaults to
|
||||
- *page_title* (string) Optional page title, defaults to
|
||||
``Coverage Tables``.
|
||||
"""
|
||||
# Open reader
|
||||
csv_file = open(csv_path,'U')
|
||||
|
||||
|
||||
# Sniffer does not seem to work all the time even when an Excel
|
||||
# spread sheet is being used
|
||||
# dialect = csv.Sniffer().sniff(csv_file.read(1024))
|
||||
# csv_file.seek(0)
|
||||
# reader = csv.reader(csv_file, dialect)
|
||||
|
||||
|
||||
reader = csv.reader(csv_file)
|
||||
item_counts = calculate_coverage(reader)
|
||||
csv_file.seek(0)
|
||||
@@ -254,21 +253,21 @@ if __name__ == "__main__":
|
||||
output_path = './coverage_table.txt'
|
||||
if len(sys.argv) > 1:
|
||||
if sys.argv[1][:5].lower() == "help":
|
||||
print "Coverage Table Generator: coverage_generator.py"
|
||||
print " Usage: coverage_generator.py [csv] [output]"
|
||||
print " csv - Path to csv file, defaults to ./coverage.csv"
|
||||
print " output - Ouput path, defaults to ./coverage_table.txt"
|
||||
print ""
|
||||
print("Coverage Table Generator: coverage_generator.py")
|
||||
print(" Usage: coverage_generator.py [csv] [output]")
|
||||
print(" csv - Path to csv file, defaults to ./coverage.csv")
|
||||
print(" output - Ouput path, defaults to ./coverage_table.txt")
|
||||
print('')
|
||||
sys.exit(0)
|
||||
if len(sys.argv) == 2:
|
||||
csv_path = os.path.abspath(sys.argv[1])
|
||||
if len(sys.argv) == 3:
|
||||
output_path = os.path.abspath(sys.argv[2])
|
||||
|
||||
|
||||
output = open(output_path,'w')
|
||||
generate_page(csv_path,output)
|
||||
output.close()
|
||||
|
||||
|
||||
print("Generated %s from %s." % (output_path,csv_path))
|
||||
|
||||
|
||||
|
||||
@@ -34,9 +34,9 @@ violates these assumptions about the dtype range::
|
||||
|
||||
>>> from skimage import img_as_float
|
||||
>>> image = np.arange(0, 50, 10, dtype=np.uint8)
|
||||
>>> print image.astype(np.float) # These float values are out of range.
|
||||
>>> print(image.astype(np.float)) # These float values are out of range.
|
||||
[ 0. 10. 20. 30. 40.]
|
||||
>>> print img_as_float(image)
|
||||
>>> print(img_as_float(image))
|
||||
[ 0. 0.03921569 0.07843137 0.11764706 0.15686275]
|
||||
|
||||
|
||||
|
||||
+3
-3
@@ -176,7 +176,7 @@ class ApiDocWriter(object):
|
||||
''' Parse module defined in *uri* '''
|
||||
filename = self._uri2path(uri)
|
||||
if filename is None:
|
||||
print filename, 'erk'
|
||||
print(filename, 'erk')
|
||||
# nothing that we could handle here.
|
||||
return ([],[])
|
||||
f = open(filename, 'rt')
|
||||
@@ -260,7 +260,7 @@ class ApiDocWriter(object):
|
||||
# get the names of all classes and functions
|
||||
functions, classes = self._parse_module_with_import(uri)
|
||||
if not len(functions) and not len(classes) and DEBUG:
|
||||
print 'WARNING: Empty -', uri # dbg
|
||||
print('WARNING: Empty -', uri) # dbg
|
||||
return ''
|
||||
|
||||
# Make a shorter version of the uri that omits the package name for
|
||||
@@ -449,7 +449,7 @@ class ApiDocWriter(object):
|
||||
relpath = (outdir + os.path.sep).replace(relative_to + os.path.sep, '')
|
||||
else:
|
||||
relpath = outdir
|
||||
print "outdir: ", relpath
|
||||
print("outdir: ", relpath)
|
||||
idx = open(path,'wt')
|
||||
w = idx.write
|
||||
w('.. AUTO-GENERATED FILE -- DO NOT EDIT!\n\n')
|
||||
|
||||
@@ -13,7 +13,7 @@ from distutils.version import LooseVersion as V
|
||||
#*****************************************************************************
|
||||
|
||||
def abort(error):
|
||||
print '*WARNING* API documentation not generated: %s'%error
|
||||
print('*WARNING* API documentation not generated: %s' % error)
|
||||
exit()
|
||||
|
||||
if __name__ == '__main__':
|
||||
@@ -54,4 +54,4 @@ if __name__ == '__main__':
|
||||
]
|
||||
docwriter.write_api_docs(outdir)
|
||||
docwriter.write_index(outdir, 'api', relative_to='source/api')
|
||||
print '%d files written' % len(docwriter.written_modules)
|
||||
print('%d files written' % len(docwriter.written_modules))
|
||||
|
||||
@@ -48,7 +48,7 @@ def fetch_PRs(user='scikit-image', repo='scikit-image', state='open'):
|
||||
|
||||
fetch_status = 'Fetching page %(page)d (state=%(state)s)' % params + \
|
||||
' from %(user)s/%(repo)s...' % config
|
||||
print fetch_status
|
||||
print(fetch_status)
|
||||
|
||||
f = urllib.urlopen(
|
||||
'https://api.github.com/repos/%(user)s/%(repo)s/pulls?%(params)s' \
|
||||
@@ -61,7 +61,7 @@ def fetch_PRs(user='scikit-image', repo='scikit-image', state='open'):
|
||||
|
||||
if 'message' in page_data and page_data['message'] == "Not Found":
|
||||
page_data = []
|
||||
print 'Warning: Repo not found (%(user)s/%(repo)s)' % config
|
||||
print('Warning: Repo not found (%(user)s/%(repo)s)' % config)
|
||||
else:
|
||||
data.extend(page_data)
|
||||
|
||||
@@ -69,7 +69,7 @@ def fetch_PRs(user='scikit-image', repo='scikit-image', state='open'):
|
||||
|
||||
try:
|
||||
PRs = json.loads(open(cache, 'r').read())
|
||||
print 'Loaded PRs from cache...'
|
||||
print('Loaded PRs from cache...')
|
||||
|
||||
except IOError:
|
||||
PRs = fetch_PRs(user='stefanv', repo='scikits.image', state='closed')
|
||||
@@ -81,7 +81,7 @@ except IOError:
|
||||
cf.flush()
|
||||
|
||||
nrs = [pr['number'] for pr in PRs]
|
||||
print 'Processing %d pull requests...' % len(nrs)
|
||||
print('Processing %d pull requests...' % len(nrs))
|
||||
|
||||
dates = [dateutil.parser.parse(pr['created_at']) for pr in PRs]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user