]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
switch (simple) occurences of 'if len(x)' to 'if x': find . -name '*.py' |xargs perl...
authorJonathan Ellis <jbellis@gmail.com>
Fri, 3 Aug 2007 13:57:40 +0000 (13:57 +0000)
committerJonathan Ellis <jbellis@gmail.com>
Fri, 3 Aug 2007 13:57:40 +0000 (13:57 +0000)
22 files changed:
doc/build/lib/highlight.py
doc/build/lib/toc.py
doc/build/read_markdown.py
lib/sqlalchemy/ansisql.py
lib/sqlalchemy/databases/firebird.py
lib/sqlalchemy/databases/informix.py
lib/sqlalchemy/databases/mysql.py
lib/sqlalchemy/databases/sqlite.py
lib/sqlalchemy/engine/strategies.py
lib/sqlalchemy/engine/url.py
lib/sqlalchemy/orm/dependency.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/scoping.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/unitofwork.py
lib/sqlalchemy/orm/uowdumper.py
lib/sqlalchemy/schema.py
lib/sqlalchemy/sql.py
test/orm/cycles.py
test/orm/unitofwork.py
test/testlib/testing.py

index 1a838408b7ed79974efc15cd9cdc3ecfeb0358d4..2fff3704edbecd16242b69f8c16857d40619e8c8 100644 (file)
@@ -170,7 +170,7 @@ class PythonHighlighter(Highlighter):
                 curc = t[2][1]
     
             if self.get_style(t[0], t[1]) != curstyle:
-                if len(tokens):
+                if tokens:
                     self.colorize([(string.join(tokens, ''), curstyle)])
                     tokens = []
                 curstyle = self.get_style(t[0], t[1])
@@ -187,7 +187,7 @@ class PythonHighlighter(Highlighter):
             curl = t[3][0]
 
         # any remaining content to output, output it
-        if len(tokens):
+        if tokens:
             self.colorize([(string.join(tokens, ''), curstyle)])
 
         if trailingspace:
index dcad5d5c63c6d3a56f4d1b8867bac89fb77b8698..b629513456015f6b7cec68db06fd951f9ee85d5a 100644 (file)
@@ -44,7 +44,7 @@ class TOCElement(object):
         self.next = None
         self.children = []
         if parent:
-            if len(parent.children):
+            if parent.children:
                 self.previous = parent.children[-1]
                 parent.children[-1].next = self
             parent.children.append(self)
index 858283bdee8428bf365588d592636ed581374ec7..aad2502d76a0280bd0f07f81e6662cfac16820ef 100644 (file)
@@ -25,7 +25,7 @@ def dump_tree(elem, stream):
         dump_mako_tag(elem, stream)
     else:
         if elem.tag != 'html':
-            if len(elem.attrib):
+            if elem.attrib:
                 stream.write("<%s %s>" % (elem.tag, " ".join(["%s=%s" % (key, repr(val)) for key, val in elem.attrib.iteritems()])))
             else:
                 stream.write("<%s>" % elem.tag)
index 01e0a3c9d3dbfc6c2462bec38c96bb631d4b7ea0..e36f04c1a19828be09c31ce9ad22797a6c5dc55b 100644 (file)
@@ -281,7 +281,7 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
     def visit_label(self, label):
         labelname = self._truncated_identifier("colident", label.name)
         
-        if len(self.select_stack):
+        if self.select_stack:
             self.typemap.setdefault(labelname.lower(), label.obj.type)
             if isinstance(label.obj, sql._ColumnClause):
                 self.column_labels[label.obj._label] = labelname
@@ -299,7 +299,7 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
         else:
             name = column.name
 
-        if len(self.select_stack):
+        if self.select_stack:
             # if we are within a visit to a Select, set up the "typemap"
             # for this column which is used to translate result set values
             self.typemap.setdefault(name.lower(), column.type)
@@ -358,13 +358,13 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
         return self.process(clause.clause_expr)
 
     def visit_cast(self, cast, **kwargs):
-        if len(self.select_stack):
+        if self.select_stack:
             # not sure if we want to set the typemap here...
             self.typemap.setdefault("CAST", cast.type)
         return "CAST(%s AS %s)" % (self.process(cast.clause), self.process(cast.typeclause))
 
     def visit_function(self, func, **kwargs):
-        if len(self.select_stack):
+        if self.select_stack:
             self.typemap.setdefault(func.name, func.type)
         if not self.apply_function_parens(func):
             return ".".join(func.packagenames + [func.name])
@@ -544,7 +544,7 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
                 else:
                     whereclause = w
 
-        if len(froms):
+        if froms:
             text += " \nFROM "
             text += string.join(from_strings, ', ')
         else:
@@ -799,7 +799,7 @@ class ANSISchemaGenerator(ANSISchemaBase):
 
         # On some DB order is significant: visit PK first, then the
         # other constraints (engine.ReflectionTest.testbasic failed on FB2)
-        if len(table.primary_key):
+        if table.primary_key:
             self.traverse_single(table.primary_key)
         for constraint in [c for c in table.constraints if c is not table.primary_key]:
             self.traverse_single(constraint)
index 065894437c46d99e62a033fc22c8a91303f5f004..307fceb483e97f2abc94709ca2bf6c522727a04a 100644 (file)
@@ -318,7 +318,7 @@ class FBCompiler(ansisql.ANSICompiler):
             return self.process(alias.original, asfrom=True)
 
     def visit_function(self, func):
-        if len(func.clauses):
+        if func.clauses:
             return super(FBCompiler, self).visit_function(func)
         else:
             return func.name
index b4471df58cb4ac59d0ecd946d4e8706281dcaeb7..e98a5467e309e6c8d81db3572b73ea7f26728487 100644 (file)
@@ -407,7 +407,7 @@ class InfoCompiler(ansisql.ANSICompiler):
         return ""
 
     def __visit_label(self, label):
-        if len(self.select_stack):
+        if self.select_stack:
             self.typemap.setdefault(label.name.lower(), label.obj.type)
         if self.strings[label.obj]:
             self.strings[label] = self.strings[label.obj] + " AS "  + label.name
index d4a2ac59f418fbcbabf251302833aef057eff712..e95951f4ae4be5c4de16d8f9e29a456d73e0e7e0 100644 (file)
@@ -1136,7 +1136,7 @@ class MySQLDialect(ansisql.ANSIDialect):
                 ssl[key[4:]] = opts[key]
                 util.coerce_kw_type(ssl, key[4:], str)
                 del opts[key]
-        if len(ssl):
+        if ssl:
             opts['ssl'] = ssl
         
         # FOUND_ROWS must be set in CLIENT_FLAGS to enable
index 3f16c2b0d4e73761f9ae6a57b5b9a7b3feb892d2..15f6a2065cf11c16a18ef9ca079979d2244d932d 100644 (file)
@@ -331,7 +331,7 @@ class SQLiteCompiler(ansisql.ANSICompiler):
         if self.dialect.supports_cast:
             return super(SQLiteCompiler, self).visit_cast(cast)
         else:
-            if len(self.select_stack):
+            if self.select_stack:
                 # not sure if we want to set the typemap here...
                 self.typemap.setdefault("CAST", cast.type)
             return self.process(cast.clause)
index 910a1049de89230716d975dfa88d51f74a805bd5..ed9422d157f561cdeb1357f272d3157385810045 100644 (file)
@@ -99,7 +99,7 @@ class DefaultEngineStrategy(EngineStrategy):
                 engine_args[k] = kwargs.pop(k)
 
         # all kwargs should be consumed
-        if len(kwargs):
+        if kwargs:
             raise TypeError("Invalid argument(s) %s sent to create_engine(), using configuration %s/%s/%s.  Please check that the keyword arguments are appropriate for this combination of components." % (','.join(["'%s'" % k for k in kwargs]), dialect.__class__.__name__, pool.__class__.__name__, engineclass.__name__))
 
         return engineclass(pool, dialect, u, **engine_args)
index 1da76d7b2a1050e05a49c381bc4be0d589de59e2..98d4d442e1784fe182390b221a8ab0c6e09878c4 100644 (file)
@@ -61,7 +61,7 @@ class URL(object):
             s += ':' + str(self.port)
         if self.database is not None:
             s += '/' + self.database
-        if len(self.query):
+        if self.query:
             keys = self.query.keys()
             keys.sort()
             s += '?' + "&".join(["%s=%s" % (k, self.query[k]) for k in keys])
index cfe501695ab216bb8329b7b3655f0d74e5d49ae4..c04771b232003f177df91415b0eed521eca5842c 100644 (file)
@@ -369,7 +369,7 @@ class ManyToManyDP(DependencyProcessor):
                     uowcommit.attributes[(self, "manytomany", obj, child)] = True
                     secondary_delete.append(associationrow)
 
-        if len(secondary_delete):
+        if secondary_delete:
             secondary_delete.sort()
             # TODO: precompile the delete/insert queries?
             statement = self.secondary.delete(sql.and_(*[c == sql.bindparam(c.key, type_=c.type) for c in self.secondary.c if c.key in associationrow]))
@@ -377,7 +377,7 @@ class ManyToManyDP(DependencyProcessor):
             if result.supports_sane_rowcount() and result.rowcount != len(secondary_delete):
                 raise exceptions.ConcurrentModificationError("Deleted rowcount %d does not match number of objects deleted %d" % (result.rowcount, len(secondary_delete)))
 
-        if len(secondary_insert):
+        if secondary_insert:
             statement = self.secondary.insert()
             connection.execute(statement, secondary_insert)
 
index 4d668e3b55f9139d8eb6cd3dcefec42efb8f4e9a..016803874a06a1ee459baf9ad1f4fe1787b028e3 100644 (file)
@@ -182,7 +182,7 @@ class Mapper(object):
             if getattr(klass, key).hasparent(obj, optimistic=optimistic):
                return False
         else:
-            if len(self.delete_orphans):
+            if self.delete_orphans:
                 if not has_identity(obj):
                     raise exceptions.FlushError("instance %s is an unsaved, pending instance and is an orphan (is not attached to %s)" %
                     (
@@ -1097,7 +1097,7 @@ class Mapper(object):
                             history = prop.get_history(obj, passive=True)
                             if history:
                                 a = history.added_items()
-                                if len(a):
+                                if a:
                                     if isinstance(a[0], sql.ClauseElement):
                                         value_params[col] = a[0]
                                     else:
@@ -1127,7 +1127,7 @@ class Mapper(object):
                 else:
                     insert.append((obj, params, mapper, connection, value_params))
 
-            if len(update):
+            if update:
                 mapper = table_to_mapper[table]
                 clause = sql.and_()
                 for col in mapper.pks_by_table[table]:
@@ -1155,7 +1155,7 @@ class Mapper(object):
                 if c.supports_sane_rowcount() and rows != len(update):
                     raise exceptions.ConcurrentModificationError("Updated rowcount %d does not match number of objects updated %d" % (rows, len(update)))
 
-            if len(insert):
+            if insert:
                 statement = table.insert()
                 def comparator(a, b):
                     return cmp(a[0]._sa_insert_order, b[0]._sa_insert_order)
@@ -1217,7 +1217,7 @@ class Mapper(object):
             elif v != params.get_original(c.key):
                 self.set_attr_by_column(obj, c, params.get_original(c.key))
         
-        if len(deferred_props):
+        if deferred_props:
             deferred_load(obj, props=deferred_props)
 
     def delete_obj(self, objects, uowtransaction):
index 7923a55dbe3aad60a5dd369932ba51c1b16b6caa..1c050d4f3878f5741e0f3dc7a5219a794bcc253e 100644 (file)
@@ -422,7 +422,7 @@ class PropertyLoader(StrategizedProperty):
                     self.target.corresponding_column(col, raiseerr=False) is not None or \
                     self.secondary.corresponding_column(col, raiseerr=False) is not None
 
-        if len(self.foreign_keys):
+        if self.foreign_keys:
             self._opposite_side = util.Set()
             def visit_binary(binary):
                 if binary.operator != operator.eq or not isinstance(binary.left, schema.Column) or not isinstance(binary.right, schema.Column):
@@ -485,7 +485,7 @@ class PropertyLoader(StrategizedProperty):
                     else:
                         self.direction = sync.MANYTOONE
 
-            elif len(self.remote_side):
+            elif self.remote_side:
                 for f in self.foreign_keys:
                     if f in self.remote_side:
                         self.direction = sync.ONETOMANY
index 3ae63b49aebba7e53c04b53941e2e41dfa3322e7..96d9a23fc0f19d8cd2d6fb6151bbd9b07feaf786 100644 (file)
@@ -25,7 +25,7 @@ class ScopedSession(object):
             global_extensions.append(_ScopedExt(self))
 
     def __call__(self, **kwargs):
-        if len(kwargs):
+        if kwargs:
             scope = kwargs.pop('scope', False)
             if scope is not None:
                 if self.registry.has():
index 6e2860f3ab95add5a94348cd38fe121101633c77..0afd24f70aed43a912f7c85616ac71f21a40d70e 100644 (file)
@@ -351,7 +351,7 @@ class LazyLoader(AbstractRelationLoader):
             if self.uselist:
                 return result
             else:
-                if len(result):
+                if result:
                     return result[0]
                 else:
                     return None
index f59042810a79d3e8b1ff9bac66d314d9515c9504..bf06896c1b4537c2facb5d3168a4900953cb2ec8 100644 (file)
@@ -964,12 +964,12 @@ class UOWDependencyProcessor(object):
 
         ret = False
         elements = [getobj(elem) for elem in self.targettask.polymorphic_tosave_elements if elem.obj is not None and not elem.is_preprocessed(self)]
-        if len(elements):
+        if elements:
             ret = True
             self.processor.preprocess_dependencies(self.targettask, elements, trans, delete=False)
 
         elements = [getobj(elem) for elem in self.targettask.polymorphic_todelete_elements if elem.obj is not None and not elem.is_preprocessed(self)]
-        if len(elements):
+        if elements:
             ret = True
             self.processor.preprocess_dependencies(self.targettask, elements, trans, delete=True)
         return ret
index 22b0ec828322b8c88dea6c755ee13d36f116bc16..2467182291d4dcfc618e2514e436afaed183536d 100644 (file)
@@ -26,7 +26,7 @@ class UOWDumper(unitofwork.UOWExecutor):
         self.headers = {}
         try:
             i = self._indent()
-            if len(i):
+            if i:
                 i += "-"
                 #i = i[0:-1] + "-"
             self.buf.write(self._indent() + "\n")
index b1665b2c5bf362b75bf7a089ec1d29ca96b59424..ce17208473139d6a5fc5db2293f0ada39835b176 100644 (file)
@@ -144,7 +144,7 @@ class _TableSingleton(sql._FigureVisitName):
         key = _get_table_key(name, schema)
         try:
             table = metadata.tables[key]
-            if len(args):
+            if args:
                 if not useexisting:
                     raise exceptions.ArgumentError("Table '%s' is already defined for this MetaData instance." % key)
             return table
@@ -526,7 +526,7 @@ class Column(SchemaItem, sql._ColumnClause):
         self.constraints = util.Set()
         self.__originating_column = self
         self._foreign_keys = util.OrderedSet()
-        if len(kwargs):
+        if kwargs:
             raise exceptions.ArgumentError("Unknown arguments passed to Column: " + repr(kwargs.keys()))
 
     primary_key = util.SimpleProperty('_primary_key')
index 8e8a12895de481c9f96b41e665d66b68014ad0c7..a6db06423b3aaa2e200115fa3cbdc7d26907c1a9 100644 (file)
@@ -394,7 +394,7 @@ def case(whens, value=None, else_=None):
     whenlist = [ClauseList('WHEN', c, 'THEN', r, operator=None) for (c,r) in whens]
     if not else_ is None:
         whenlist.append(ClauseList('ELSE', else_, operator=None))
-    if len(whenlist):
+    if whenlist:
         type = list(whenlist[-1])[-1].type
     else:
         type = None
@@ -1051,7 +1051,7 @@ class ClauseElement(object):
     def execute(self, *multiparams, **params):
         """Compile and execute this ``ClauseElement``."""
 
-        if len(multiparams):
+        if multiparams:
             compile_params = multiparams[0]
         else:
             compile_params = params
@@ -1520,7 +1520,7 @@ class ColumnElement(Selectable, _CompareMixin):
         """)
 
     def _one_fkey(self):
-        if len(self._foreign_keys):
+        if self._foreign_keys:
             return list(self._foreign_keys)[0]
         else:
             return None
@@ -1668,7 +1668,7 @@ class FromClause(Selectable):
         return [self.oid_column]
 
     def count(self, whereclause=None, **params):
-        if len(self.primary_key):
+        if self.primary_key:
             col = list(self.primary_key)[0]
         else:
             col = list(self.columns)[0]
@@ -2772,7 +2772,7 @@ class TableClause(FromClause):
         raise NotImplementedError()
 
     def count(self, whereclause=None, **params):
-        if len(self.primary_key):
+        if self.primary_key:
             col = list(self.primary_key)[0]
         else:
             col = list(self.columns)[0]
@@ -2901,7 +2901,7 @@ class CompoundSelect(_SelectBaseMixin, FromClause):
 
         # some DBs do not like ORDER BY in the inner queries of a UNION, etc.
         for n, s in enumerate(selects):
-            if len(s._order_by_clause):
+            if s._order_by_clause:
                 s = s.order_by(None)
             # unions group from left to right, so don't group first select
             if n:
index ce3065f777bb294e80bef1c1a71b8412fe6f72af..6acca13e7872ae7c5b7b6ce3a79dcdae5b2cd991 100644 (file)
@@ -795,7 +795,7 @@ class SelfReferentialPostUpdateTest(AssertMixin):
         session = create_session()
 
         def append_child(parent, child):
-            if len(parent.children):
+            if parent.children:
                 parent.children[-1].next_sibling = child
                 child.prev_sibling = parent.children[-1]
             parent.children.append(child)
index 765c360c97d8d27c48e3b89d7077beef24bd38f9..839afe77c11086d9cf67fdbfa0e29e37a68ab860 100644 (file)
@@ -1274,7 +1274,7 @@ class ManyToManyTest(UnitOfWorkTest):
             objects.append(item)
             item.item_name = elem['item_name']
             item.keywords = []
-            if len(elem['keywords'][1]):
+            if elem['keywords'][1]:
                 klist = Session.query(keywordmapper).select(keywords.c.name.in_(*[e['name'] for e in elem['keywords'][1]]))
             else:
                 klist = []
index 1c6690a786dfabbb34bcd77feadf3e62c96be71e..15a9fd768db26e307358a4b3fd7d89ee09f32bdb 100644 (file)
@@ -394,7 +394,7 @@ def runTests(suite):
 
 def main(suite=None):
     if not suite:
-        if len(sys.argv[1:]):
+        if sys.argv[1:]:
             suite =unittest.TestLoader().loadTestsFromNames(
                 sys.argv[1:], __import__('__main__'))
         else: