Commit ed7fe40c authored by Serge S. Koval's avatar Serge S. Koval

Python 3 cleanup

parent d72d381a
......@@ -2,7 +2,8 @@ from functools import wraps
from re import sub
from flask import Blueprint, render_template, url_for, abort, g
from flask.ext.admin import babel, _compat
from flask.ext.admin import babel
from flask.ext.admin._compat import with_metaclass
from flask.ext.admin import helpers as h
......@@ -90,11 +91,11 @@ class AdminViewMeta(type):
setattr(cls, p, _wrap_view(attr))
class BaseClass(object):
class BaseViewClass(object):
pass
class BaseView(_compat.with_metaclass(AdminViewMeta, BaseClass)):
class BaseView(with_metaclass(AdminViewMeta, BaseViewClass)):
"""
Base administrative view.
......
......@@ -11,7 +11,8 @@ from flask import flash, url_for, redirect, abort, request
from wtforms import fields, validators
from flask.ext.admin import form, helpers, _compat
from flask.ext.admin import form, helpers
from flask.ext.admin._compat import urljoin
from flask.ext.admin.base import BaseView, expose
from flask.ext.admin.actions import action, ActionsMixin
from flask.ext.admin.babel import gettext, lazy_gettext
......@@ -312,7 +313,7 @@ class FileAdmin(BaseView, ActionsMixin):
return url_for(".edit", path=path)
else:
base_url = self.get_base_url()
return _compat.urljoin(base_url, path)
return urljoin(base_url, path)
def _normalize_path(self, path):
"""
......
......@@ -4,7 +4,7 @@ from flask import flash
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView
from flask.ext.admin import _compat
from flask.ext.admin._compat import iteritems, string_types
import mongoengine
from bson.objectid import ObjectId
......@@ -116,7 +116,7 @@ class ModelView(BaseModelView):
if model is None:
model = self.model
return sorted(_compat.iteritems(model._fields), key=lambda n: n[1].creation_counter)
return sorted(iteritems(model._fields), key=lambda n: n[1].creation_counter)
def scaffold_pk(self):
# MongoEngine models have predefined 'id' as a key
......@@ -172,7 +172,7 @@ class ModelView(BaseModelView):
"""
if self.column_searchable_list:
for p in self.column_searchable_list:
if isinstance(p, _compat.string_types):
if isinstance(p, string_types):
p = self.model._fields.get(p)
if p is None:
......@@ -196,7 +196,7 @@ class ModelView(BaseModelView):
:param name:
Either field name or field instance
"""
if isinstance(name, _compat.string_types):
if isinstance(name, string_types):
attr = self.model._fields.get(name)
else:
attr = name
......@@ -207,7 +207,7 @@ class ModelView(BaseModelView):
# Find name
visible_name = None
if not isinstance(name, _compat.string_types):
if not isinstance(name, string_types):
visible_name = self.get_column_name(attr.name)
if not visible_name:
......
......@@ -5,7 +5,8 @@ from peewee import (DateTimeField, DateField, TimeField,
from wtfpeewee.orm import ModelConverter, model_form
from flask.ext.admin import form, _compat
from flask.ext.admin import form
from flask.ext.admin._compat import itervalues
from flask.ext.admin.model.form import InlineFormAdmin, InlineModelConverterBase
from flask.ext.admin.model.fields import InlineModelFormField, InlineFieldList
......@@ -164,6 +165,6 @@ class InlineModelConverter(InlineModelConverterBase):
def save_inline(form, model):
for f in _compat.itervalues(form._fields):
for f in itervalues(form._fields):
if f.type == 'InlineModelFormList':
f.save_related(model)
......@@ -2,7 +2,8 @@ import logging
from flask import flash
from flask.ext.admin import form, _compat
from flask.ext.admin import form
from flask.ext.admin._compat import string_types
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView
......@@ -173,14 +174,13 @@ class ModelView(BaseModelView):
def init_search(self):
if self.column_searchable_list:
for p in self.column_searchable_list:
if isinstance(p, _compat.string_types):
if isinstance(p, string_types):
p = getattr(self.model, p)
field_type = type(p)
# Check type
if (field_type != CharField and
field_type != TextField):
if (field_type != CharField and field_type != TextField):
raise Exception('Can only search on text columns. ' +
'Failed to setup search for "%s"' % p)
......@@ -189,7 +189,7 @@ class ModelView(BaseModelView):
return bool(self._search_fields)
def scaffold_filters(self, name):
if isinstance(name, _compat.string_types):
if isinstance(name, string_types):
attr = getattr(self.model, name, None)
else:
attr = name
......@@ -202,7 +202,7 @@ class ModelView(BaseModelView):
visible_name = '%s / %s' % (self.get_column_name(attr.model_class.__name__),
self.get_column_name(attr.name))
else:
if not isinstance(name, _compat.string_types):
if not isinstance(name, string_types):
visible_name = self.get_column_name(attr.name)
else:
visible_name = self.get_column_name(name)
......@@ -253,7 +253,7 @@ class ModelView(BaseModelView):
return query
def _order_by(self, query, joins, sort_field, sort_desc):
if isinstance(sort_field, _compat.string_types):
if isinstance(sort_field, string_types):
field = getattr(self.model, sort_field)
query = query.order_by(field.desc() if sort_desc else field.asc())
elif isinstance(sort_field, Field):
......
......@@ -6,7 +6,7 @@ from bson.errors import InvalidId
from flask import flash
from flask.ext.admin import _compat
from flask.ext.admin._compat import string_types
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView
from flask.ext.admin.actions import action
......@@ -92,7 +92,7 @@ class ModelView(BaseModelView):
"""
if self.column_searchable_list:
for p in self.column_searchable_list:
if not isinstance(p, _compat.string_types):
if not isinstance(p, string_types):
raise ValueError('Expected string')
# TODO: Validation?
......
......@@ -7,7 +7,7 @@ from sqlalchemy import or_, Column, func
from flask import flash
from flask.ext.admin import _compat
from flask.ext.admin._compat import string_types
from flask.ext.admin.tools import ObsoleteAttr
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView
......@@ -349,7 +349,7 @@ class ModelView(BaseModelView):
return columns
def _get_columns_for_field(self, field):
if isinstance(field, _compat.string_types):
if isinstance(field, string_types):
attr = getattr(self.model, field, None)
if field is None:
......@@ -411,7 +411,7 @@ class ModelView(BaseModelView):
"""
join_tables = []
if isinstance(name, _compat.string_types):
if isinstance(name, string_types):
model = self.model
for attribute in name.split('.'):
......@@ -475,7 +475,7 @@ class ModelView(BaseModelView):
self.get_column_name(column.name)
)
else:
if not isinstance(name, _compat.string_types):
if not isinstance(name, string_types):
visible_name = self.get_column_name(name.property.key)
else:
visible_name = self.get_column_name(name)
......@@ -597,7 +597,7 @@ class ModelView(BaseModelView):
"""
# TODO: Preprocessing for joins
# Try to handle it as a string
if isinstance(sort_field, _compat.string_types):
if isinstance(sort_field, string_types):
# Create automatic join against a table if column name
# contains dot.
if '.' in sort_field:
......@@ -638,7 +638,7 @@ class ModelView(BaseModelView):
if order is not None:
field, direction = order
if isinstance(field, _compat.string_types):
if isinstance(field, string_types):
field = getattr(self.model, field)
return field, direction
......
......@@ -5,7 +5,7 @@ from wtforms import form, fields, widgets
from flask.globals import _request_ctx_stack
from flask.ext.admin.babel import gettext, ngettext
from flask.ext.admin import helpers as h
from flask.ext.admin import _compat
from flask.ext.admin._compat import text_type
# TODO: Use flask.ext.wtf if possible
......@@ -92,7 +92,7 @@ class Select2Field(fields.SelectField):
"""
widget = Select2Widget()
def __init__(self, label=None, validators=None, coerce=_compat.text_type,
def __init__(self, label=None, validators=None, coerce=text_type,
choices=None, allow_blank=False, blank_text=None, **kwargs):
super(Select2Field, self).__init__(
label, validators, coerce, choices, **kwargs
......
......@@ -2,7 +2,7 @@ import itertools
from wtforms.fields import FieldList, FormField
from flask.ext.admin import _compat
from flask.ext.admin._compat import iteritems
from .widgets import InlineFieldListWidget, InlineFormWidget
......@@ -83,7 +83,7 @@ class InlineModelFormField(FormField):
return getattr(self.form, self._pk).data
def populate_obj(self, obj, name):
for name, field in _compat.iteritems(self.form._fields):
for name, field in iteritems(self.form._fields):
if name != self._pk:
field.populate_obj(obj, name)
......
import inspect
from flask.ext.admin.form import BaseForm
from flask.ext.admin import _compat
from flask.ext.admin._compat import iteritems
def converts(*args):
......@@ -38,7 +38,7 @@ class InlineFormAdmin(object):
if not hasattr(self, k):
setattr(self, k, None)
for k, v in _compat.iteritems(kwargs):
for k, v in iteritems(kwargs):
setattr(self, k, v)
def postprocess_form(self, form_class):
......
......@@ -4,7 +4,7 @@ import peewee
from wtforms import fields
from flask.ext.admin import _compat
from flask.ext.admin._compat import iteritems
from flask.ext.admin.contrib.peeweemodel import ModelView
from . import setup
......@@ -14,7 +14,7 @@ class CustomModelView(ModelView):
def __init__(self, model,
name=None, category=None, endpoint=None, url=None,
**kwargs):
for k, v in _compat.iteritems(kwargs):
for k, v in iteritems(kwargs):
setattr(self, k, v)
super(CustomModelView, self).__init__(model,
......
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