misc: replace basestring by six.string_types (#36515)
This commit is contained in:
parent
f96426853f
commit
c36f13852f
|
@ -23,6 +23,7 @@ import os
|
|||
import errno
|
||||
import calendar
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.six.moves.urllib import parse as urllib
|
||||
from django.utils.six.moves.urllib import parse as urlparse
|
||||
|
||||
|
@ -40,17 +41,17 @@ def is_url_signed(utcnow=None, duration=DEFAULT_DURATION):
|
|||
if not query_string:
|
||||
return False
|
||||
signature = get_request().form.get('signature')
|
||||
if not isinstance(signature, basestring):
|
||||
if not isinstance(signature, six.string_types):
|
||||
return False
|
||||
# verify signature
|
||||
orig = get_request().form.get('orig')
|
||||
if not isinstance(orig, basestring):
|
||||
if not isinstance(orig, six.string_types):
|
||||
raise AccessForbiddenError('missing/multiple orig field')
|
||||
key = get_publisher().get_site_option(orig, 'api-secrets')
|
||||
if not key:
|
||||
raise AccessForbiddenError('invalid orig')
|
||||
algo = get_request().form.get('algo')
|
||||
if not isinstance(algo, basestring):
|
||||
if not isinstance(algo, six.string_types):
|
||||
raise AccessForbiddenError('missing/multiple algo field')
|
||||
try:
|
||||
algo = getattr(hashlib, algo)
|
||||
|
@ -60,7 +61,7 @@ def is_url_signed(utcnow=None, duration=DEFAULT_DURATION):
|
|||
hmac.new(key, query_string[:query_string.find('&signature=')], algo).digest()):
|
||||
raise AccessForbiddenError('invalid signature')
|
||||
timestamp = get_request().form.get('timestamp')
|
||||
if not isinstance(timestamp, basestring):
|
||||
if not isinstance(timestamp, six.string_types):
|
||||
raise AccessForbiddenError('missing/multiple timestamp field')
|
||||
try:
|
||||
timestamp = datetime.datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%SZ')
|
||||
|
@ -118,7 +119,7 @@ def get_user_from_api_query_string(api_name=None):
|
|||
user = None
|
||||
if get_request().form.get('email'):
|
||||
email = get_request().form.get('email')
|
||||
if not isinstance(email, basestring):
|
||||
if not isinstance(email, six.string_types):
|
||||
raise AccessForbiddenError('multiple email field')
|
||||
users = list(get_publisher().user_class.get_users_with_email(email))
|
||||
if users:
|
||||
|
@ -127,7 +128,7 @@ def get_user_from_api_query_string(api_name=None):
|
|||
raise AccessForbiddenError('unknown email')
|
||||
elif get_request().form.get('NameID'):
|
||||
ni = get_request().form.get('NameID')
|
||||
if not isinstance(ni, basestring):
|
||||
if not isinstance(ni, six.string_types):
|
||||
raise AccessForbiddenError('multiple NameID field')
|
||||
users = list(get_publisher().user_class.get_users_with_name_identifier(ni))
|
||||
if users:
|
||||
|
|
|
@ -26,6 +26,7 @@ try:
|
|||
except ImportError:
|
||||
xlwt = None
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.six.moves.urllib import parse as urllib
|
||||
from django.utils.six import StringIO
|
||||
|
@ -2553,7 +2554,7 @@ class FormBackOfficeStatusPage(FormStatusPage):
|
|||
k = safe(k)
|
||||
r += htmltext('<li><code title="%s">%s</code>') % (k, k)
|
||||
r += htmltext(' <div class="value"><span>%s</span>') % ellipsize(safe(v), 10000)
|
||||
if not isinstance(v, basestring):
|
||||
if not isinstance(v, six.string_types):
|
||||
r += htmltext(' <span class="type">(%r)</span>') % type(v)
|
||||
r += htmltext('</div></li>')
|
||||
r += htmltext('</div>')
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.utils import six
|
||||
|
||||
from wcs.formdata import FormData
|
||||
|
||||
|
||||
|
@ -39,6 +41,6 @@ class CardData(FormData):
|
|||
if not field.varname:
|
||||
continue
|
||||
value = self.data and self.data.get(field.id)
|
||||
if isinstance(value, basestring):
|
||||
if isinstance(value, six.string_types):
|
||||
item[field.varname] = value
|
||||
return item
|
||||
|
|
|
@ -23,6 +23,7 @@ import sys
|
|||
import tempfile
|
||||
import hashlib
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.six.moves import configparser as ConfigParser
|
||||
from django.utils.six.moves.urllib import parse as urlparse
|
||||
|
@ -502,7 +503,7 @@ class CmdCheckHobos(Command):
|
|||
if not createdb_cfg:
|
||||
createdb_cfg = {}
|
||||
for k, v in pub.cfg['postgresql'].items():
|
||||
if v and isinstance(v, basestring):
|
||||
if v and isinstance(v, six.string_types):
|
||||
createdb_cfg[k] = v
|
||||
|
||||
try:
|
||||
|
|
|
@ -23,6 +23,8 @@ import psycopg2.errorcodes
|
|||
from datetime import datetime
|
||||
from shutil import rmtree
|
||||
|
||||
from django.utils import six
|
||||
|
||||
from ..qommon.ctl import Command, make_option
|
||||
|
||||
|
||||
|
@ -58,7 +60,7 @@ class CmdDeleteTenant(Command):
|
|||
if pub.is_using_postgresql():
|
||||
postgresql_cfg = {}
|
||||
for k, v in pub.cfg['postgresql'].items():
|
||||
if v and isinstance(v, basestring):
|
||||
if v and isinstance(v, six.string_types):
|
||||
postgresql_cfg[k] = v
|
||||
|
||||
# if there's a createdb-connection-params, we can do a DROP DATABASE with
|
||||
|
|
|
@ -18,6 +18,7 @@ import collections
|
|||
import hashlib
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.six.moves.urllib import parse as urllib
|
||||
from django.utils.six.moves.urllib import parse as urlparse
|
||||
|
@ -164,7 +165,7 @@ def get_structured_items(data_source, mode=None):
|
|||
elif len(value[0]) == 1:
|
||||
return [{'id': x[0], 'text': x[0]} for x in value]
|
||||
return value
|
||||
elif isinstance(value[0], basestring):
|
||||
elif isinstance(value[0], six.string_types):
|
||||
return [{'id': x, 'text': x} for x in value]
|
||||
return value
|
||||
except:
|
||||
|
|
|
@ -767,7 +767,7 @@ class StringField(WidgetField):
|
|||
|
||||
def migrate(self):
|
||||
changed = super(StringField, self).migrate()
|
||||
if isinstance(self.validation, basestring):
|
||||
if isinstance(self.validation, six.string_types):
|
||||
self.validation = {'type': 'regex', 'value': self.validation}
|
||||
changed = True
|
||||
return changed
|
||||
|
@ -1806,7 +1806,7 @@ class PageField(Field):
|
|||
|
||||
def migrate(self):
|
||||
changed = super(PageField, self).migrate()
|
||||
if isinstance(self.condition, basestring):
|
||||
if isinstance(self.condition, six.string_types):
|
||||
if self.condition:
|
||||
self.condition = {'type': 'python', 'value': self.condition}
|
||||
else:
|
||||
|
@ -1814,7 +1814,7 @@ class PageField(Field):
|
|||
changed = True
|
||||
for post_condition in self.post_conditions or []:
|
||||
condition = post_condition.get('condition')
|
||||
if isinstance(condition, basestring):
|
||||
if isinstance(condition, six.string_types):
|
||||
if condition:
|
||||
post_condition['condition'] = {'type': 'python', 'value': condition}
|
||||
else:
|
||||
|
|
|
@ -22,6 +22,8 @@ import re
|
|||
import sys
|
||||
import time
|
||||
|
||||
from django.utils import six
|
||||
|
||||
from quixote import get_request, get_publisher, get_session
|
||||
from quixote.http_request import Upload
|
||||
|
||||
|
@ -407,7 +409,7 @@ class FormData(StorableObject):
|
|||
if field.prefill and field.prefill.get('type') == 'user':
|
||||
form_user_data[field.prefill['value']] = self.data.get(field.id)
|
||||
user_label = ' '.join([form_user_data.get(x) for x in field_name_values
|
||||
if isinstance(form_user_data.get(x), basestring)])
|
||||
if isinstance(form_user_data.get(x), six.string_types)])
|
||||
if user_label != self.user_label:
|
||||
self.user_label = user_label
|
||||
changed = True
|
||||
|
|
|
@ -24,6 +24,7 @@ import json
|
|||
import xml.etree.ElementTree as ET
|
||||
import datetime
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_text
|
||||
|
||||
from quixote import get_request, get_publisher
|
||||
|
@ -809,7 +810,7 @@ class FormDef(StorableObject):
|
|||
and 'id' in value['workflow']):
|
||||
formdef.workflow_id = value['workflow'].get('id')
|
||||
elif 'workflow' in value:
|
||||
if isinstance(value['workflow'], basestring):
|
||||
if isinstance(value['workflow'], six.string_types):
|
||||
workflow = value.get('workflow')
|
||||
else:
|
||||
workflow = value['workflow'].get('name')
|
||||
|
@ -961,7 +962,7 @@ class FormDef(StorableObject):
|
|||
element = ET.SubElement(options, 'option')
|
||||
element.attrib['varname'] = option
|
||||
option_value = self.workflow_options.get(option)
|
||||
if isinstance(option_value, basestring):
|
||||
if isinstance(option_value, six.string_types):
|
||||
element.text = force_text(self.workflow_options.get(option, ''), charset)
|
||||
elif hasattr(option_value, 'base_filename'):
|
||||
ET.SubElement(element, 'filename').text = option_value.base_filename
|
||||
|
|
|
@ -25,6 +25,7 @@ try:
|
|||
except ImportError:
|
||||
qrcode = None
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.http import quote
|
||||
from django.utils.six import StringIO
|
||||
from django.utils.safestring import mark_safe
|
||||
|
@ -737,7 +738,7 @@ class FormPage(Directory, FormTemplateMixin):
|
|||
continue
|
||||
v, verified = field.get_prefill_value(user=prefill_user)
|
||||
if verified:
|
||||
if not isinstance(v, basestring) and field.convert_value_to_str:
|
||||
if not isinstance(v, six.string_types) and field.convert_value_to_str:
|
||||
# convert structured data to strings as if they were
|
||||
# submitted by the browser.
|
||||
v = field.convert_value_to_str(v)
|
||||
|
|
|
@ -556,7 +556,7 @@ class Template:
|
|||
list = _get_value(valref, ctx)
|
||||
except UnknownReference:
|
||||
return
|
||||
if isinstance(list, basestring):
|
||||
if isinstance(list, six.string_types):
|
||||
raise NeedSequenceError()
|
||||
refname = valref[0]
|
||||
ctx.for_index[refname] = idx = [ list, 0 ]
|
||||
|
|
|
@ -29,6 +29,7 @@ from pyproj import Geod
|
|||
from django import template
|
||||
from django.template import defaultfilters
|
||||
from django.utils import dateparse
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_bytes, force_text
|
||||
from django.utils.safestring import mark_safe
|
||||
from wcs.qommon import evalutils
|
||||
|
@ -138,7 +139,7 @@ def time(value, arg=None):
|
|||
def parse_decimal(value):
|
||||
if hasattr(value, 'get_value'):
|
||||
value = value.get_value() # unlazy
|
||||
if isinstance(value, basestring):
|
||||
if isinstance(value, six.string_types):
|
||||
# replace , by . for French users comfort
|
||||
value = value.replace(',', '.')
|
||||
try:
|
||||
|
@ -327,7 +328,7 @@ def get_latlon(obj):
|
|||
return None, None
|
||||
if hasattr(obj, 'get_value'):
|
||||
obj = obj.get_value() # unlazy
|
||||
if not obj or not isinstance(obj, basestring) or ';' not in obj:
|
||||
if not obj or not isinstance(obj, six.string_types) or ';' not in obj:
|
||||
return None, None
|
||||
try:
|
||||
return float(obj.split(';')[0]), float(obj.split(';')[1])
|
||||
|
|
|
@ -21,11 +21,13 @@ import os
|
|||
import subprocess
|
||||
import stat
|
||||
|
||||
from django.utils import six
|
||||
|
||||
_openssl = 'openssl'
|
||||
|
||||
def decapsulate_pem_file(file_or_string):
|
||||
'''Remove PEM header lines'''
|
||||
if not isinstance(file_or_string, basestring):
|
||||
if not isinstance(file_or_string, six.string_types):
|
||||
content = file_or_string.read()
|
||||
else:
|
||||
content = file_or_string
|
||||
|
|
10
wcs/sql.py
10
wcs/sql.py
|
@ -269,10 +269,6 @@ def str_encode(value):
|
|||
return value
|
||||
|
||||
def site_unicode(value):
|
||||
if not isinstance(value, basestring):
|
||||
value = force_text(value)
|
||||
if isinstance(value, unicode):
|
||||
return value
|
||||
return force_text(value, get_publisher().site_charset)
|
||||
|
||||
def get_connection(new=False):
|
||||
|
@ -1145,7 +1141,7 @@ class SqlMixin(object):
|
|||
# turn {'poire': 2, 'abricot': 1, 'pomme': 3} into an array
|
||||
value = [[x, site_unicode(y).encode('utf-8')] for x, y in value.items()]
|
||||
elif sql_type == 'varchar':
|
||||
assert isinstance(value, basestring)
|
||||
assert isinstance(value, six.string_types)
|
||||
elif sql_type == 'date':
|
||||
assert type(value) is time.struct_time
|
||||
value = datetime.datetime(value.tm_year, value.tm_mon, value.tm_mday)
|
||||
|
@ -1487,7 +1483,7 @@ class SqlDataMixin(SqlMixin):
|
|||
elif field.key in ('item', 'items'):
|
||||
value = self.data.get('%s_display' % field.id)
|
||||
if value:
|
||||
if isinstance(value, basestring):
|
||||
if isinstance(value, six.string_types):
|
||||
fts_strings.append(value)
|
||||
elif type(value) in (tuple, list):
|
||||
fts_strings.extend(value)
|
||||
|
@ -1768,7 +1764,7 @@ class SqlUser(SqlMixin, wcs.users.User):
|
|||
elif field.key in ('item', 'items'):
|
||||
value = self.form_data.get('%s_display' % field.id)
|
||||
if value:
|
||||
if isinstance(value, basestring):
|
||||
if isinstance(value, six.string_types):
|
||||
fts_strings.append(value)
|
||||
elif type(value) in (tuple, list):
|
||||
fts_strings.extend(value)
|
||||
|
|
|
@ -19,6 +19,8 @@ import json
|
|||
import os
|
||||
import sys
|
||||
|
||||
from django.utils import six
|
||||
|
||||
from quixote import get_publisher, get_request, redirect
|
||||
|
||||
from quixote.directory import Directory
|
||||
|
@ -128,7 +130,7 @@ class JumpWorkflowStatusItem(WorkflowStatusJumpItem):
|
|||
|
||||
def migrate(self):
|
||||
changed = super(JumpWorkflowStatusItem, self).migrate()
|
||||
if isinstance(self.condition, basestring):
|
||||
if isinstance(self.condition, six.string_types):
|
||||
if self.condition:
|
||||
self.condition = {'type': 'python', 'value': self.condition}
|
||||
else:
|
||||
|
|
|
@ -1170,7 +1170,7 @@ class WorkflowGlobalActionTimeoutTrigger(WorkflowGlobalActionTrigger):
|
|||
day=anchor_date.day)
|
||||
elif isinstance(anchor_date, time.struct_time):
|
||||
anchor_date = datetime.datetime.fromtimestamp(time.mktime(anchor_date))
|
||||
elif isinstance(anchor_date, basestring) and anchor_date:
|
||||
elif isinstance(anchor_date, six.string_types) and anchor_date:
|
||||
try:
|
||||
anchor_date = get_as_datetime(anchor_date)
|
||||
except ValueError:
|
||||
|
@ -1866,7 +1866,7 @@ class WorkflowStatusItem(XmlSerialisable):
|
|||
|
||||
@classmethod
|
||||
def compute(cls, var, render=True, raises=False, context=None, formdata=None, status_item=None):
|
||||
if not isinstance(var, basestring):
|
||||
if not isinstance(var, six.string_types):
|
||||
return var
|
||||
|
||||
expression = cls.get_expression(var)
|
||||
|
@ -2540,7 +2540,7 @@ class SendmailWorkflowStatusItem(WorkflowStatusItem):
|
|||
# this works around the fact that parametric workflows only support
|
||||
# string values, so if we get set a string, we convert it here to an
|
||||
# array.
|
||||
if isinstance(self.to, basestring):
|
||||
if isinstance(self.to, six.string_types):
|
||||
self.to = [self.to]
|
||||
|
||||
addresses = []
|
||||
|
@ -2556,7 +2556,7 @@ class SendmailWorkflowStatusItem(WorkflowStatusItem):
|
|||
if isinstance(dest, list):
|
||||
addresses.extend(dest)
|
||||
continue
|
||||
elif isinstance(dest, basestring) and ',' in dest:
|
||||
elif isinstance(dest, six.string_types) and ',' in dest:
|
||||
# if the email contains a comma consider it as a serie of
|
||||
# emails
|
||||
addresses.extend([x.strip() for x in dest.split(',')])
|
||||
|
|
Loading…
Reference in New Issue