本文整理汇总了Python中pymongo.connection.Connection.error方法的典型用法代码示例。如果您正苦于以下问题:Python Connection.error方法的具体用法?Python Connection.error怎么用?Python Connection.error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pymongo.connection.Connection
的用法示例。
在下文中一共展示了Connection.error方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DatastoreMongoStub
# 需要导入模块: from pymongo.connection import Connection [as 别名]
# 或者: from pymongo.connection.Connection import error [as 别名]
#.........这里部分代码省略.........
props = self.__special_props(prototype[key], value)
if props:
for prop in props:
mongo_ordering.append((key + "." + prop, value))
else:
mongo_ordering.append((key, value))
return mongo_ordering
def __filter_suffix(self, value):
if isinstance(value, types.ListType):
return ".list"
return ""
def __filter_binding(self, key, value, operation, prototype):
if key in prototype:
key += self.__filter_suffix(prototype[key])
if key == "__key__":
key = "_id"
value = self.__id_for_key(value._ToPb())
else:
value = self.__create_mongo_value_for_value(value)
if operation == "<":
return (key, {'$lt': value})
elif operation == '<=':
return (key, {'$lte': value})
elif operation == '>':
return (key, {'$gt': value})
elif operation == '>=':
return (key, {'$gte': value})
elif operation == '==':
return (key, value)
raise apiproxy_errors.ApplicationError(
datastore_pb.Error.BAD_REQUEST, "Can't handle operation %r." % operation)
def _Dynamic_RunQuery(self, query, query_result):
if query.has_offset() and query.offset() > _MAX_QUERY_OFFSET:
raise apiproxy_errors.ApplicationError(
datastore_pb.Error.BAD_REQUEST, 'Too big query offset.')
num_components = len(query.filter_list()) + len(query.order_list())
if query.has_ancestor():
num_components += 1
if num_components > _MAX_QUERY_COMPONENTS:
raise apiproxy_errors.ApplicationError(
datastore_pb.Error.BAD_REQUEST,
('query is too large. may not have more than %s filters'
' + sort orders ancestor total' % _MAX_QUERY_COMPONENTS))
app = query.app()
query_result.mutable_cursor().set_cursor(0)
query_result.set_more_results(False)
if self.__require_indexes:
required, kind, ancestor, props, num_eq_filters = datastore_index.CompositeIndexForQuery(query)
if required:
index = entity_pb.CompositeIndex()
index.mutable_definition().set_entity_type(kind)
index.mutable_definition().set_ancestor(ancestor)
for (k, v) in props:
p = index.mutable_definition().add_property()
p.set_name(k)
p.set_direction(v)
示例2: DatastoreMongoStub
# 需要导入模块: from pymongo.connection import Connection [as 别名]
# 或者: from pymongo.connection.Connection import error [as 别名]
#.........这里部分代码省略.........
block_size = (size / 1000 + 1) * 1000
result = self.__db.command(
"findandmodify",
"datastore",
query={"_id": _id},
update={"$inc": {"next_id": next_id+block_size}})
next_id = int(result['value']['next_id'])
if size > block_size:
result = self.__db.command(
"findandmodify",
"datastore",
query={"_id": _id},
update={"$inc": {"next_id": size}})
ret = int(result['value']['next_id'])
else:
ret = next_id;
next_id += size
block_size -= size
self.__id_map[kind] = (next_id, block_size)
else:
ret = col.find_one({'_id': _id}).get('next_id')
if max and max >= ret:
col.update({'_id': _id}, {'$set': {'next_id': max+1}})
self.__id_lock.release()
return ret
def __ValidateAppId(self, app_id):
"""Verify that this is the stub for app_id.
Args:
app_id: An application ID.
Raises:
datastore_errors.BadRequestError: if this is not the stub for app_id.
"""
assert app_id
if not self.__trusted and app_id != self.__app_id:
raise datastore_errors.BadRequestError(
'app %s cannot access app %s\'s data' % (self.__app_id, app_id))
def __ValidateTransaction(self, tx):
"""Verify that this transaction exists and is valid.
Args:
tx: datastore_pb.Transaction
Raises:
datastore_errors.BadRequestError: if the tx is valid or doesn't exist.
"""
assert isinstance(tx, datastore_pb.Transaction)
self.__ValidateAppId(tx.app())
def __ValidateKey(self, key):
"""Validate this key.
Args:
key: entity_pb.Reference
Raises:
datastore_errors.BadRequestError: if the key is invalid
"""
assert isinstance(key, entity_pb.Reference)
self.__ValidateAppId(key.app())
for elem in key.path().element_list():