Fixed too broad exception clauses in the project

This commit is contained in:
Konstantin Gukov 2016-02-23 23:40:23 +05:00 committed by Konstantin Gukov
parent 9e9703183f
commit ddedc1ee92
7 changed files with 31 additions and 26 deletions

View File

@ -133,7 +133,7 @@ class BaseField(object):
if (self.name not in instance._data or
instance._data[self.name] != value):
instance._mark_as_changed(self.name)
except:
except Exception:
# Values cant be compared eg: naive and tz datetimes
# So mark it as changed
instance._mark_as_changed(self.name)
@ -440,7 +440,7 @@ class ObjectIdField(BaseField):
try:
if not isinstance(value, ObjectId):
value = ObjectId(value)
except:
except Exception:
pass
return value
@ -459,7 +459,7 @@ class ObjectIdField(BaseField):
def validate(self, value):
try:
ObjectId(unicode(value))
except:
except Exception:
self.error('Invalid Object ID')
@ -511,7 +511,7 @@ class GeoJsonBaseField(BaseField):
# Quick and dirty validator
try:
value[0][0][0]
except:
except (TypeError, IndexError):
return "Invalid Polygon must contain at least one valid linestring"
errors = []
@ -535,7 +535,7 @@ class GeoJsonBaseField(BaseField):
# Quick and dirty validator
try:
value[0][0]
except:
except (TypeError, IndexError):
return "Invalid LineString must contain at least one valid point"
errors = []
@ -566,7 +566,7 @@ class GeoJsonBaseField(BaseField):
# Quick and dirty validator
try:
value[0][0]
except:
except (TypeError, IndexError):
return "Invalid MultiPoint must contain at least one valid point"
errors = []
@ -585,7 +585,7 @@ class GeoJsonBaseField(BaseField):
# Quick and dirty validator
try:
value[0][0][0]
except:
except (TypeError, IndexError):
return "Invalid MultiLineString must contain at least one valid linestring"
errors = []
@ -607,7 +607,7 @@ class GeoJsonBaseField(BaseField):
# Quick and dirty validator
try:
value[0][0][0][0]
except:
except (TypeError, IndexError):
return "Invalid MultiPolygon must contain at least one valid Polygon"
errors = []

View File

@ -981,7 +981,7 @@ class MapReduceDocument(object):
if not isinstance(self.key, id_field_type):
try:
self.key = id_field_type(self.key)
except:
except Exception:
raise Exception("Could not cast key as %s" %
id_field_type.__name__)

View File

@ -65,7 +65,7 @@ class StringField(BaseField):
return value
try:
value = value.decode('utf-8')
except:
except Exception:
pass
return value
@ -194,7 +194,7 @@ class IntField(BaseField):
def validate(self, value):
try:
value = int(value)
except:
except Exception:
self.error('%s could not be converted to int' % value)
if self.min_value is not None and value < self.min_value:
@ -228,7 +228,7 @@ class LongField(BaseField):
def validate(self, value):
try:
value = long(value)
except:
except Exception:
self.error('%s could not be converted to long' % value)
if self.min_value is not None and value < self.min_value:
@ -508,7 +508,7 @@ class ComplexDateTimeField(StringField):
original_value = value
try:
return self._convert_from_string(value)
except:
except Exception:
return original_value
def to_mongo(self, value, **kwargs):
@ -1370,7 +1370,7 @@ class GridFSProxy(object):
if self.gridout is None:
self.gridout = self.fs.get(self.grid_id)
return self.gridout
except:
except Exception:
# File has been deleted
return None
@ -1408,7 +1408,7 @@ class GridFSProxy(object):
else:
try:
return gridout.read(size)
except:
except Exception:
return ""
def delete(self):
@ -1473,7 +1473,7 @@ class FileField(BaseField):
if grid_file:
try:
grid_file.delete()
except:
except Exception:
pass
# Create a new proxy object as we don't already have one
@ -1841,7 +1841,7 @@ class UUIDField(BaseField):
if not isinstance(value, basestring):
value = unicode(value)
return uuid.UUID(value)
except:
except Exception:
return original_value
return value

View File

@ -1705,7 +1705,7 @@ class BaseQuerySet(object):
key = key.replace('__', '.')
try:
key = self._document._translate_field_name(key)
except:
except Exception:
pass
key_list.append((key, direction))

View File

@ -364,20 +364,24 @@ def _infer_geometry(value):
"type and coordinates keys")
elif isinstance(value, (list, set)):
# TODO: shouldn't we test value[0][0][0][0] to see if it is MultiPolygon?
# TODO: should both TypeError and IndexError be alike interpreted?
try:
value[0][0][0]
return {"$geometry": {"type": "Polygon", "coordinates": value}}
except:
except (TypeError, IndexError):
pass
try:
value[0][0]
return {"$geometry": {"type": "LineString", "coordinates": value}}
except:
except (TypeError, IndexError):
pass
try:
value[0]
return {"$geometry": {"type": "Point", "coordinates": value}}
except:
except (TypeError, IndexError):
pass
raise InvalidQueryError("Invalid $geometry data. Can be either a dictionary "

View File

@ -10,11 +10,12 @@ except ImportError:
DESCRIPTION = 'MongoEngine is a Python Object-Document ' + \
'Mapper for working with MongoDB.'
LONG_DESCRIPTION = None
try:
LONG_DESCRIPTION = open('README.rst').read()
except:
pass
with open('README.rst') as fin:
LONG_DESCRIPTION = fin.read()
except Exception:
LONG_DESCRIPTION = None
def get_version(version_tuple):

View File

@ -411,7 +411,7 @@ class InheritanceTest(unittest.TestCase):
try:
class MyDocument(DateCreatedDocument, DateUpdatedDocument):
pass
except:
except Exception:
self.assertTrue(False, "Couldn't create MyDocument class")
def test_abstract_documents(self):