Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
databases/py-Elixir: Fix build with setuptools 58.0.0+
With hat: python
- Loading branch information
Showing
1 changed file
with
190 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
--- elixir/entity.py.orig 2009-11-13 19:50:38 UTC | ||
+++ elixir/entity.py | ||
@@ -3,7 +3,7 @@ This module provides the ``Entity`` base class, as wel | ||
``EntityMeta``. | ||
''' | ||
|
||
-from py23compat import sorted | ||
+from .py23compat import sorted | ||
|
||
import sys | ||
import types | ||
@@ -172,7 +172,7 @@ class EntityDescriptor(object): | ||
self.identity = self.identity(entity) | ||
|
||
if self.polymorphic: | ||
- if not isinstance(self.polymorphic, basestring): | ||
+ if not isinstance(self.polymorphic, str): | ||
self.polymorphic = options.DEFAULT_POLYMORPHIC_COL_NAME | ||
|
||
#--------------------- | ||
@@ -226,7 +226,7 @@ class EntityDescriptor(object): | ||
if col.primary_key: | ||
self.add_column(col.copy()) | ||
elif not self.has_pk and self.auto_primarykey: | ||
- if isinstance(self.auto_primarykey, basestring): | ||
+ if isinstance(self.auto_primarykey, str): | ||
colname = self.auto_primarykey | ||
else: | ||
colname = options.DEFAULT_AUTO_PRIMARYKEY_NAME | ||
@@ -298,7 +298,7 @@ class EntityDescriptor(object): | ||
options.POLYMORPHIC_COL_TYPE)) | ||
|
||
if self.version_id_col: | ||
- if not isinstance(self.version_id_col, basestring): | ||
+ if not isinstance(self.version_id_col, str): | ||
self.version_id_col = options.DEFAULT_VERSION_ID_COL_NAME | ||
self.add_column(Column(self.version_id_col, Integer)) | ||
|
||
@@ -306,7 +306,7 @@ class EntityDescriptor(object): | ||
self.entity.table = Table(self.tablename, self.metadata, | ||
*args, **kwargs) | ||
if DEBUG: | ||
- print self.entity.table.repr2() | ||
+ print(self.entity.table.repr2()) | ||
|
||
def setup_reltables(self): | ||
self.call_builders('create_tables') | ||
@@ -365,7 +365,7 @@ class EntityDescriptor(object): | ||
return children | ||
|
||
def translate_order_by(self, order_by): | ||
- if isinstance(order_by, basestring): | ||
+ if isinstance(order_by, str): | ||
order_by = [order_by] | ||
|
||
order = [] | ||
@@ -505,12 +505,12 @@ class EntityDescriptor(object): | ||
# get one in any case. | ||
table = type.__getattribute__(self.entity, 'table') | ||
if table is not None: | ||
- if check_duplicate and col.key in table.columns.keys(): | ||
+ if check_duplicate and col.key in list(table.columns.keys()): | ||
raise Exception("Column '%s' already exist in table '%s' ! " % | ||
(col.key, table.name)) | ||
table.append_column(col) | ||
if DEBUG: | ||
- print "table.append_column(%s)" % col | ||
+ print("table.append_column(%s)" % col) | ||
|
||
def add_constraint(self, constraint): | ||
self.constraints.append(constraint) | ||
@@ -537,7 +537,7 @@ class EntityDescriptor(object): | ||
if mapper: | ||
mapper.add_property(name, property) | ||
if DEBUG: | ||
- print "mapper.add_property('%s', %s)" % (name, repr(property)) | ||
+ print("mapper.add_property('%s', %s)" % (name, repr(property))) | ||
|
||
def add_mapper_extension(self, extension): | ||
extensions = self.mapper_options.get('extension', []) | ||
@@ -795,7 +795,7 @@ def instrument_class(cls): | ||
|
||
# Process attributes (using the assignment syntax), looking for | ||
# 'Property' instances and attaching them to this entity. | ||
- properties = [(name, attr) for name, attr in cls.__dict__.iteritems() | ||
+ properties = [(name, attr) for name, attr in cls.__dict__.items() | ||
if isinstance(attr, Property)] | ||
sorted_props = sorted(base_props + properties, | ||
key=lambda i: i[1]._counter) | ||
@@ -924,7 +924,7 @@ def setup_entities(entities): | ||
# delete all Elixir properties so that it doesn't interfere with | ||
# SQLAlchemy. At this point they should have be converted to | ||
# builders. | ||
- for name, attr in entity.__dict__.items(): | ||
+ for name, attr in list(entity.__dict__.items()): | ||
if isinstance(attr, Property): | ||
delattr(entity, name) | ||
|
||
@@ -1004,7 +1004,7 @@ class EntityBase(object): | ||
self.set(**kwargs) | ||
|
||
def set(self, **kwargs): | ||
- for key, value in kwargs.iteritems(): | ||
+ for key, value in kwargs.items(): | ||
setattr(self, key, value) | ||
|
||
def update_or_create(cls, data, surrogate=True): | ||
@@ -1038,7 +1038,7 @@ class EntityBase(object): | ||
|
||
mapper = sqlalchemy.orm.object_mapper(self) | ||
|
||
- for key, value in data.iteritems(): | ||
+ for key, value in data.items(): | ||
if isinstance(value, dict): | ||
dbvalue = getattr(self, key) | ||
rel_class = mapper.get_property(key).mapper.class_ | ||
@@ -1074,7 +1074,7 @@ class EntityBase(object): | ||
if isinstance(p, ColumnProperty)] | ||
data = dict([(name, getattr(self, name)) | ||
for name in col_prop_names if name not in exclude]) | ||
- for rname, rdeep in deep.iteritems(): | ||
+ for rname, rdeep in deep.items(): | ||
dbdata = getattr(self, rname) | ||
#FIXME: use attribute names (ie coltoprop) instead of column names | ||
fks = self.mapper.get_property(rname).remote_side | ||
@@ -1145,7 +1145,7 @@ class EntityBase(object): | ||
get = classmethod(get) | ||
|
||
|
||
-class Entity(EntityBase): | ||
+class Entity(EntityBase, metaclass=EntityMeta): | ||
''' | ||
The base class for all entities | ||
|
||
@@ -1167,6 +1167,5 @@ class Entity(EntityBase): | ||
For further information, please refer to the provided examples or | ||
tutorial. | ||
''' | ||
- __metaclass__ = EntityMeta | ||
|
||
|
||
--- elixir/py23compat.py.orig 2009-10-02 10:19:50 UTC | ||
+++ elixir/py23compat.py | ||
@@ -11,7 +11,7 @@ orig_cmp = cmp | ||
def sort_list(l, cmp=None, key=None, reverse=False): | ||
try: | ||
l.sort(cmp, key, reverse) | ||
- except TypeError, e: | ||
+ except TypeError as e: | ||
if not str(e).startswith('sort expected at most 1 arguments'): | ||
raise | ||
if cmp is None: | ||
--- elixir/relationships.py.orig 2009-11-13 20:04:26 UTC | ||
+++ elixir/relationships.py | ||
@@ -412,7 +412,7 @@ from sqlalchemy import ForeignKeyConstraint, Column, T | ||
from sqlalchemy.orm import relation, backref, class_mapper | ||
from sqlalchemy.ext.associationproxy import association_proxy | ||
|
||
-import options | ||
+from . import options | ||
from elixir.statements import ClassMutator | ||
from elixir.properties import Property | ||
from elixir.entity import EntityMeta, DEBUG | ||
@@ -495,7 +495,7 @@ class Relationship(Property): | ||
|
||
def target(self): | ||
if not self._target: | ||
- if isinstance(self.of_kind, basestring): | ||
+ if isinstance(self.of_kind, str): | ||
collection = self.entity._descriptor.collection | ||
self._target = collection.resolve(self.of_kind, self.entity) | ||
else: | ||
@@ -1115,7 +1115,7 @@ class ManyToMany(Relationship): | ||
self.table = Table(tablename, e1_desc.metadata, | ||
schema=schema, *args, **complete_kwargs) | ||
if DEBUG: | ||
- print self.table.repr2() | ||
+ print(self.table.repr2()) | ||
|
||
def _build_join_clauses(self): | ||
# In the case we have a self-reference, we need to build join clauses | ||
@@ -1222,7 +1222,7 @@ def _get_join_clauses(local_table, local_cols1, local_ | ||
# match. | ||
|
||
#TODO: rewrite this. Even with the comment, I don't even understand it myself. | ||
- for cols, constraint in constraint_map.iteritems(): | ||
+ for cols, constraint in constraint_map.items(): | ||
if cols == cols1 or (cols != cols2 and | ||
not cols1 and (cols2 in constraint_map or | ||
cols2 is None)): |