Commit 4a639656 authored by Jérome Perrin's avatar Jérome Perrin

use print_function future

This uses `from __future__ import print_function` from "unrestricted" python code.

For restricted python in python scripts, this expects SlapOS to have nexedi/slapos!1536 .
Running ERP5 with this patch on an old SlapOS software release should probably be OK,
especially because after all we don't have so much critical code using print.

To ease migration of custom project code, PythonCodeUtils was modified so that
when running CodingStyle python scripts are checked with print_function future enabled.

See merge request nexedi/erp5!1883
parents d63ec839 3b11c726
Pipeline #33182 failed with stage
in 0 seconds
......@@ -26,9 +26,9 @@ informations = { 'processing': processing,
if informations['processing'] in ['converted', 'conversion_failed','empty']:
informations['permanent_url'] = document.Document_getPermanentUrl()
print dumps(informations) #print info before del object
print(dumps(informations)) #print info before del object
portal.portal_sessions.manage_delObjects(reference)
else:
print dumps(informations)
print(dumps(informations))
return printed
......@@ -35,7 +35,7 @@ search_params = dict(
for brain in portal.portal_simulation.getInventoryList(**search_params):
if round(brain.total_price, precision) == 0:
print '%s has a 0 balance but some not grouped transactions.' % brain.mirror_section_relative_url
print('%s has a 0 balance but some not grouped transactions.' % brain.mirror_section_relative_url)
if fixit:
tr = brain.getObject().getParentValue()
grouped_line_list = tr.AccountingTransaction_guessGroupedLines()
......@@ -51,9 +51,9 @@ for brain in portal.portal_simulation.getInventoryList(**search_params):
portal_type=portal.getPortalAccountingMovementTypeList(),
grouping_reference=None,) if not line.getObject().getGroupingReference()])
if grouped_line_list:
print 'FIXED', grouped_line_list
print('FIXED %s' % grouped_line_list)
else:
print 'NOT FIXED'
print('NOT FIXED')
active_result = ActiveResult(
summary=context.getTitle(),
......
......@@ -78,7 +78,7 @@ for property_dict in object_list:
gap = str(gap)
if gap:
gap = gap.replace('CLASSE ', '')
print '+ %s - %s - %s' % (gap or '', title or '', description or '')
print('+ %s - %s - %s' % (gap or '', title or '', description or ''))
path = root
b = ''
for a in gap:
......@@ -96,7 +96,7 @@ for path in existing_path_list:
description = document.getDescription() or ''
gap = document.getId() or ''
title = document.getTitle() or ''
print '- %s - %s - %s' % (gap or '', title or '', description or '')
print('- %s - %s - %s' % (gap or '', title or '', description or ''))
document.getParentValue().deleteContent(document.getId())
return printed
......@@ -7,7 +7,7 @@ for cat in category_list:
cat.getObject().setId(newid)
except:
pass
print newid
print(newid)
print 'Categories Renamed'
print('Categories Renamed')
return printed
......@@ -7,7 +7,7 @@ for cat in category_list:
cat.getObject().setId(newid)
except:
pass
print newid
print(newid)
print 'Categories Renamed'
print('Categories Renamed')
return printed
......@@ -48,7 +48,7 @@ dane.p59=dane.p55-dane.p56
if debug:
for f in range(20,60):
n='p'+str(f)
print n,getattr(dane,n)
print(n,getattr(dane,n))
return printed
return container[report].index_html(REQUEST=context.REQUEST, RESPONSE=context.REQUEST.RESPONSE,dane=dane)
......@@ -5,7 +5,7 @@ Warning: Before using this script as zope, edit account_workflow and give Manage
#This script will REMOVE any existing accounts!!!
#comment following if you are sure
print 'Nothing done!'
print('Nothing done!')
return printed
......@@ -22,7 +22,7 @@ for category in gap_root.getCategoryMemberValueList():
acc = account_module.newContent(title='%s %s' % (category.getId(),category.getTitle()),\
gap_value = category)
acc.validate()
print 'acc created'
print('acc created')
return printed
......@@ -251,7 +251,7 @@ for line in gap_text.splitlines():
cpath += n
path.append(cpath)
parent = gap.restrictedTraverse('/'.join(path))
print 'Added to ',parent
print('Added to ',parent)
parent.newContent(id=num, title=descr)
......
container.REQUEST.RESPONSE.setHeader('content-type', 'text/html')
print '<html><head><meta http-equiv="refresh" content="%s"></head><body>' % refresh_interval
print('<html><head><meta http-equiv="refresh" content="%s"></head><body>' % refresh_interval)
for table in 'message', 'message_queue':
q = """SELECT count(*) AS %(table)s, method_id, processing_node AS node, min(priority) AS min_pri, max(priority) AS max_pri
FROM %(table)s GROUP BY method_id, processing_node ORDER BY node""" % dict(table=table)
print "<table border=\"\" style=\"font-size:XX-small;\"><tbody> <tr><th>%s</th> <th>method_id</th> <th>node</th> <th>min_pri</th> <th>max_pri</th> </tr>" % table
print("<table border=\"\" style=\"font-size:XX-small;\"><tbody> <tr><th>%s</th> <th>method_id</th> <th>node</th> <th>min_pri</th> <th>max_pri</th> </tr>" % table)
for row in context.cmf_activity_sql_connection.manage_test(q):
print '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td</tr>' % (row[table], row['method_id'], row['node'], row['min_pri'], row['max_pri'])
print '</tbody> </table> <br/>'
print('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td</tr>' % (row[table], row['method_id'], row['node'], row['min_pri'], row['max_pri']))
print('</tbody> </table> <br/>')
return printed
......@@ -10,14 +10,14 @@ for security_uid_field in security_uid_field_list:
print(">> useless uids in roles_and_users table <<\n")
if len(referenced_uid_set) > 0:
for row in req("select * from roles_and_users where uid not in %s" + tuple(referenced_uid_set)):
print row.uid, row.local_roles_group_id, row.allowedRolesAndUsers
print(row.uid, row.local_roles_group_id, row.allowedRolesAndUsers)
print("\n>> uids that should be in roles_and_users table <<\n")
all_uid_set = {row.uid for row in req("select uid from roles_and_users")}
for security_uid_field in security_uid_field_list:
for row in req("select %s, relative_url from catalog where %s not in %s" % (security_uid_field, security_uid_field, tuple(all_uid_set))):
print security_uid_field, getattr(row, security_uid_field, None), row.relative_url
print(security_uid_field, getattr(row, security_uid_field, None), row.relative_url)
print("\n>> END <<")
return printed
......@@ -6,18 +6,18 @@ u = getSecurityManager().getUser()
user_value = u.getUserValue()
if user_value is None:
print 'User ID:', u.getId()
print('User ID:', u.getId())
else:
print 'User ID:', u.getId(), user_value.getPath()
print('User ID:', u.getId(), user_value.getPath())
login_value = u.getLoginValue()
if login_value is None:
print 'Login:', u.getUserName()
print('Login:', u.getUserName())
else:
print 'Login:', u.getUserName(), login_value.getPath()
print 'Is owner:', u.allowed(context,('Owner',))
print 'User roles:', u.getRoles()
print 'User roles in context:', u.getRolesInContext(context)
print 'Permissions:'
print('Login:', u.getUserName(), login_value.getPath())
print('Is owner:', u.allowed(context,('Owner',)))
print('User roles:', u.getRoles())
print('User roles in context:', u.getRolesInContext(context))
print('Permissions:')
for permission in [
'Access contents information',
'Add portal content',
......@@ -26,25 +26,25 @@ for permission in [
'View',
'Manage portal',
]:
print " ", permission, u.has_permission(permission, context)
print(" ", permission, u.has_permission(permission, context))
print
print()
try:
print "User groups:\n", pformat(sorted(u.getGroups()))
print("User groups:\n", pformat(sorted(u.getGroups())))
except AttributeError:
print 'no getGroups'
print('no getGroups')
print
print 'Local roles on document:\n', pformat(context.get_local_roles())
print()
print('Local roles on document:\n', pformat(context.get_local_roles()))
print '''
print('''
----------------
Security mapping
----------------'''
----------------''')
if u.getId() is not None:
try:
print context.Base_viewSecurityMappingAsUser(u.getId())
print(context.Base_viewSecurityMappingAsUser(u.getId()))
except Unauthorized:
print "user doesn't have permission to security mapping in this context"
print("user doesn't have permission to security mapping in this context")
return printed
......@@ -16,12 +16,12 @@ for method_id, base_category_list in getSecurityCategoryMapping():
security_category_dict.setdefault(tuple(base_category_list), []).extend(
getattr(context, method_id)(base_category_list, login, context, ''))
except Exception: # XXX: it is not possible to log message with traceback from python script
print 'It was not possible to invoke method %s with base_category_list %s'%(method_id, base_category_list)
print('It was not possible to invoke method %s with base_category_list %s'%(method_id, base_category_list))
for base_category_list, category_value_list in security_category_dict.items():
print 'base_category_list:', base_category_list
print('base_category_list: %s' % (base_category_list,))
for category_dict in category_value_list:
print '-> category_dict:', category_dict
print '-->', group_id_list_generator(category_order=base_category_list,
**category_dict)
print('-> category_dict: %s' % category_dict)
print('--> %s' % group_id_list_generator(category_order=base_category_list,
**category_dict))
return printed
......@@ -20,7 +20,7 @@ if context.getPortalType() == 'Alarm':
else:
active_process = context.portal_activities.newActiveProcess().getPath()
ERP5Site_checkDataWithScript = context.portal_activities.ERP5Site_checkDataWithScript
print 'Results will be saved to %s' % active_process
print('Results will be saved to %s' % active_process)
checkTopLevel()
ERP5Site_checkDataWithScript(
......
for builder in sorted(context.getPortalObject().portal_deliveries.contentValues(),
key=lambda x:x.getTitle()):
print builder.getId()
print " Title: %s" % (builder.getTitle())
print " Simulation Select Method: %s" % (builder.getSimulationSelectMethodId())
print " Delivery Select Method: %s" % (builder.getDeliverySelectMethodId())
print " After Generation Script: %s" % (builder.getDeliveryAfterGenerationScriptId())
print
print(builder.getId())
print(" Title: %s" % (builder.getTitle()))
print(" Simulation Select Method: %s" % (builder.getSimulationSelectMethodId()))
print(" Delivery Select Method: %s" % (builder.getDeliverySelectMethodId()))
print(" After Generation Script: %s" % (builder.getDeliveryAfterGenerationScriptId()))
print()
for mg in sorted(builder.contentValues(), key=lambda x:x.getTitle()):
print builder.getId()
print " ", "\n ".join([x for x in (
print(builder.getId())
print(" ", "\n ".join([x for x in (
"Id: %s" % mg.getId(),
"Title: %s" % mg.getTitle(),
"Type: %s" % mg.getPortalType(),
......@@ -17,7 +17,7 @@ for builder in sorted(context.getPortalObject().portal_deliveries.contentValues(
"Tested Properties: %r" % mg.getTestedPropertyList(),
"Update Always: %r" % mg.isUpdateAlways(),
)])
print
)]))
print()
return printed
......@@ -4,6 +4,6 @@ for business_template in sorted(context.getPortalObject().portal_templates.conte
key=lambda x:x.getTitle()):
if business_template.getInstallationState() == 'installed' and \
business_template.getTitle() not in ignore_business_template_list:
print business_template.getTitle()
print(business_template.getTitle())
return printed
for builder in sorted(context.getPortalObject().portal_orders.contentValues(),
key=lambda x:x.getTitle()):
print builder.getId()
print " Title: %s" % (builder.getTitle())
print " Simulation Select Method: %s" % (builder.getSimulationSelectMethodId())
print " Delivery Select Method: %s" % (builder.getDeliverySelectMethodId())
print " After Generation Script: %s" % (builder.getDeliveryAfterGenerationScriptId())
print " Delivery Module Before Building Script: %s" % (builder.getDeliveryModuleBeforeBuildingScriptId())
print
print(builder.getId())
print(" Title: %s" % (builder.getTitle()))
print(" Simulation Select Method: %s" % (builder.getSimulationSelectMethodId()))
print(" Delivery Select Method: %s" % (builder.getDeliverySelectMethodId()))
print(" After Generation Script: %s" % (builder.getDeliveryAfterGenerationScriptId()))
print(" Delivery Module Before Building Script: %s" % (builder.getDeliveryModuleBeforeBuildingScriptId()))
print()
for mg in sorted(builder.contentValues(), key=lambda x:x.getTitle()):
print builder.getId()
print " ", "\n ".join([x for x in (
print(builder.getId())
print(" ", "\n ".join([x for x in (
"Id: %s" % mg.getId(),
"Title: %s" % mg.getTitle(),
"Type: %s" % mg.getPortalType(),
......@@ -18,7 +18,7 @@ for builder in sorted(context.getPortalObject().portal_orders.contentValues(),
"Tested Properties: %r" % mg.getTestedPropertyList(),
"Update Always: %r" % mg.isUpdateAlways(),
)])
print
)]))
print()
return printed
......@@ -37,12 +37,12 @@ for skin_folder in portal.portal_skins.objectValues('Folder'):
for skin in skin_folder.objectValues():
if skin.getId() in ignore_skin_list:
continue
print getSkinHash(skin, skin_folder)
print(getSkinHash(skin, skin_folder))
if include_workflow_scripts:
for workflow in portal.portal_workflow.objectValues():
for skin in workflow.scripts.objectValues():
print getSkinHash(skin, workflow)
print(getSkinHash(skin, workflow))
container.REQUEST.RESPONSE.setHeader('content-type', 'text/plain')
return '\n'.join(sorted(printed.splitlines()))
for ti in sorted(context.getPortalObject().portal_types.contentValues(), key=lambda x:x.getId()):
for ai in sorted(ti.contentValues(portal_type='Action Information'), key=lambda x:x.getReference()):
print ti.getId()
print " ", "\n ".join([x for x in (
print(ti.getId())
print(" ", "\n ".join([x for x in (
"Reference: %s" % ai.getReference(),
"Title: %s" % ai.getTitle(),
"Action: %s" % ai.getActionText(),
......@@ -9,7 +9,7 @@ for ti in sorted(context.getPortalObject().portal_types.contentValues(), key=lam
"Permission: %s" % ai.getActionPermission(),
"Action Type: %s" % ai.getActionType(),
"Visible: %s" % ai.getVisible(),
"Index: %s" % ai.getFloatIndex())])
print
"Index: %s" % ai.getFloatIndex())]))
print()
return printed
for ti in sorted(context.getPortalObject().portal_types.contentValues(), key=lambda x:x.getId()):
print ti.getId()
print " ", "\n ".join([x for x in (
print(ti.getId())
print(" ", "\n ".join([x for x in (
"Short Title: %s" % ti.getShortTitle(),
"Class: %s" % ti.getTypeClass(),
"Init Script: %s" % ti.getTypeInitScriptId(),
......@@ -12,7 +12,7 @@ for ti in sorted(context.getPortalObject().portal_types.contentValues(), key=lam
"Hidden Content Types: %r" % sorted(ti.getTypeHiddenContentTypeList()),
"Searchable Property: %r" % sorted(ti.getSearchableTextPropertyIdList()),
"Searchable Method: %r" % sorted(ti.getSearchableTextMethodIdList()),
)])
print
)]))
print()
return printed
for ti in sorted(context.getPortalObject().portal_types.contentValues(), key=lambda x:x.getId()):
for ri in sorted(ti.contentValues(portal_type='Role Information'), key=lambda x:(x.getTitle(), x.getLocalRoleGroupId(), x.getRoleBaseCategoryScriptId(), x.getRoleBaseCategoryList())):
print ti.getId()
print " ", "\n ".join([x for x in (
print(ti.getId())
print(" ", "\n ".join([x for x in (
"Title: %s" % ri.getTitle(),
"Roles: %r" % ri.getRoleNameList(),
"Condition: %s" % ri.getConditionText(),
"Local Roles Group Id: %s" % ri.getLocalRoleGroupId(),
"Base Categories: %r" % ri.getRoleBaseCategoryList(),
"Base Category Script: %s" % ri.getRoleBaseCategoryScriptId(),
"Categories: %r" % ri.getRoleCategoryList() )])
print
"Categories: %r" % ri.getRoleCategoryList() )]))
print()
return printed
......@@ -6,7 +6,7 @@ for ps in sorted(context.getPortalObject().portal_property_sheets.contentValues(
ps_id = ps.getId()
if ps_id in ignore_property_sheet_list:
continue
print ps.getId()
print(ps.getId())
info_list = ['id', 'portal_type', 'reference']
std_prop_list = ['elementary_type', 'property_default', 'storage_id', 'multivaluated', 'range', 'preference', 'read_permission', 'write_permission', 'translatable', 'translation_domain']
if pd.getPortalType() == 'Standard Property':
......@@ -29,10 +29,10 @@ for ps in sorted(context.getPortalObject().portal_property_sheets.contentValues(
elif pd.getPortalType().endswith('Constraint'):
info_list += [] + [p for p in pd.propertyIds() if p.startswith('message')]
else:
print "(not supported)",pd.getRelativeUrl(), pd.getPortalType()
print("(not supported)",pd.getRelativeUrl(), pd.getPortalType())
print " ", "\n ".join(['%s: %s' % (prop, pd.getProperty(prop)) for prop in sorted(info_list)])
print
print(" ", "\n ".join(['%s: %s' % (prop, pd.getProperty(prop)) for prop in sorted(info_list)]))
print()
return printed
......@@ -2,17 +2,17 @@ for rule in sorted(context.getPortalObject().portal_rules.contentValues(),
key=lambda x:x.getTitle()):
if rule.getValidationState() != 'validated':
continue
print rule.getId()
print " Title: %s" % (rule.getTitle())
print " Trade Phases: %r" % (rule.getTradePhaseList())
print " Test Method Id: %s" % (rule.getTestMethodId())
print " Membership Criteria: %r" % (rule.getMembershipCriterionBaseCategoryList())
print " Membership Criterion Category: %r" % (rule.getMembershipCriterionCategoryList())
print
print(rule.getId())
print(" Title: %s" % (rule.getTitle()))
print(" Trade Phases: %r" % (rule.getTradePhaseList()))
print(" Test Method Id: %s" % (rule.getTestMethodId()))
print(" Membership Criteria: %r" % (rule.getMembershipCriterionBaseCategoryList()))
print(" Membership Criterion Category: %r" % (rule.getMembershipCriterionCategoryList()))
print()
for tester in sorted(rule.contentValues(), key=lambda x:x.getTitle()):
print rule.getId()
print " ", "\n ".join([x for x in (
print(rule.getId())
print(" ", "\n ".join([x for x in (
"Id: %s" % tester.getId(),
"Title: %s" % tester.getTitle(),
"Type: %s" % tester.getPortalType(),
......@@ -25,7 +25,7 @@ for rule in sorted(context.getPortalObject().portal_rules.contentValues(),
(tester.getMembershipCriterionBaseCategoryList()),
"Membership Criterion Category: %r" %
(tester.getMembershipCriterionCategoryList()),
)])
print
)]))
print()
return printed
......@@ -13,5 +13,5 @@ for name, layers in skin_tool.getSkinPaths():
if ignore_skin_folder_list is not None and\
layer in ignore_skin_folder_list:
continue
print '%s,%s' % (name, layer)
print('%s,%s' % (name, layer))
return printed
......@@ -13,6 +13,6 @@ for field_path, field in context.ZopeFind(
relation_setter_id = field.get_value('relation_setter_id')
if relation_setter_id:
print field_path, relation_setter_id
print(field_path, relation_setter_id)
return printed
......@@ -16,6 +16,6 @@ for bt in bt_list:
delete_list.append(bt_id)
break
print 'Deleted id list:%r' % delete_list
print('Deleted id list:%r' % delete_list)
portal_templates.manage_delObjects(delete_list)
return printed
......@@ -8,5 +8,5 @@ context.ERP5Site_checkDataWithScript("Base_migrateToEmbeddedFile",
active_process=active_process.getPath(),
method_kw=dict(force=1))
print "Migration started with process id: %s" %active_process.getPath()
print("Migration started with process id: %s" %active_process.getPath())
return printed
from __future__ import print_function
from BTrees.LOBTree import LOBTree
from persistent import Persistent
import itertools
......@@ -314,7 +315,7 @@ class BTreeData(Persistent):
if __name__ == '__main__':
def check(tree, length, read_offset, read_length, data_, keys=None):
print list(tree._tree.items())
print(list(tree._tree.items()))
tree_length = len(tree)
tree_data = tree.read(read_offset, read_length)
tree_iterator_data = ''.join(tree.iterate(read_offset, read_length))
......
......@@ -68,11 +68,11 @@ for business_application_category_id, module_ids in module_business_application_
if module is not None:
module.edit(business_application = business_application_category_id)
print "Indexing translations"
print("Indexing translations")
portal.ERP5Site_updateTranslationTable()
# clear cache so user security is recalculated
portal.portal_caches.clearAllCache()
print "Clear cache."
print("Clear cache.")
log("%s" % printed)
......@@ -12,7 +12,7 @@ if business_template is not None:
filter=dict(portal_type=portal_type))
for module in module_list:
module.updateLocalRolesOnSecurityGroups()
print "Updated Role Mappings for: %s(%s) " % (module.getTitle(), module.getPortalType())
print("Updated Role Mappings for: %s(%s) " % (module.getTitle(), module.getPortalType()))
# validate and open all objects
for path in business_template.getTemplatePathList():
......@@ -22,16 +22,16 @@ if business_template is not None:
if obj.getPortalType() not in ('Category', 'Base Category',):
obj.updateLocalRolesOnSecurityGroups()
print "Updated Role Mappings for: ", path, obj.getPortalType()
print("Updated Role Mappings for: ", path, obj.getPortalType())
if obj.getPortalType() in ('Person', 'Organisation'):
for period in obj.contentValues(filter={'portal_type':'Accounting Period'}):
period.updateLocalRolesOnSecurityGroups()
print "\tOpen (Accounting Period): ", period.getRelativeUrl()
print("\tOpen (Accounting Period): ", period.getRelativeUrl())
for assignment in obj.contentValues(filter={'portal_type':'Assignment'}):
assignment.updateLocalRolesOnSecurityGroups()
print "\tOpen (assignment): ", assignment.getRelativeUrl()
print("\tOpen (assignment): ", assignment.getRelativeUrl())
for solver_type in context.portal_solvers.objectValues():
solver_type.updateLocalRolesOnSecurityGroups()
......@@ -96,11 +96,11 @@ if osoe_runner_website is not None:
available_language_list = list(portal.Localizer.get_supported_languages())
osoe_runner_website.edit(available_language_set = available_language_list)
print "Indexing translations"
print("Indexing translations")
portal.ERP5Site_updateTranslationTable()
# clear cache so user security is recalculated
portal.portal_caches.clearAllCache()
print "Clear cache."
print("Clear cache.")
log("%s" % printed)
......@@ -141,7 +141,7 @@ for message in message_list:
comment_list = message_dict[message]
comment_list.sort()
comment = '\n'.join([('#: %s' % i) for i in comment_list])
print MESSAGE_TEMPLATE % (comment, formatText(message))
print(MESSAGE_TEMPLATE % (comment, formatText(message)))
context.REQUEST.RESPONSE.setHeader('Content-Type', 'text/plain')
......
......@@ -8,10 +8,10 @@ message_list = ["Configuration is over. Enjoy your new ERP5 system!",
portal.REQUEST.RESPONSE.setHeader('content-type', 'text/plain')
for message in message_list:
if not message in html_status_report:
print "Error: {message} not found in status report".format(message=message)
print("Error: {message} not found in status report".format(message=message))
for log in portal.error_log.getLogEntries():
print "Error: {type} {value} {tb_text}".format(**log)
print("Error: {type} {value} {tb_text}".format(**log))
if str(printed):
return printed
......
......@@ -201,7 +201,7 @@ for serie in series_list:
# the last element must be saved
data_groups.append(new_group)
print data_groups
print(data_groups)
# [
......@@ -236,24 +236,24 @@ def aggregate(big_list, item_to_add):
if big_list == []:
return []
if getListLevel(big_list) == getListLevel(item_to_add):
print "big_list " + big_list
print "item_to_add " + item_to_add
print("big_list " + big_list)
print("item_to_add " + item_to_add)
big_list.append(item_to_add)
return big_list
else:
new_big_list_sub_level = aggregate(getLastSubList(big_list), item_to_add)
print "new_big_list_sub_level " + new_big_list_sub_level
print "big_list " + big_list
print("new_big_list_sub_level " + new_big_list_sub_level)
print("big_list " + big_list)
return None #setLastSubList(big_list, new_big_list_sub_level)
for group in data_groups:
collapsed_group = group[0]
for serie_group in group[1:]:
print serie_group
print(serie_group)
collapsed_group = aggregate(collapsed_group, serie_group)
print collapsed_group
print(collapsed_group)
# if
......
......@@ -27,6 +27,7 @@
#
##############################################################################
from __future__ import print_function
import random
import time
......@@ -69,7 +70,7 @@ class TestRamCache(ERP5TypeTestCase):
for cache_plugin in filtered_cache_plugins:
if not self.quiet:
print "TESTING (scope): ", cache_plugin
print("TESTING (scope): ", cache_plugin)
## clear cache for this plugin
cache_plugin.clearCache()
......@@ -85,7 +86,7 @@ class TestRamCache(ERP5TypeTestCase):
## we set ONLY one value per scope -> check if we get the same cache_id
self.assertEqual([cache_id], cache_plugin.getScopeKeyList(scope))
if not self.quiet:
print "\t", cache_id, scope, "\t\tOK"
print("\t", cache_id, scope, "\t\tOK")
## get list of scopes which must be the same as test_scopes since we clear cache initially
scopes_from_cache = cache_plugin.getScopeList()
......@@ -118,7 +119,7 @@ class TestRamCache(ERP5TypeTestCase):
def generalExpire(self, cache_plugin, iterations):
if not self.quiet:
print "TESTING (expire): ", cache_plugin
print("TESTING (expire): ", cache_plugin)
base_timeout = 1
values = self.prepareValues(iterations)
scope = "peter"
......@@ -128,7 +129,7 @@ class TestRamCache(ERP5TypeTestCase):
cache_timeout = base_timeout + random.random()*2
cache_id = "mycache_id_to_expire_%s" %(count)
if not self.quiet:
print "\t", cache_id, " ==> timeout (s) = ", cache_timeout,
print("\t", cache_id, " ==> timeout (s) = ", cache_timeout, end=' ')
## set to cache
cache_plugin.set(cache_id, scope, value, cache_timeout)
......@@ -142,11 +143,11 @@ class TestRamCache(ERP5TypeTestCase):
## check it, we MUST NOT have this key any more in cache
self.assertEqual(False, cache_plugin.has_key(cache_id, scope))
if not self.quiet:
print "\t\tOK"
print("\t\tOK")
def generaltestSetGet(self, cache_plugin, iterations):
if not self.quiet:
print "TESTING (set/get/has/del): ", cache_plugin
print("TESTING (set/get/has/del): ", cache_plugin)
values = self.prepareValues(iterations)
cache_duration = 30
scope = "peter"
......@@ -158,7 +159,7 @@ class TestRamCache(ERP5TypeTestCase):
## set to cache
cache_plugin.set(cache_id, scope, value, cache_duration)
if not self.quiet:
print "\t", cache_id,
print("\t", cache_id, end=' ')
## check has_key()
self.assertEqual(True, cache_plugin.has_key(cache_id, scope))
......@@ -184,7 +185,7 @@ class TestRamCache(ERP5TypeTestCase):
self.assertEqual(False, cache_plugin.has_key(cache_id, scope))
if not self.quiet:
print "\t\tOK"
print("\t\tOK")
def prepareValues(self, iterations):
""" generate a big list of values """
......
......@@ -27,6 +27,7 @@
#
##############################################################################
from __future__ import print_function
import time
import unittest
......@@ -227,9 +228,9 @@ return result
def _cacheFactoryInstanceTest(self, my_cache, cf_name, clear_allowed):
portal = self.portal
print
print "="*40
print "TESTING:", cf_name
print()
print("="*40)
print("TESTING:", cf_name)
result = 'a short value'
#portal.portal_caches.clearCacheFactory(cf_name)
......@@ -249,12 +250,12 @@ return result
result=result)
## 1st call
calculation_time = callCache(real_calculation=True)
print "\n\tCalculation time (1st call)", calculation_time
print("\n\tCalculation time (1st call)", calculation_time)
self.commit()
## 2nd call - should be cached now
calculation_time = callCache(real_calculation=False)
print "\n\tCalculation time (2nd call)", calculation_time
print("\n\tCalculation time (2nd call)", calculation_time)
self.commit()
## OK so far let's clear cache
......@@ -263,10 +264,10 @@ return result
## 1st call
calculation_time = callCache(real_calculation=True)
print "\n\tCalculation time (after cache clear)", calculation_time
print("\n\tCalculation time (after cache clear)", calculation_time)
# Test delete method on CachingMethod
print "\n\tCalculation time (3rd call)", calculation_time
print("\n\tCalculation time (3rd call)", calculation_time)
# make sure cache id filled
calculation_time = callCache(real_calculation=False)
......@@ -275,7 +276,7 @@ return result
# Check that result is computed
calculation_time = callCache(real_calculation=True)
print "\n\tCalculation time (4th call)", calculation_time
print("\n\tCalculation time (4th call)", calculation_time)
self.commit()
def test_03_cachePersistentObjects(self):
......@@ -296,9 +297,9 @@ return result
def test_04_CheckConcurrentRamCacheDict(self):
"""Check that all RamCache doesn't clear the same cache_dict
"""
print
print "="*40
print "TESTING: Concurrent RamCache"
print()
print("="*40)
print("TESTING: Concurrent RamCache")
portal = self.portal
result = 'Something short'
......@@ -317,7 +318,7 @@ return result
result=result)
end = time.time()
calculation_time = end-start
print "\n\tCalculation time (1st call)", calculation_time
print("\n\tCalculation time (1st call)", calculation_time)
self.assertEqual(cached, result)
self.commit()
......@@ -328,7 +329,7 @@ return result
result=result)
end = time.time()
calculation_time = end-start
print "\n\tCalculation time (2nd call)", calculation_time
print("\n\tCalculation time (2nd call)", calculation_time)
self.assertTrue(1.0 > calculation_time, "1.0 <= %s" % calculation_time)
self.assertEqual(cached, result)
self.commit()
......@@ -342,7 +343,7 @@ return result
result=result)
end = time.time()
calculation_time = end-start
print "\n\tCalculation time (3rd call)", calculation_time
print("\n\tCalculation time (3rd call)", calculation_time)
self.assertTrue(1.0 > calculation_time, "1.0 <= %s" % calculation_time)
self.assertEqual(cached, result)
self.commit()
......@@ -351,9 +352,9 @@ return result
"""Check that persistent distributed Cache Plugin can handle keys
more than 250 bytes and values more than 1024 bytes.
"""
print
print '=' * 40
print 'TESTING: Long Keys and Large values'
print()
print('=' * 40)
print('TESTING: Long Keys and Large values')
portal = self.portal
# import the local and clear it
from Products.ERP5Type.CachePlugins.DistributedRamCache import\
......@@ -410,7 +411,7 @@ return 'a' * 1024 * 1024 * 25
long_parameter=long_parameter)
end = time.time()
calculation_time = end-start
print "\n\tCalculation time (1st call)", calculation_time
print("\n\tCalculation time (1st call)", calculation_time)
self.assertEqual(cached, result)
self.commit()
......@@ -423,7 +424,7 @@ return 'a' * 1024 * 1024 * 25
long_parameter=long_parameter)
end = time.time()
calculation_time = end-start
print "\n\tCalculation time (2nd call)", calculation_time
print("\n\tCalculation time (2nd call)", calculation_time)
self.assertTrue(1.0 > calculation_time, "1.0 <= %s" % calculation_time)
self.assertEqual(cached, result)
self.commit()
......@@ -431,37 +432,37 @@ return 'a' * 1024 * 1024 * 25
def test_06_CheckCacheExpiration(self):
"""Check that expiracy is well handle by Cache Plugins
"""
print
print "="*40
print "TESTING: Cache Expiration Time"
print()
print("="*40)
print("TESTING: Cache Expiration Time")
py_script_obj = getattr(self.portal, self.python_script_id)
cache_factory_list = ('ram_cache_factory', 'distributed_ram_cache_factory',
'distributed_persistent_cache_factory')
for cache_factory in cache_factory_list:
print '\n\t==> %s' % cache_factory
print('\n\t==> %s' % cache_factory)
my_cache = CachingMethod(py_script_obj,
'py_script_obj',
cache_factory=cache_factory)
# First call, fill the cache
calculation_time = self._callCache(my_cache, real_calculation=True)
print "\n\tCalculation time (1st call)", calculation_time
print("\n\tCalculation time (1st call)", calculation_time)
## 2nd call - should be cached now
calculation_time = self._callCache(my_cache, real_calculation=False)
print "\n\tCalculation time (2nd call)", calculation_time
print("\n\tCalculation time (2nd call)", calculation_time)
# Wait expiration period then check that value is computed
# .1 is an additional epsilon delay to work around time precision issues
time_left_to_wait = .1 + self.cache_duration
print "\n\tSleep %.2f seconds to wait expiration time" % time_left_to_wait
print("\n\tSleep %.2f seconds to wait expiration time" % time_left_to_wait)
time.sleep(time_left_to_wait)
# Call conversion for ram_cache_factory
calculation_time = self._callCache(my_cache, real_calculation=True)
print "\n\tCalculation time (3rd call)", calculation_time
print("\n\tCalculation time (3rd call)", calculation_time)
def test_06_CheckCacheBag(self):
"""
......
......@@ -289,7 +289,7 @@ class TestProxyField(ERP5TypeTestCase):
python_script_id = "ERP5Site_testAccessProxyFieldProperty"
python_script_parameter = "proxy_field"
python_script_body = """
print proxy_field.getRecursiveTemplateField().meta_type
print (proxy_field.getRecursiveTemplateField().meta_type)
return printed
"""
skin_folder.manage_addProduct['PythonScripts'].manage_addPythonScript(
......
......@@ -6,5 +6,5 @@ portal.event_module.recurseCallMethod(
group_method_cost=1),
min_depth=1,
max_depth=1)
print "Migration started with process id: %s" %active_process.getPath()
print("Migration started with process id: %s" %active_process.getPath())
return printed
......@@ -6,6 +6,6 @@ object_list = list(context.portal_catalog(parent_uid=uids, portal_type = "Email
for o in object_list:
o_value = o.getObject()
if o is not None:
print o_value.getUrlString()
print(o_value.getUrlString())
return printed
......@@ -29,6 +29,7 @@
#
##############################################################################
from __future__ import print_function
import unittest
from AccessControl.SecurityManagement import newSecurityManager
......@@ -131,12 +132,12 @@ class TestEditorField(ERP5TypeTestCase, ZopeTestCase.Functional):
match_string1 = 'data-gadget-editable="field_%s"' % field_id
match_string2 = 'data-gadget-value="%s"' % html_quote(text_content)
if html_text.find(match_string1) == -1:
print html_text
print match_string1
print(html_text)
print(match_string1)
return False
if html_text.find(match_string2) == -1:
print html_text
print match_string2
print(html_text)
print(match_string2)
return False
return True
......@@ -156,13 +157,13 @@ class TestEditorField(ERP5TypeTestCase, ZopeTestCase.Functional):
match_string1 = 'data-gadget-editable="field_%s"' % field_id
match_string2 = 'data-gadget-value="%s"' % html_quote(text_content)
if html_text.find(match_string1) == -1:
print html_text
print match_string1
print(html_text)
print(match_string1)
import pdb; pdb.set_trace()
return False
if html_text.find(match_string2) == -1:
print html_text
print match_string2
print(html_text)
print(match_string2)
import pdb; pdb.set_trace()
return False
return True
......@@ -182,12 +183,12 @@ class TestEditorField(ERP5TypeTestCase, ZopeTestCase.Functional):
match_string1 = "data-gadget-editable="
match_string2 = 'data-gadget-value="%s"' % html_quote(text_content)
if html_text.find(match_string1) != -1:
print html_text
print match_string1
print(html_text)
print(match_string1)
return False
if html_text.find(match_string2) == -1:
print html_text
print match_string2
print(html_text)
print(match_string2)
return False
return True
......
......@@ -872,12 +872,10 @@ class TestDocument(TestDocumentMixin):
self.tic()
test_document_set = {document_1, document_2, document_3, person, web_page, organisation}
def getAdvancedSearchTextResultList(searchable_text, portal_type=None,src__=0):
def getAdvancedSearchTextResultList(searchable_text, portal_type=None):
kw = {'full_text': searchable_text}
if portal_type is not None:
kw['portal_type'] = portal_type
if src__==1:
print portal.portal_catalog(src__=src__,**kw)
result_list = [x.getObject() for x in portal.portal_catalog(**kw)]
return [x for x in result_list if x in test_document_set]
......
......@@ -8,5 +8,5 @@ context.ERP5Site_checkDataWithScript("Base_callPreConvert",
tag="pre_convert",
packet=2,
id_list=["document_module", "image_module", "web_page_module"])
print "OK"
print("OK")
return printed
......@@ -42,5 +42,5 @@ tiolive_logo_image = context.portal_catalog.getResultValue(
if tiolive_logo_image is not None and tiolive_logo_image.getValidationState() == 'published':
tiolive_logo_image.reject()
print "Done"
print("Done")
return printed
......@@ -2,5 +2,9 @@
#portal_preferences = context.portal_preferences
#portal_preferences.manage_delObjects(['dms_system_preference_ui_tests', 'dms_preference_ui_tests'])
#context.portal_caches.clearAllCache()
print "Done"
# Delete System Preference
#portal_preferences = context.portal_preferences
#portal_preferences.manage_delObjects(['dms_system_preference_ui_tests', 'dms_preference_ui_tests'])
#context.portal_caches.clearAllCache()
print("Done")
return printed
......@@ -2,10 +2,10 @@ result = context.GlossaryModule_getTermDictListFromPortalType(portal_type_list)
if export_tsv:
for i in result:
print '\t'.join(['"%s"' % x for x in (i['reference'], i['language'],
print('\t'.join(['"%s"' % x for x in (i['reference'], i['language'],
i['business_field'],
i['title'], i['description'],
i['field_path'])])
i['field_path'])]))
return printed
else:
portal_catalog = context.portal_catalog
......
......@@ -2,10 +2,10 @@ result = context.GlossaryModule_getTermDictListFromPropertySheet(property_sheet_
if export_tsv:
for i in result:
print '\t'.join(['"%s"' % x for x in (i['reference'], i['language'],
print('\t'.join(['"%s"' % x for x in (i['reference'], i['language'],
i['business_field'],
i['title'], i['description'],
i['field_path'])])
i['field_path'])]))
return printed
else:
portal_catalog = context.portal_catalog
......
......@@ -3,10 +3,10 @@ result = context.GlossaryModule_getTermDictListFromWorkflow(template_list)
if export_tsv:
for i in result:
print '\t'.join(['"%s"' % x for x in (i['reference'], i['language'],
print('\t'.join(['"%s"' % x for x in (i['reference'], i['language'],
i['business_field'],
i['title'], i['description'],
i['workflow_id'])])
i['workflow_id'])]))
return printed
else:
portal_catalog = context.portal_catalog
......
......@@ -24,7 +24,7 @@ def formatString(string):
# po header
now = DateTime().toZone('UTC').strftime("%Y-%m-%d %H:%M+0000")
print MESSAGE_TEMPLATE % (dict(english='""',
print(MESSAGE_TEMPLATE % (dict(english='""',
translation=
r'''"Project-Id-Version: ERP5 Localized Interface\n"
"POT-Creation-Date: %s\n"
......@@ -34,7 +34,7 @@ r'''"Project-Id-Version: ERP5 Localized Interface\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
''' % (now, now, language)))
''' % (now, now, language))))
catalog = context.portal_catalog
for i in catalog(portal_type='Glossary Term',
......@@ -63,18 +63,18 @@ for i in catalog(portal_type='Glossary Term',
if not english_title:
raise ValueError('Title of corresponding English term(%s) to "%s" is empty.' % (english_relative_url, translated_title))
if translated_title!=english_title:
print formatMessage(english=formatString(english_title),
print(formatMessage(english=formatString(english_title),
translation=formatString(translated_title),
term=term)
term=term))
if translated_description:
if not english_description:
raise ValueError('Description of corresponding English term(%s) to "%s" is empty.' % (english_relative_url, translated_description))
if translated_description!=english_description:
print formatMessage(english=formatString(english_description),
print(formatMessage(english=formatString(english_description),
translation=formatString(translated_description),
term=term)
term=term))
RESPONSE = context.REQUEST.RESPONSE
RESPONSE.setHeader('Content-disposition', 'attachment;filename=translation.po')
......
......@@ -5,6 +5,6 @@ for i in context.getPortalObject().glossary_module.objectValues():
lang = lang_list[0]
i.setLanguage(lang)
i.setCategoryList([x for x in i.categories if not x.startswith('language/')])
print i.getPath(), lang
print 'Migration finished.'
print(i.getPath(), lang)
print('Migration finished.')
return printed
......@@ -22,28 +22,28 @@ for diff_object in sortDiffObjectList(diff_object_list):
if getattr(diff_object, "error", None) is not None:
print("<p>")
print("Error")
print("(%s) -" % html_quote(diff_object.object_class))
print(("(%s) -" % html_quote(diff_object.object_class)))
if diff_object.object_class in link_configuration:
print(link_configuration[diff_object.object_class] % {"object_id": html_quote(diff_object.object_id)})
print((link_configuration[diff_object.object_class] % {"object_id": html_quote(diff_object.object_id)}))
else:
print(html_quote(diff_object.object_id))
print((html_quote(diff_object.object_id)))
print("</p>")
if detailed:
print("<p>")
print(html_quote(diff_object.error))
print((html_quote(diff_object.error)))
print("</p>")
else:
print("<p>")
print(html_quote(diff_object.object_state))
print("(%s) -" % html_quote(diff_object.object_class))
print((html_quote(diff_object.object_state)))
print(("(%s) -" % html_quote(diff_object.object_class)))
if diff_object.object_class in link_configuration:
print(link_configuration[diff_object.object_class] % {"object_id": html_quote(diff_object.object_id)})
print((link_configuration[diff_object.object_class] % {"object_id": html_quote(diff_object.object_id)}))
else:
print(html_quote(diff_object.object_id))
print((html_quote(diff_object.object_id)))
print("</p>")
if detailed and getattr(diff_object, "data", None) is not None:
print("<div>")
print(DiffFile(diff_object.data).toHTML())
print((DiffFile(diff_object.data).toHTML()))
print("</div>")
print("</div>")
return printed
......@@ -2,14 +2,14 @@ def sortDiffObjectList(diff_object_list):
return sorted(diff_object_list, key=lambda x: (x.object_state, x.object_class, x.object_id))
for diff_object in sortDiffObjectList(diff_object_list):
print("%s (%s) - %s" % (diff_object.object_state, diff_object.object_class, diff_object.object_id))
print(("%s (%s) - %s" % (diff_object.object_state, diff_object.object_class, diff_object.object_id)))
if getattr(diff_object, "error", None) is not None:
if detailed:
print(" %s" % diff_object.error)
print((" %s" % diff_object.error))
print("")
else:
if detailed and getattr(diff_object, "data", None) is not None:
print("%s" % diff_object.data.lstrip())
print(("%s" % diff_object.data.lstrip()))
print("")
return printed
# License: GPL
# Author: Lukasz Nowak <lukasz.nowak@ventis.com.pl>
# Copyright 2007 Ventis s. c.
simulations_found = context.Base_getSimulationTree(start_path=start_path)
if len(simulations_found) == 0:
print 'No simulations related'
print('No simulations related')
else:
for simulation_root in simulations_found.iterkeys():
print simulation_root
for simulation_root in simulations_found:
print(simulation_root)
for simulation in simulations_found[simulation_root]:
print '\t',simulation.getPath(),simulation.getPortalType(),
print('\t',simulation.getPath(),simulation.getPortalType(), end=' ')
if simulation.getPortalType() == 'Simulation Movement':
print simulation.getCausalityState(),
print(simulation.getCausalityState(), end=' ')
else:
print 'nostate',
print simulation.getCategoriesList()
print('nostate', end=' ')
print(simulation.getCategoriesList())
return printed
......@@ -172,10 +172,10 @@ def formatString(string):
else:
return '\n'.join(['""']+[formatString(i) for i in line_list])
print '''msgid ""
print('''msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
'''
''')
MESSAGE_TEMPLATE = '''\
%s
......@@ -188,7 +188,7 @@ for message in message_list:
comment_list = message_dict[message]
comment_list.sort()
comment = '\n'.join([('#: %s' % i) for i in comment_list])
print MESSAGE_TEMPLATE % (comment, formatString(message))
print(MESSAGE_TEMPLATE % (comment, formatString(message)))
RESPONSE = context.REQUEST.RESPONSE
RESPONSE.setHeader('Content-disposition', 'attachment;filename=translation.pot')
......
......@@ -48,7 +48,7 @@ recurse(o, callback, seldict)
for selection_name in seldict.keys():
if len(seldict[selection_name]) != 1 or all_selections:
print "'%s' [%s]"%(selection_name,len(seldict[selection_name]))
print("'%s' [%s]"%(selection_name,len(seldict[selection_name])))
for form_name in seldict[selection_name]:
print "\t%s"%(form_name,)
print("\t%s"%(form_name,))
return printed
......@@ -3,12 +3,12 @@
from erp5.component.module.Log import log
log("Obsolete script, please use BaseType_copyRoleList instead")
print 'cloning role information from'
print from_type
print('cloning role information from')
print(from_type)
if to_type_list == ():
to_type_list = (to_type,)
print "to", to_type_list
print("to", to_type_list)
context.portal_types[from_type].BaseType_copyRoleList(remove_existing_roles=True,
portal_type_list=to_type_list)
......
......@@ -2,11 +2,11 @@
"""
portal_skin = context.REQUEST.get('portal_skin', 'View')
print "<html>"
print("<html>")
for field_path, field in context.ZopeFind(
context.portal_skins, obj_metatypes=['ProxyField'], search_sub=1):
if field.getTemplateField() is None:
print '<a href="%s/%s/manage_main?portal_skin=%s">%s</a><br />' % (context.absolute_url(), field_path, portal_skin, field_path)
print('<a href="%s/%s/manage_main?portal_skin=%s">%s</a><br />' % (context.absolute_url(), field_path, portal_skin, field_path))
print "</html>"
print("</html>")
return printed
......@@ -7,9 +7,9 @@ for form_path, form in context.ZopeFind(
try:
groups = form.get_groups()
except AttributeError as e:
print "%s is broken: %s" % (form_path, e)
print("%s is broken: %s" % (form_path, e))
if 'not_assigned' in groups:
print 'Not assigned fields in %s: %s' % (form_path,
[f.getId() for f in form.get_fields_in_group('not_assigned')])
print('Not assigned fields in %s: %s' % (form_path,
[f.getId() for f in form.get_fields_in_group('not_assigned')]))
return printed
......@@ -14,14 +14,14 @@ for field_path, field in context.ZopeFind(
continue
if not (field.get_value('proxy_listbox_ids') or field.get_value('columns')):
print field_path
print(field_path)
continue
for path, name in field.get_value('proxy_listbox_ids'):
if context.restrictedTraverse(path, None) is None:
print ' PROBLEM: field %s uses an invalid form for %s: %s' % (field_path, name, path)
print(' PROBLEM: field %s uses an invalid form for %s: %s' % (field_path, name, path))
else:
proxy_listbox = context.restrictedTraverse(path)
if proxy_listbox.meta_type not in ('ProxyField', 'ListBox'):
print ' PROBLEM: field %s uses an invalid proxy with %s meta_type' % (field_path, proxy_listbox.meta_type)
print(' PROBLEM: field %s uses an invalid proxy with %s meta_type' % (field_path, proxy_listbox.meta_type))
return printed
......@@ -6,7 +6,7 @@ container.REQUEST.RESPONSE.setHeader('content-type', 'text/html')
# make sure context is the skins tool
stool = context.portal_skins
print '<html><body>'
print('<html><body>')
skins_by_name = {}
for skin_key, skin_path_list in stool.getSkinPaths():
......@@ -24,9 +24,9 @@ for skin_key, skin_path_list in stool.getSkinPaths():
for skin_name, location_list in skins_by_name.items():
if len(location_list) > 1:
print skin_name, '<br/>'
print(skin_name, '<br/>')
for location in location_list:
print "&nbsp;" * 3, '<a href="%s/%s/%s/manage_main">%s</a><br/>' % (stool.absolute_url(), location, skin_name, location)
print("&nbsp;" * 3, '<a href="%s/%s/%s/manage_main">%s</a><br/>' % (stool.absolute_url(), location, skin_name, location))
print '</body></html>'
print('</body></html>')
return printed
......@@ -5,7 +5,7 @@ if template_tool.getDiffFilterScriptList():
else:
from erp5.component.module.DiffUtils import DiffFile
print '<div style="color: black">'
print('<div style="color: black">')
# XXX: ERP5VCS_doCreateJavaScriptStatus should send lists
if isinstance(added, basestring):
......@@ -19,20 +19,20 @@ for f in modified:
diff = DiffFile(vcs_tool.diff(f))
if not diff:
continue
print '<input name="modified" value="%s" type="checkbox" checked="checked" />'% f
print vcs_tool.getHeader(f)
print diff.toHTML()
print "<hr/><br/>"
print('<input name="modified" value="%s" type="checkbox" checked="checked" />'% f)
print(vcs_tool.getHeader(f))
print(diff.toHTML())
print("<hr/><br/>")
for f in added:
print '<input name="added" value="%s" type="checkbox" checked="checked" />'% f
print vcs_tool.getHeader(f)
print "<br/><span style='color: green;'>File Added</span><br/><br/><hr/><br/>"
print('<input name="added" value="%s" type="checkbox" checked="checked" />'% f)
print(vcs_tool.getHeader(f))
print("<br/><span style='color: green;'>File Added</span><br/><br/><hr/><br/>")
for f in removed:
print '<input name="removed" value="%s" type="checkbox" checked="checked" />'% f
print vcs_tool.getHeader(f)
print "<br/><span style='color: red;'>File Removed</span><br/><br/><hr/><br/>"
print('<input name="removed" value="%s" type="checkbox" checked="checked" />'% f)
print(vcs_tool.getHeader(f))
print("<br/><span style='color: red;'>File Removed</span><br/><br/><hr/><br/>")
print '</div>'
print('</div>')
return printed
......@@ -9,10 +9,10 @@ from string import capitalize
def addAction(portal_type, portal_type_type, country, amortisation_method):
print 'Adding UI tab "Amortisation Details" for method %s on portal_type %s... ' % (amortisation_method,portal_type),
print('Adding UI tab "Amortisation Details" for method %s on portal_type %s... ' % (amortisation_method,portal_type), end=' ')
id = "%s_%s_amortisation_details_view" % (country, amortisation_method)
if id in [x.id for x in portal_type.listActions()]:
print "Already exists"
print("Already exists")
else:
if portal_type_type == "Immobilisation":
action = "%s_Immobilisation_viewDetails" % amortisation_method
......@@ -27,7 +27,7 @@ def addAction(portal_type, portal_type_type, country, amortisation_method):
permission = ('View',),
category = "object_view",
visible = 1)
print "OK"
print("OK")
return printed
......@@ -44,10 +44,10 @@ amortisation_method = "".join(tokens[1:])
for portal_type in context.portal_types.objectValues():
# Check if the portal_type is Immobilisation
if portal_type.id == "Immobilisation":
print addAction(portal_type, "Immobilisation", country, amortisation_method),
print(addAction(portal_type, "Immobilisation", country, amortisation_method), end=' ')
else:
# Check if the portal_type is amortisable
if "immobilise" in [x.id for x in portal_type.listActions()]:
print addAction(portal_type, "Item", country, amortisation_method),
print(addAction(portal_type, "Item", country, amortisation_method), end=' ')
return printed
......@@ -10,18 +10,18 @@ actions_to_add = [
]
print 'Adding Immobilisation Item Actions to Portal Type %s :' % context.getId()
print('Adding Immobilisation Item Actions to Portal Type %s :' % context.getId())
action_list = context.listActions()
for action_to_add in actions_to_add:
print "- Adding Action '%s (%s)'... " % (action_to_add['id'],action_to_add['name']),
print("- Adding Action '%s (%s)'... " % (action_to_add['id'],action_to_add['name']), end=' ')
found = 0
for action in action_list:
if getattr(action, 'id', None) == action_to_add['id']:
print 'already exists'
print('already exists')
found = 1
if not found:
context.addAction(**action_to_add)
print "OK"
print("OK")
print
print()
return printed
......@@ -8,7 +8,7 @@ amortisation_method_view = 'amortisation_method_view'
action_list = context.listActions()
print "Making portal type '%s' an Immobilisation Movement :" % context.getId()
print("Making portal type '%s' an Immobilisation Movement :" % context.getId())
# Add a view for each amortisation method
amortisation_method_list = context.Immobilisation_getAmortisationMethodList()
for method in amortisation_method_list:
......@@ -17,13 +17,13 @@ for method in amortisation_method_list:
title = method[1].title or id
action_id = view_id_basis % (region, id)
print "- Adding View for method '%s'... " % title,
print("- Adding View for method '%s'... " % title, end=' ')
# Check if the action already exists
exists = 0
for action in action_list:
if getattr(action, "id", None) == action_id:
print "already exists"
print("already exists")
exists = 1
if not exists:
......@@ -37,8 +37,8 @@ for method in amortisation_method_list:
permission = view_permissions_basis,
category = "object_view",
visible=1)
print "OK"
print("OK")
print
print()
return printed
......@@ -18,18 +18,18 @@ actions_to_add = [
]
print 'Adding Immobilisation Item Actions to Portal Type %s :' % context.getId()
print('Adding Immobilisation Item Actions to Portal Type %s :' % context.getId())
action_list = context.listActions()
for action_to_add in actions_to_add:
print "- Adding Action '%s (%s)'... " % (action_to_add['id'],action_to_add['name']),
print("- Adding Action '%s (%s)'... " % (action_to_add['id'],action_to_add['name']), end=' ')
found = 0
for action in action_list:
if getattr(action, 'id', None) == action_to_add['id']:
print 'already exists'
print('already exists')
found = 1
if not found:
context.addAction(**action_to_add)
print "OK"
print("OK")
print
print()
return printed
user_preferences = context.KnowledgeBox_getDefaultPreferencesDict()
print user_preferences
print(user_preferences)
return printed
......@@ -17,5 +17,5 @@ if remove_existing_pads:
user_knowledge_pad_list = context.ERP5Site_getKnowledgePadListForUser(mode = mode)
context.knowledge_pad_module.manage_delObjects([x.getId() for x in user_knowledge_pad_list])
print "Done"
print("Done")
return printed
......@@ -37,16 +37,16 @@ document_list = portal.portal_catalog(
path_list = [software_product_rurl]
print " Processing File List \r===============================\r"
print(" Processing File List \r===============================\r")
for document_brain in document_list:
document = document_brain.getObject()
if document.getFollowUp():
continue
print document.getId()
print(document.getId())
new_document = document.Base_createCloneDocument(batch_mode=True)
new_id = base_id + new_document.getReference().replace('.', '_')
if new_id in new_document.getParentValue():
print " deleting %s" % new_id
print(" deleting %s" % new_id)
new_document.getParentValue().manage_delObjects([new_id])
new_document.setId(new_id)
path_list.append(new_document.getRelativeUrl())
......@@ -54,8 +54,8 @@ for document_brain in document_list:
# new_document.setVersion(base_id + "dev")
new_document.setFollowUp(software_product_rurl)
print "\r\r Here is your path list\r===============================\r\r"
print '\r'.join(path_list)
print "\r\r===============================\r\r"
print " Done"
print("\r\r Here is your path list\r===============================\r\r")
print('\r'.join(path_list))
print("\r\r===============================\r\r")
print(" Done")
return printed
container.REQUEST.RESPONSE.setHeader('Content-Type', 'text/html')
print "<html><body><h1 class='test-script-title'>Title is : " + parameter + "</h1></body></html>"
print("<html><body><h1 class='test-script-title'>Title is : " + parameter + "</h1></body></html>")
return printed
......@@ -8,8 +8,8 @@ line_dict_list = context.PaySheetTransaction_getLineListAsDict()
title_list = ['Designation\t\t', 'Base', 'Employer Rate', 'Employer Share',
'Employee Rate', 'Employee Share']
print '\t\t'.join(title_list)
print ''
print('\t\t'.join(title_list))
print('')
def rightPad(string, length):
string=str(string)
......@@ -36,6 +36,6 @@ for line in line_dict_list:
string_to_display.append(rightPad(' ', 24))
string_to_display.append(rightPad(' ', 24))
print ''.join(string_to_display)
print(''.join(string_to_display))
return printed
......@@ -25,6 +25,7 @@
#
##############################################################################
from __future__ import print_function
from test import pystone
from time import time
pystone.clock = time
......@@ -72,10 +73,10 @@ class TestWorkflowPerformance(TestPerformanceMixin):
end = time()
print "\n%s pystones/second" % pystone.pystones()[1]
print("\n%s pystones/second" % pystone.pystones()[1])
message = "\n%s took %.4gs (%s foo(s))" % (self._testMethodName,
end - start, foo_count)
print message
print(message)
ZopeTestCase._print(message)
# some checking to make sure we tested something relevant
......
......@@ -24,7 +24,7 @@ def foldContent(s):
return s
def printTask(task) :
print """BEGIN:VTODO
print("""BEGIN:VTODO
DCREATED:%(creation_date)s
UID:%(uid)s
SEQUENCE:1
......@@ -38,31 +38,31 @@ PRIORITY:%(priority)s""" % ( {
'modification_date': formatDate(task.getModificationDate()),
'status': task.getSimulationState() == 'delivered' and 'COMPLETED' or 'NEEDS_ACTION',
'priority': task.getProperty('int_index', 3),
} )
} ))
if task.hasComment():
print "DESCRIPTION:" + foldContent(task.getComment())
print("DESCRIPTION:" + foldContent(task.getComment()))
if task.hasStartDate():
print "DTSTART;VALUE=DATE:" + formatDate(task.getStartDate())
print("DTSTART;VALUE=DATE:" + formatDate(task.getStartDate()))
if task.hasStopDate():
print "DUE;VALUE=DATE:" + formatDate(task.getStopDate())
print("DUE;VALUE=DATE:" + formatDate(task.getStopDate()))
organizer = task.getDestinationValue(portal_type='Person')
if organizer:
print "ORGANIZER;CN=%s:MAILTO:%s" % (organizer.getTitle(), organizer.getDefaultEmailText())
print "X-ORGANIZER:MAILTO:%s" % (organizer.getDefaultEmailText())
print("ORGANIZER;CN=%s:MAILTO:%s" % (organizer.getTitle(), organizer.getDefaultEmailText()))
print("X-ORGANIZER:MAILTO:%s" % (organizer.getDefaultEmailText()))
for attendee in task.getSourceValueList( portal_type = 'Person') :
print "ATTENDEE;CN=%s:MAILTO:%s" % (attendee.getTitle(), attendee.getDefaultEmailText())
print "ATTACH;FMTTYPE=text/html:%s/%s/view" % (context.ERP5Site_getAbsoluteUrl(), task.getRelativeUrl())
print("ATTENDEE;CN=%s:MAILTO:%s" % (attendee.getTitle(), attendee.getDefaultEmailText()))
print("ATTACH;FMTTYPE=text/html:%s/%s/view" % (context.ERP5Site_getAbsoluteUrl(), task.getRelativeUrl()))
print "END:VTODO"
print("END:VTODO")
return printed
print """BEGIN:VCALENDAR
print("""BEGIN:VCALENDAR
PRODID:-//ERP5//NONSGML Task Report Module//EN
VERSION:2.0"""
VERSION:2.0""")
obj_list = context.getPortalObject().portal_selections.callSelectionFor("task_report_module_selection")
for obj in obj_list :
print printTask(obj.getObject())
print "END:VCALENDAR"
print(printTask(obj.getObject()))
print("END:VCALENDAR")
context.REQUEST.RESPONSE.setHeader('Content-Type', 'text/calendar')
context.REQUEST.RESPONSE.setHeader('Content-disposition', 'attachment; filename=ERP5.ics')
......
......@@ -7,21 +7,21 @@ portal = context.getPortalObject()
test_pages = portal.test_page_module.searchFolder(validation_state=
('published', 'published_alive','released', 'released_alive',
'shared', 'shared_alive',))
print len(test_pages)
print(len(test_pages))
new_page_list = []
for page in test_pages:
print "changing ID of %s to %s of document in state %s" %(page.getRelativeUrl(), page.getReference(), page.getValidationState())
print("changing ID of %s to %s of document in state %s" %(page.getRelativeUrl(), page.getReference(), page.getValidationState()))
if not dry_run:
page.setId(page.getReference())
print "\tpage changed"
print("\tpage changed")
new_page_list.append(page.getReference())
print "finished"
print("finished")
print "For business template Path"
print("For business template Path")
for p in new_page_list:
print "test_page_module/"+p
print "test_page_module/"+p+"/**"
print("test_page_module/"+p)
print("test_page_module/"+p+"/**")
return printed
from __future__ import print_function
import PIL.Image as PIL_Image
import os
import transaction
......@@ -42,9 +43,9 @@ def uploadImage(self):
def cleanUp(self):
portal = self.getPortalObject()
print "exists path: %r" %os.path.exists("tmp/selenium_image_test.jpg")
print("exists path: %r" %os.path.exists("tmp/selenium_image_test.jpg"))
if os.path.exists("tmp/selenium_image_test.jpg"):
print "REMOVE IMAGE: %s" %(os.remove("tmp/selenium_image_test.jpg"))
print("REMOVE IMAGE: %s" %(os.remove("tmp/selenium_image_test.jpg")))
portal.image_module.manage_delObjects(ids=['testTileTransformed'])
return True
else:
......
......@@ -16,6 +16,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from __future__ import print_function
import os, sys, shutil, tempfile
from cStringIO import StringIO
from zLOG import LOG,ERROR,INFO,WARNING
......@@ -175,15 +176,15 @@ class ZoomifyBase:
lr_y = ul_y + self.tileSize
else:
lr_y = self.originalHeight
print "Going to open image"
print("Going to open image")
imageRow = image.crop([0, ul_y, self.originalWidth, lr_y])
saveFilename = root + str(tier) + '-' + str(row) + ext
if imageRow.mode != 'RGB':
imageRow = imageRow.convert('RGB')
imageRow.save(os.path.join(tempfile.gettempdir(), saveFilename),
'JPEG', quality=100)
print "os path exist : %r" % os.path.exists(os.path.join(
tempfile.gettempdir(), saveFilename))
print("os path exist : %r" % os.path.exists(os.path.join(
tempfile.gettempdir(), saveFilename)))
if os.path.exists(os.path.join(tempfile.gettempdir(), saveFilename)):
self.processRowImage(tier=tier, row=row)
row += 1
......@@ -191,7 +192,7 @@ class ZoomifyBase:
def processRowImage(self, tier=0, row=0):
""" for an image, create and save tiles """
print '*** processing tier: ' + str(tier) + ' row: ' + str(row)
print('*** processing tier: ' + str(tier) + ' row: ' + str(row))
tierWidth, tierHeight = self._v_scaleInfo[tier]
rowsForTier = tierHeight/self.tileSize
if tierHeight % self.tileSize > 0:
......
import json
portal = context.getPortalObject()
context.REQUEST.response.setHeader('Access-Control-Allow-Origin', '*')
print portal.portal_catalog(portal_type="Image Title", src__=1)
print(portal.portal_catalog(portal_type="Image Title", src__=1))
#return printed
data = {}
data["image_list"] = []
......
......@@ -7,6 +7,6 @@ portal = context.getPortalObject()
data = portal.restrictedTraverse("portal_skins/erp5_safeimage/img/image_test.jpg")
print data.data
print(data.data)
return printed
......@@ -30,6 +30,7 @@
Tests invoice creation from simulation.
"""
from __future__ import print_function
import xml.dom.minidom
import zipfile
......@@ -1273,7 +1274,7 @@ self.portal.getDefaultModule(self.packing_list_portal_type).newContent(
def _acceptDivergenceOnInvoice(self, invoice, divergence_list):
print invoice, divergence_list
print(invoice, divergence_list)
self._solveDivergence(invoice, 'quantity', 'Accept Solver')
def test_accept_quantity_divergence_on_invoice_with_stopped_packing_list(
......@@ -1326,7 +1327,7 @@ self.portal.getDefaultModule(self.packing_list_portal_type).newContent(
self.assertEqual('solved', packing_list.getCausalityState())
def _adoptDivergenceOnInvoice(self, invoice, divergence_list):
print invoice, divergence_list
print(invoice, divergence_list)
self._solveDivergence(invoice, 'quantity', 'Adopt Solver')
def test_adopt_quantity_divergence_on_invoice_line_with_stopped_packing_list(
......
......@@ -25,6 +25,7 @@
#
##############################################################################
from __future__ import print_function
import subprocess
import unittest
from test import pystone
......@@ -57,7 +58,7 @@ class TestSimulationPerformance(TestTradeModelLineSale):
self.test_01_OrderWithSimpleTaxedAndDiscountedLines()
self.__class__._order = self['order'].getRelativeUrl()
self.runAlarms()
print "\n%s pystones/second" % pystone.pystones()[1]
print("\n%s pystones/second" % pystone.pystones()[1])
def perf_01_invoiceSimpleOrder(self, order_count=1):
start = time()
......@@ -118,8 +119,8 @@ class TestSimulationPerformance(TestTradeModelLineSale):
self.runAlarms()
end = time()
print "\n%s took %.4gs (%s order(s))" % (self._testMethodName,
end - start, order_count)
print("\n%s took %.4gs (%s order(s))" % (self._testMethodName,
end - start, order_count))
def perf_02_invoiceManySimpleOrders(self):
self.perf_01_invoiceSimpleOrder(10)
......
......@@ -69,6 +69,7 @@ and that between Sale Packing List and Sale Invoice is M:N.
"""
from __future__ import print_function
import unittest
from time import time
import gc
......@@ -304,8 +305,8 @@ class TestSimulationPerformance(ERP5TypeTestCase, LogInterceptor):
after_time = time()
amount_of_time = after_time - before_time
min_time, max_time = self._getMinMaxTime(target)
print "\n%s took %.4f (%.4f < %.4f < %.4f)" \
% (target, amount_of_time, min_time, amount_of_time, max_time)
print("\n%s took %.4f (%.4f < %.4f < %.4f)" \
% (target, amount_of_time, min_time, amount_of_time, max_time))
# Reset the target to make sure that the same target is not
# measured again.
sequence.edit(measure_target=None)
......@@ -792,13 +793,13 @@ class TestSimulationPerformance(ERP5TypeTestCase, LogInterceptor):
if measurable:
result = sequence.get('result')
if result:
print ''
print('')
failure_list = []
for target, min_time, real_time, max_time in result:
condition = (min_time < real_time < max_time)
print '%s%s: %.4f < %.4f < %.4f' \
print('%s%s: %.4f < %.4f < %.4f' \
% (condition and ' ' or '!',
target, min_time, real_time, max_time)
target, min_time, real_time, max_time))
if not condition:
failure_list.append(target)
self.assertTrue(not failure_list,
......
......@@ -15,6 +15,7 @@ if recipient_list:
mail_from='nobody@svn.erp5.org',
include_link=include_link,
include_diff=True)
print 'Successfully sent to: ', recipient_list
print 'OK'
print('Successfully sent to: %s' % recipient_list)
print('OK')
return printed
"""
Return for buildbot test summary info.
status, all tests, failures, errors
"""
seconds = 0.0
for obj in context.contentValues():
seconds += obj.getProperty('duration')
print '%s,%s,%s,%s,%s,%s' %( context.getProperty('status'), context.getProperty('all_tests'),
context.getProperty('failures'), context.getProperty('errors'),
context.getProperty('skips'), seconds)
return printed
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>TestResult_getSummary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Return short test summary</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -5,5 +5,5 @@ Multiline stdout values behaviour is undefined.
"""
for test_result_node in context.objectValues(portal_type='Test Result Node'):
if test_result_node.getCmdline() == 'LOG url':
print test_result_node.getStdout()
print(test_result_node.getStdout().decode('ascii', 'replace'))
return printed
......@@ -5,12 +5,12 @@ ps = context.getPortalObject().portal_property_sheets[property_sheet_id]
for prop in ps.objectValues(portal_type="Standard Property"):
field_id = "my_%s" %prop.getReference()
if getattr(context, field_id, None) is None:
print "will add %s" %(field_id)
print("will add %s" %(field_id))
if prop.getElementaryType() == "string":
context.manage_addField(field_id, prop.getReference(), "StringField")
elif prop.getElementaryType() == "boolean":
context.manage_addField(field_id, prop.getReference(), "CheckBoxField")
else:
print "unkown type", prop.getElementaryType()
print("unkown type", prop.getElementaryType())
return printed
......@@ -19,9 +19,9 @@ for record in portal.expense_record_module.objectValues(portal_type="Expense Rec
)
image.share()
else:
print ticket.getRelativeUrl()
print(ticket.getRelativeUrl())
print DateTime()
print(DateTime())
#return printed
......@@ -31,6 +31,6 @@ for i in context.portal_catalog(portal_type='Expense Validation Request'):
if i.getReference() != sourceReference:
if migrate:
i.setReference(sourceReference)
print i.getRelativeUrl()
print(i.getRelativeUrl())
return printed
......@@ -26,6 +26,7 @@
#
##############################################################################
from __future__ import print_function
from time import time
import gc
import subprocess
......@@ -219,8 +220,8 @@ class TestPerformance(TestPerformanceMixin):
bar.Bar_viewPerformance()
after_view = time()
req_time = (after_view - before_view)/100.
print "%s time to view object form %.4f < %.4f < %.4f\n" % \
(prefix, min_, req_time, max_)
print("%s time to view object form %.4f < %.4f < %.4f\n" % \
(prefix, min_, req_time, max_))
if PROFILE:
self.profile(bar.Bar_viewPerformance)
if DO_TEST:
......@@ -291,10 +292,10 @@ class TestPerformance(TestPerformanceMixin):
add_value = add_result[key]
min_view = MIN_MODULE_VIEW + LISTBOX_COEF * i
max_view = MAX_MODULE_VIEW + LISTBOX_COEF * i
print "nb objects = %s\n\tadd = %.4f < %.4f < %.4f" %(key, MIN_OBJECT_CREATION, add_value, MAX_OBJECT_CREATION)
print "\ttic = %.4f < %.4f < %.4f" %(MIN_TIC, tic_value, MAX_TIC)
print "\tview = %.4f < %.4f < %.4f" %(min_view, module_value, max_view)
print
print("nb objects = %s\n\tadd = %.4f < %.4f < %.4f" %(key, MIN_OBJECT_CREATION, add_value, MAX_OBJECT_CREATION))
print("\ttic = %.4f < %.4f < %.4f" %(MIN_TIC, tic_value, MAX_TIC))
print("\tview = %.4f < %.4f < %.4f" %(min_view, module_value, max_view))
print()
i += 1
# then check results
if DO_TEST:
......@@ -337,10 +338,10 @@ class TestPerformance(TestPerformanceMixin):
after_view = time()
req_time = (after_view - before_view)/100.
print "time to view proxyfield form %.4f < %.4f < %.4f\n" % \
print("time to view proxyfield form %.4f < %.4f < %.4f\n" % \
( MIN_OBJECT_PROXYFIELD_VIEW,
req_time,
MAX_OBJECT_PROXYFIELD_VIEW )
MAX_OBJECT_PROXYFIELD_VIEW ))
if PROFILE:
self.profile(foo.Foo_viewProxyField)
if DO_TEST:
......@@ -368,10 +369,10 @@ class TestPerformance(TestPerformanceMixin):
after_view = time()
req_time = (after_view - before_view)/100.
print "time to view object form with many lines %.4f < %.4f < %.4f\n" % \
print("time to view object form with many lines %.4f < %.4f < %.4f\n" % \
( MIN_OBJECT_MANY_LINES_VIEW,
req_time,
MAX_OBJECT_MANY_LINES_VIEW )
MAX_OBJECT_MANY_LINES_VIEW ))
if PROFILE:
self.profile(foo.Foo_viewPerformance)
if DO_TEST:
......@@ -407,12 +408,12 @@ class TestPropertyPerformance(TestPerformanceMixin):
after = time()
total_time = (after - before) / 100.
print ("time %s.%s %.4f < %.4f < %.4f\n" % \
print(("time %s.%s %.4f < %.4f < %.4f\n" % \
( self.id(),
f.__doc__ or f.__name__,
min_time,
total_time,
max_time ))
max_time )))
if PROFILE:
self.profile(f, args=(i, ))
if DO_TEST:
......
......@@ -12,11 +12,11 @@ if getattr(context.MailHost, "getMessageList", None) is None:
message_list = context.MailHost.getMessageList()
for mail in message_list:
for part in mail:
print part
print "="*79
print ""
print(part)
print("="*79)
print("")
print "Total messages: %s" %len(message_list)
print("Total messages: %s" %len(message_list))
# If messages "looks like html", zope will set content type to text/html,
# and the assertTextPresent from selenium will be applied after the emails
......
......@@ -10,5 +10,4 @@ try:
for x in portal_tests.objectValues('Zuite Results')])
except BadRequest:
pass
print "OK"
return printed
return "OK"
......@@ -24,6 +24,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from __future__ import print_function
import unittest
from Products.ERP5Type.tests.ERP5TypeFunctionalTestCase import ERP5TypeFunctionalTestCase
......@@ -86,7 +87,7 @@ class TestZeleniumCore(ERP5TypeFunctionalTestCase):
ERP5TypeFunctionalTestCase.afterSetUp(self)
self.http_root_dir = tempfile.mkdtemp()
print "Serving files on http from %r" % self.http_root_dir
print("Serving files on http from %r" % self.http_root_dir)
self.generateMonitoringInstanceTree()
self.httpd_is_alive = True
......
......@@ -227,5 +227,5 @@ if create_project_documents:
portal_type = 'Project',
reference = draft_project)
print "Project Created"
print("Project Created")
return printed
......@@ -419,9 +419,9 @@ class TestConvertedWorkflow(TestERP5WorkflowMixin):
text_document3 = self.getTestObject()
text_document3_permission = getattr(text_document3, permission_key, None)
print 'text_document1_permission: %r' % (text_document1_permission, )
print 'text_document2_permission: %r' % (text_document2_permission, )
print 'text_document3_permission: %r' % (text_document3_permission, )
print('text_document1_permission: %r' % (text_document1_permission, ))
print('text_document2_permission: %r' % (text_document2_permission, ))
print('text_document3_permission: %r' % (text_document3_permission, ))
self.assertEqual(tuple(getattr(text_document3, permission_key)),
('Assignee', 'Assignor', 'Auditor', 'Author'))
......
......@@ -22,7 +22,7 @@ result = connection.getresponse()
path = result.getheader("X-Document-Location")
result.close()
path = '/%s' % '/'.join(path.split('/')[3:])
print path
print(path)
######################################
# Upload chunks
......
from six import string_types as basestring
import re
import json
from Products.ERP5Type.Utils import checkPythonSourceCode
match_PEP263 = re.compile(r'^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)').match
def checkPythonSourceCodeAsJSON(self, data, REQUEST=None):
"""
Check Python source suitable for Source Code Editor and return a JSON object
......@@ -24,17 +29,28 @@ def checkPythonSourceCodeAsJSON(self, data, REQUEST=None):
signature_parts += [data['params']]
signature = ", ".join(signature_parts)
function_name = "function_name"
body = "def %s(%s):\n%s" % (function_name,
signature,
indent(data['code']) or " pass")
# keep the PEP263 magic comment
pep263_comment = '#'
lines = data['code'].splitlines() + ['', '']
for line in lines[0], lines[1]:
m = match_PEP263(line)
if m:
pep263_comment = '# coding=' + m.groups()[0]
break
body = "%s\n"\
"from __future__ import print_function\n"\
"def function_name(%s):\n%s" % (
pep263_comment,
signature,
indent(data['code']) or " pass")
else:
body = data['code']
message_list = checkPythonSourceCode(body.encode('utf8'), data.get('portal_type'))
for message_dict in message_list:
if is_script:
message_dict['row'] = message_dict['row'] - 2
message_dict['row'] = message_dict['row'] - 4
else:
message_dict['row'] = message_dict['row'] - 1
......
......@@ -14,7 +14,7 @@ if from_cat is not None and to_cat is not None:
new_category_list += (cat,)
if has_changed == 1:
o.setCategoryList(new_category_list)
print("changed category %s with %s on %s" % (str(from_cat),str(to_cat),str(o.getPath())))
print(("changed category %s with %s on %s" % (str(from_cat),str(to_cat),str(o.getPath()))))
print(" ")
......
......@@ -12,6 +12,7 @@
# user: user1 password: user1
# user: user2 password: user2
from __future__ import print_function
from threading import Thread
from time import sleep
from urllib import addinfourl
......@@ -47,13 +48,11 @@ def main():
# We must provide an authentication parameter such as __ac_name
url = '//user%i:user%i@localhost:9673%s?__ac_name=user%s&__ac_password=user%s' % \
(i,i,list_url[i][:-1],i,i)
#print "cur thread : %i" % (len(threads))
threads += [Thread(target=checker[len(threads)].CheckUrl,kwargs={'url':url})]
#print "cur thread : %i" % (len(threads)-1)
threads[len(threads)-1].start()
request_number += 1
i+=1
print "thread: %i request: %i url: %s" % (i,request_number,url)
print("thread: %i request: %i url: %s" % (i,request_number,url))
else:
for t in range(0,max_thread):
if threads[t].isAlive() == 0:
......@@ -63,7 +62,7 @@ def main():
threads[t].start()
i+=1
request_number += 1
print "thread: %i request: %i url: %s" % (i,request_number,url)
print("thread: %i request: %i url: %s" % (i,request_number,url))
break
......@@ -97,7 +96,6 @@ class URLOpener(FancyURLopener):
user_passwd, realhost = splituser(realhost)
if user_passwd:
selector = "%s://%s%s" % (urltype, realhost, rest)
#print "proxy via http:", host, selector
if not host: raise IOError('http error', 'no host given')
if user_passwd:
import base64
......@@ -146,17 +144,17 @@ class Checker(URLOpener):
thread.start()
while thread.isAlive():
sleep(0.5)
print "Connection to %s went fine" % url
print("Connection to %s went fine" % url)
except IOError as err:
(errno, strerror) = err.args
print "Can't connect to %s because of I/O error(%s): %s" % (url, errno, strerror)
print("Can't connect to %s because of I/O error(%s): %s" % (url, errno, strerror))
def SearchUrl(self, url=None):
try:
conn = self.open_http(url)
except IOError as err:
(errno, strerror) = err.args
print "Can't connect to %s because of I/O error(%s): %s" % (url, errno, strerror)
print("Can't connect to %s because of I/O error(%s): %s" % (url, errno, strerror))
def raise_error(self, error_key, field):
......
......@@ -188,8 +188,8 @@ class TestInvalidationBug(ERP5TypeTestCase):
module.setIdGenerator('_generatePerDayId')
#module.migrateToHBTree()
self.tic()
print 'OID(%s) = %r' % (module.getRelativeUrl(), module._p_oid)
print ' OID(_tree) = %r' % module._tree._p_oid
print('OID(%s) = %r' % (module.getRelativeUrl(), module._p_oid))
print(' OID(_tree) = %r' % module._tree._p_oid)
previous = DateTime()
skin_folder = self.getPortal().portal_skins.custom
if 'create_script' in skin_folder.objectIds():
......
......@@ -103,7 +103,7 @@ class TestSecurityMixin(ERP5TypeTestCase):
if os.environ.get('erp5_debug_mode') or '/erp5/' in filename or '<portal_components' in filename:
error_list.append('%s:%s %s' % (filename, lineno, method_id))
else:
print('Ignoring missing security definition for %s in %s:%s ' % (method_id, filename, lineno))
print(('Ignoring missing security definition for %s in %s:%s ' % (method_id, filename, lineno)))
if error_list:
message = '\nThe following %s methods have a docstring but have no security assertions.\n\t%s' \
% (len(error_list), '\n\t'.join(error_list))
......
......@@ -690,7 +690,7 @@ if validator_to_use == 'tidy':
warning = False
validator_path = '/usr/bin/tidy'
if not os.path.exists(validator_path):
print 'tidy is not installed at %s' % validator_path
print('tidy is not installed at %s' % validator_path)
else:
validator = TidyValidator(validator_path, show_warnings)
......
......@@ -27,5 +27,5 @@
##############################################################################
def say_hello():
print 'hello'
print('hello')
......@@ -454,10 +454,10 @@ class ERP5TypeFunctionalTestCase(ERP5TypeTestCase):
def _verboseErrorLog(self, size=10):
for entry in self.portal.error_log.getLogEntries()[:size]:
print "="*20
print "ERROR ID : %s" % entry["id"]
print "TRACEBACK :"
print entry["tb_text"]
print("="*20)
print("ERROR ID : %s" % entry["id"])
print("TRACEBACK :")
print(entry["tb_text"])
def testFunctionalTestRunner(self):
# Check the zuite page templates can be rendered, because selenium test
......
......@@ -33,4 +33,4 @@ class TestPystone(unittest.TestCase):
"""Tests to get pystone value
"""
def test_pystone(self):
print "PYSTONE RESULT (time,score) : %r" % (pystone.pystones(),)
print("PYSTONE RESULT (time,score) : %r" % (pystone.pystones(),))
......@@ -55,11 +55,11 @@ class TestSQLBench(unittest.TestCase):
sqlbench_path + '/test-alter-table',
'--database', database,
'--host', host, '--user', user, '--password', password]
print command_list
print(command_list)
process = subprocess.Popen(command_list,
cwd = sqlbench_path,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
self.assertEqual(0, len(error), error)
print output
print(output)
self.assertTrue(output.find("Total time: ")>=0)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment