Commit 70d38eee authored by Romain Courteaud's avatar Romain Courteaud

[erp5_hal/web_renderjs_ui/officejs] Fix python coding style

parent f3c57d2d
......@@ -2,7 +2,6 @@ from Acquisition import aq_self, aq_base, aq_inner
from Products.ERP5Type.Utils import UpperCase
from ZODB.POSException import ConflictError
from AccessControl import Unauthorized
from Products.ZSQLCatalog.zsqlbrain import ZSQLBrain
def Base_aqSelf(self):
......@@ -68,7 +67,7 @@ def Listbox_getBrainValue(self, brain, obj, select, can_check_local_property, ed
default_field_value = default_field_value()
except (ConflictError, RuntimeError):
raise
except:
except Exception:
default_field_value = None
# Listbox.py forces result to be an empty string
......
......@@ -45,10 +45,7 @@
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple>
<string>W: 71, 4: No exception type(s) specified (bare-except)</string>
<string>W: 5, 0: Unused ZSQLBrain imported from Products.ZSQLCatalog.zsqlbrain (unused-import)</string>
</tuple>
<tuple/>
</value>
</item>
<item>
......@@ -103,24 +100,28 @@
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</tuple>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -12,13 +12,10 @@ There are runtime values hidden in every dialog form (injected by getHateoas Scr
extra_param_json - JSON serialized extra parameters for the dialog script
"""
from Products.ERP5Type.Log import log, DEBUG, INFO, WARNING, ERROR
from Products.Formulator.Errors import FormValidationError, ValidationError
from ZTUtils import make_query
from Products.ERP5Type.Log import log, WARNING
from Products.Formulator.Errors import FormValidationError
import json
DOCUMENT_COUNT_LIMIT = 50
# http://stackoverflow.com/a/13105359
def byteify(value):
if isinstance(value, dict):
......@@ -53,7 +50,6 @@ else:
# request.form holds POST data thus containing 'field_' + field.id items
# such as 'field_your_some_field'
request_form = request.form
error_message = ''
translate = context.Base_translateString
portal = context.getPortalObject()
......@@ -161,7 +157,6 @@ except FormValidationError as validation_errors:
MARKER = [] # A recognisable default value. Use with 'is', not '=='.
listbox_id_list = [] # There should not be more than one listbox - but this give us a way to check.
file_id_list = [] # For uploaded files.
for field in form.get_fields():
field_id = field.id
field_value = request.get(field_id, MARKER)
......
......@@ -141,10 +141,10 @@ def editMatrixBox(matrixbox_field, matrixbox):
columns = matrixbox_field.get_value('columns')
tabs = matrixbox_field.get_value('tabs')
column_ids = map(lambda x: x[0], columns)
line_ids = map(lambda x: x[0], lines)
tab_ids = map(lambda x: x[0], tabs)
extra_dimension_category_list_list = [[category for category, label in dimension_list] for dimension_list in extra_dimension_list_list]
column_ids = [x[0] for x in columns]
line_ids = [x[0] for x in lines]
tab_ids = [x[0] for x in tabs]
extra_dimension_category_list_list = [[category for category, _ in dimension_list] for dimension_list in extra_dimension_list_list]
# There are 3 cases
# Case 1: we do 1 dimensional matrix
......@@ -247,8 +247,6 @@ spp = context.getPhysicalPath()
spp =list(spp)
s_url = request["SERVER_URL"]
spp.insert(0,s_url)
#calculate direct the url instead of using absolute_url
new_url = '/'.join(spp)
# for web mode, we should use 'view' instead of passed form_id
# after 'Save & View'.
......
......@@ -7,6 +7,9 @@ from zExceptions import Redirect
from ZTUtils import make_query
import json
if keep_items is None:
keep_items = {}
request_form = context.REQUEST.form
previous_form_id = request_form.get('form_id', '')
request_form.update(kw)
......
......@@ -50,7 +50,7 @@
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>form_id=\'view\', keep_items={}, abort_transaction=False, **kw</string> </value>
<value> <string>form_id=\'view\', keep_items=None, abort_transaction=False, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
......
......@@ -54,17 +54,18 @@ from DateTime import DateTime
from ZODB.POSException import ConflictError
import datetime
import time
from email.Utils import formatdate
from email.utils import formatdate
import re
from zExceptions import Unauthorized
from Products.ERP5Type.Log import log, DEBUG, INFO, WARNING, ERROR
from Products.ERP5Type.Log import log, WARNING, ERROR
from Products.ERP5Type.Message import Message
from Products.ERP5Type.Utils import UpperCase
from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery
from collections import OrderedDict
from Products.ERP5Form.Selection import Selection
from Products.PythonScripts.standard import Object
MARKER = Object()
MARKER = []
COUNT_LIMIT = 1000
if REQUEST is None:
......@@ -77,12 +78,6 @@ if response is None:
response = REQUEST.RESPONSE
def isFieldType(field, type_name):
if field.meta_type == 'ProxyField':
field = field.getRecursiveTemplateField()
return field.meta_type == type_name
def toBasicTypes(obj):
"""Ensure that obj contains only basic types."""
if obj is None:
......@@ -97,7 +92,7 @@ def toBasicTypes(obj):
return obj.translate()
try:
return {toBasicTypes(key): toBasicTypes(obj[key]) for key in obj}
except:
except Exception:
log('Cannot convert {!s} to basic types {!s}'.format(type(obj), obj), level=100)
return obj
......@@ -246,7 +241,7 @@ def selectKwargsForCallable(func, initial_kwargs, kwargs_dict):
if script_params is not None:
# In case the func is actualy Script (Python) or ERP5 Python Script
func_param_list = [tuple(map(lambda x: x.strip(), func_param.split('=')))
func_param_list = [tuple([x.strip() for x in func_param.split('=')])
for func_param in script_params.split(",")
if func_param.strip()]
elif hasattr(func, "func_args"):
......@@ -414,7 +409,7 @@ def renderField(traversed_document, field, form, value=MARKER, meta_type=None, k
# this listbox expects field_id to point to the "parent" relation field
# thus setting the field_id is optional and controlled by `request_field` argument
if request_field:
previous_request_field = REQUEST.other.pop('field_id', None)
# previous_request_field = REQUEST.other.pop('field_id', None)
REQUEST.other['field_id'] = field.id
if meta_type is None:
......@@ -940,7 +935,6 @@ def renderForm(traversed_document, form, response_dict, key_prefix=None, selecti
proxy_form_id_list = [('Base_viewRelatedObjectListBase/listbox', 'default')]
# Create the possible choices
root_url = site_root.absolute_url()
renderHiddenField(response_dict, "proxy_form_id_list", '')
response_dict["proxy_form_id_list"].update({
"items": [(Base_translateString(y), url_template_dict['traverse_generator_action'] % {
......@@ -1403,7 +1397,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
'href': '%s' % view_action['url'],
'name': view_action['id'],
'icon': view_action['icon'],
'title': Base_translateString(view_action['title'])
'title': Base_translateString(view_action['title']),
})
global_action_type = ("view", "workflow", "object_new_content_action",
......@@ -1549,7 +1543,6 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
}
elif relative_url == 'portal_preferences':
preference_tool = portal.portal_preferences
preference = traversed_document.getActiveUserPreference()
if preference:
result_dict['_links']['active_preference'] = {
......@@ -1998,7 +1991,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
selection=catalog_kw['selection'],
selection_name=catalog_kw['selection_name'],
column_id=select)
except AttributeError as e:
except AttributeError:
# In case the URL method is invalid or empty, we expect to have no link
# for the column to maintain compatibility with old UI, hence we create
# an empty url_parameter_dict for these cases.
......@@ -2019,7 +2012,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
)
except (ConflictError, RuntimeError):
raise
except:
except Exception:
log('could not evaluate the url method getListItemUrlDict with %r' % brain,
level=800)
......
......@@ -2,7 +2,7 @@ from Products.CMFCore.WorkflowCore import WorkflowException
from Products.Formulator.Errors import FormValidationError
from Products.DCWorkflow.DCWorkflow import ValidationFailed
from Products.ERP5Type.Message import translateString
from Products.ERP5Type.Log import log, WARNING
from Products.ERP5Type.Log import WARNING
portal = context.getPortalObject()
request = REQUEST or context.REQUEST
......
......@@ -140,20 +140,20 @@ def do_fake_request(request_method, headers=None, data=()):
def replace_request(new_request, context):
base_chain = [aq_base(x) for x in context.aq_chain]
# Grab existig request (last chain item) and create a copy.
request_container = base_chain.pop()
# request = request_container.REQUEST
base_chain = [aq_base(x) for x in context.aq_chain]
# Grab existig request (last chain item) and create a copy.
request_container = base_chain.pop()
# request = request_container.REQUEST
setRequest(new_request)
setRequest(new_request)
new_request_container = request_container.__class__(REQUEST=new_request)
# Recreate acquisition chain.
my_self = new_request_container
base_chain.reverse()
for item in base_chain:
my_self = item.__of__(my_self)
return my_self
new_request_container = request_container.__class__(REQUEST=new_request)
# Recreate acquisition chain.
my_self = new_request_container
base_chain.reverse()
for item in base_chain:
my_self = item.__of__(my_self)
return my_self
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
......@@ -2151,7 +2151,7 @@ return context.getPortalObject().portal_catalog(portal_type='Foo', sort_on=[('id
# Create the listbox selection
fake_request = do_fake_request("GET")
result = self.portal.web_site_module.hateoas.ERP5Document_getHateoas(
self.portal.web_site_module.hateoas.ERP5Document_getHateoas(
REQUEST=fake_request,
mode="search",
local_roles=["Manager"],
......
......@@ -10,7 +10,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
def test_mode_root(self):
fake_request = do_fake_request("GET")
self.logout()
result = self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request)
self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request)
self.assertEquals(fake_request.RESPONSE.status, 401)
self.assertEquals(fake_request.RESPONSE.getHeader('WWW-Authenticate'),
'X-Delegate uri="%s/connection/login_form{?came_from}"' % self.portal.web_site_module.hateoas.absolute_url()
......@@ -25,7 +25,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
document_relative_url = self._makeDocument().getRelativeUrl()
fake_request = do_fake_request("GET")
self.logout()
result = self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request, mode="traverse", relative_url=document_relative_url)
self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request, mode="traverse", relative_url=document_relative_url)
self.assertEquals(fake_request.RESPONSE.status, 401)
self.assertEquals(fake_request.RESPONSE.getHeader('WWW-Authenticate'),
'X-Delegate uri="%s/connection/login_form{?came_from}"' % self.portal.web_site_module.hateoas.absolute_url()
......@@ -39,7 +39,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
def test_mode_search(self):
fake_request = do_fake_request("GET")
self.logout()
result = self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request, mode="search")
self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request, mode="search")
self.assertEquals(fake_request.RESPONSE.status, 401)
self.assertEquals(fake_request.RESPONSE.getHeader('WWW-Authenticate'),
'X-Delegate uri="%s/connection/login_form{?came_from}"' % self.portal.web_site_module.hateoas.absolute_url()
......@@ -53,7 +53,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
def test_mode_worklist(self):
fake_request = do_fake_request("GET")
self.logout()
result = self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request, mode="worklist")
self.portal.web_site_module.hateoas.ERP5Document_getHateoas(REQUEST=fake_request, mode="worklist")
self.assertEquals(fake_request.RESPONSE.status, 401)
self.assertEquals(fake_request.RESPONSE.getHeader('WWW-Authenticate'),
'X-Delegate uri="%s/connection/login_form{?came_from}"' % self.portal.web_site_module.hateoas.absolute_url()
......
......@@ -100,24 +100,28 @@
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</tuple>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -23,7 +23,7 @@ def getFieldRawProperties(field, meta_type=None, key=None, key_prefix=None):
gadget_field_patch = False
for key in field.values.keys():
# sometimes, field.values returns a key as string and also as a tuple
if type(key) is str:
if isinstance(key, str):
result["values"][key] = field.values[key]
if key == "columns":
form_list_patch = True
......
......@@ -19,11 +19,11 @@ except KeyError:
return result_dict
try:
encoded = name.replace("definition_view/", "", 1)
name = base64.decodestring(encoded)
base_64 = True
encoded = name.replace("definition_view/", "", 1)
name = base64.decodestring(encoded)
base_64 = True
except binascii.Error:
pass
pass
if name.startswith("definition_view/") or name.startswith("portal_types/") or base_64:
relative_url = name.replace("%2F", "/").replace("%20", " ")
......
import re
import json
import base64
from datetime import datetime
......@@ -65,7 +64,7 @@ try:
app_action_string = app_action_string.replace('(', '[').replace(')', ']').replace(',]', ']').replace("'", '"')
app_action_raw_list = json.loads(app_action_string)
for app_action in app_action_raw_list:
pair = app_action.split(" | ");
pair = app_action.split(" | ")
if len(pair) != 2:
raise SyntaxError("Syntax error in app_action router setting")
app_action_list.append(pair)
......
# Copyright (c) 2002-2017 Nexedi SA and Contributors. All Rights Reserved.
from DateTime import DateTime
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from base64 import b64decode
......
......@@ -100,24 +100,28 @@
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</tuple>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# Define Reference from ID provided by portal_ids
portal = context.getPortalObject()
type_definition = context.getTypeInfo()
# XXX Hardcoded
short_portal_type = "OSP"
......
......@@ -38,7 +38,7 @@ software_release = portal.software_release_module.newContent(
)
# Create Software Publication Line
software_publication_line = software_publication.newContent(
software_publication.newContent(
portal_type="Software Publication Line",
title=software_publication.getTitle() + " Publication",
aggregate_list=[software_release.getRelativeUrl(), software_product.getSaleSupplyLineAggregate()],
......@@ -46,7 +46,7 @@ software_publication_line = software_publication.newContent(
activate_kw={"tag": tag}
)
zip_file = software_publication.Base_contribute(
software_publication.Base_contribute(
file=file,
attach_document_to_context=True,
portal_type="File",
......
REQUEST = context.REQUEST
RESPONSE = REQUEST.RESPONSE
software_release = context.SoftwarePublication_getRelatedSoftwareRelease()
software_release.SoftwareRelease_publishRelatedWebDocument()
message = context.getTitle() + " Published"
......
......@@ -54,8 +54,8 @@ if base:
base += "/"
base_length = len(base)
def extractWebManifest(file):
html = context.Base_parseHtml(file)
def extractWebManifest(html_file):
html = context.Base_parseHtml(html_file)
for tag in html:
if tag[0] == 'starttag' and tag[1] == 'link' and ('rel', 'manifest') in tag[2]:
for attribute in tag[2]:
......
portal = context.getPortalObject()
software_release = context
software_product = context.getFollowUpValue(portal_type="Software Product")
......
from random import randint
portal = context.getPortalObject()
# Get Software Product Object
......
object = state_change['object']
object.Base_checkConsistency()
obj = state_change['object']
obj.Base_checkConsistency()
from Products.ERP5Type.Message import translateString
portal = context.getPortalObject()
follow_up_value = portal.restrictedTraverse(follow_up)
assert follow_up_value.getPortalType() == "Support Request"
......
......@@ -3,15 +3,10 @@ import json
portal = context.getPortalObject()
Base_translateString = context.Base_translateString
#(data-i18n)=["']{{((?:.(?!["']?(?:\S+)=|[>"']))+.)}}["']
attribute_filter_re = re.compile(r"""(data-i18n)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?""")
tmp_re = re.compile(r"""/[{}]/g, """"")
translate_word = []
for web_page in portal.web_page_module.searchFolder(portal_type='Web Page',
......
appcache_file = context.getLayoutProperty("configuration_manifest_url", default="gadget_erp5.appcache")
appcache_reference = context.getLayoutProperty("configuration_manifest_url", default="gadget_erp5.appcache")
text_content = context.getPortalObject().portal_catalog.getResultValue(
portal_type='Web Manifest',
reference=appcache_reference).getTextContent()
text_content = context.web_page_module.searchFolder(
portal_type= 'Web Manifest',
reference = appcache_file)[0].getTextContent()
translation_data_file = []
file_list = []
for file in text_content.split('\n'):
file = file.split('/')[-1]
if file.endswith('.html'):
file_list.append(file)
translation_data_url_list = []
url_list = []
for text_line in text_content.split('\n'):
text_line = text_line.split('/')[-1]
if text_line.endswith('.html'):
url_list.append(text_line)
continue
if file.endswith('.js') and not only_html:
if file.endswith('translation_data.js'):
translation_data_file = [file]
if text_line.endswith('.js') and not only_html:
if text_line.endswith('translation_data.js'):
translation_data_url_list = [text_line]
continue
file_list.append(file)
return translation_data_file + file_list
url_list.append(text_line)
return translation_data_url_list + url_list
......@@ -3,8 +3,8 @@ if REQUEST is None:
if response is None:
response = REQUEST.RESPONSE
file = context
file_content = file.getData()
file_document = context
file_content = file_document.getData()
# The vanilla HTML is wanted
response.setBase(None)
......@@ -12,7 +12,7 @@ response.setBase(None)
# Allow any external app to download the source code
response.setHeader("Access-Control-Allow-Origin", "*")
if REQUEST.getHeader('If-Modified-Since', '') == file.getModificationDate().rfc822():
if REQUEST.getHeader('If-Modified-Since', '') == file_document.getModificationDate().rfc822():
response.setStatus(304)
return ""
......@@ -20,6 +20,6 @@ if REQUEST.getHeader('If-Modified-Since', '') == file.getModificationDate().rfc8
#if file_content_type is None:
# file_content_type = 'application/octet-stream'
response.setHeader('Content-Type', (file.getContentType() or 'application/octet-stream'))
response.setHeader('Content-Type', (file_document.getContentType() or 'application/octet-stream'))
return file_content
......@@ -89,6 +89,6 @@ else:
background-attachment: fixed;
background-image: url("%s");
}
""" % wallpaper_url);
""" % wallpaper_url)
return view_as_web_method(mapping_dict=mapping_dict)
"""
Default logout handler, overwritten to give website specific portal status message.
"""
website = context.getWebSiteValue()
REQUEST = context.REQUEST
if REQUEST.has_key('portal_skin'):
context.portal_skins.clearSkinCookie()
......
alpha = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
new_password = ''.join([random.choice(alpha) for i in range(10)])
new_password = ''.join([random.choice(alpha) for _ in range(10)])
person_module = context.getPortalObject().person_module
user_id = "user_a_test"
......
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