示例#1
0
	def continues_streak(a, streak):
		"""Returns True if 'a' continues the streak in 'streak'"""
		if not len(streak):
			return False
		b = streak[-1]

		try:
			if a["user"] != b["user"] or \
				a["rev_type"] not in ("edit text", "add text") or \
				b["rev_type"] not in ("edit text", "add text") or \
				a["version"] != b["version"] or \
				texts.section_level_ref(a["ref"]) != texts.section_level_ref(b["ref"]):
				
				return False
		except:
			return False

		return True
示例#2
0
	def collapse_streak(streak):
		"""Returns a single summary activity item that collapses 'streak'"""
		if not len(streak):
			return None
		if len(streak) == 1:
			return streak[0]
		
		act = streak[0]
		act.update({
			"summary": True,
			#"contents": streak[1:],
			# add the update count form first item if it exists, in case that item was a sumamry itself
			"updates_count": len(streak) + act.get("updates_count", 1) -1, 
			"history_url": "/activity/%s/%s/%s" % (texts.url_ref(texts.section_level_ref(act["ref"])), 
																						act["language"], 
																						act["version"].replace(" ", "_")),
			})
		return act