本文整理汇总了Python中event.Event.mergeWith方法的典型用法代码示例。如果您正苦于以下问题:Python Event.mergeWith方法的具体用法?Python Event.mergeWith怎么用?Python Event.mergeWith使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类event.Event
的用法示例。
在下文中一共展示了Event.mergeWith方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addEvent
# 需要导入模块: from event import Event [as 别名]
# 或者: from event.Event import mergeWith [as 别名]
def addEvent(self, raw_event):
# do not call the method saveDocument, instead, call this method
# add an event to the db. raw_event can either be a json or an instance of Event
if not type(raw_event) is types.DictType:
new_event = raw_event.toJSON()
else:
new_event = raw_event
new_event = Event(new_event)
new_event.sortPhotos()
new_event = new_event.toJSON()
# before adding, find if any event can be merged
condition = {'region':new_event['region']}
# condition = {'lat':new_event['lat'], 'lng':new_event['lng']}
old_events = self.getAllDocuments(condition).sort('created_time', -1)
for old_event in old_events:
end_time1 = int(new_event['photos'][0]['created_time'])
begin_time1 = int(new_event['photos'][-1]['created_time'])
end_time2 = int(old_event['photos'][0]['created_time'])
begin_time2 = int(old_event['photos'][-1]['created_time'])
time_interval = InstagramConfig.merge_time_interval
if end_time1 + time_interval >= begin_time2 and end_time2 + time_interval >= begin_time1:
# if can merge
merged_event = Event(old_event)
merged = merged_event.mergeWith(new_event)
if merged >= 0:
print '%d out of %d photos are merged into an old event' % (merged, len(new_event['photos']))
# print old_event['_id'], new_event['_id']
if merged > 0:
self.updateDocument(merged_event)
return
# cannot merge
print 'create a new event'
super(EventInterface, self).saveDocument(new_event)