Example #1
0
File: kf.py Project: mdevaev/slib
def playerRank(stat_dict, user_id, img_url) :
	wins = stat_dict[user_id]["WinsCount"]

	rank_index = 0
	player_rank = RANKS_TUPLE[0][1]
	prev = 0
	need_next = wins

	for (index, (need, title)) in enumerate(RANKS_TUPLE[1:]) :
		if wins >= need :
			player_rank = title
			rank_index = index
			prev = need
		else :
			need_next = need
			break

	rank_img = html.image(img_url % { "rank_index" : rank_index })
	rank_progress = html.progressBar(100 * (wins - prev) / (need_next - prev))

	return """
			%s<br><br>
			<div style="float:left; text-align:left;">%s</div>
			<div style="float:right; text-align:right; width:80px;">%s</div>
		""" % (player_rank, rank_img, rank_progress)
Example #2
0
File: kf.py Project: mdevaev/slib
def playerStatisticsTable(stat_dict, user_id) :
	player_stat_dict = stat_dict[user_id]

	wins = player_stat_dict["WinsCount"]
	losts = player_stat_dict["LostsCount"]
	battles = wins + losts
	kills = player_stat_dict["KillsStat"]
	if battles != 0 :
		efficiency = float(kills) / float(battles)
		skill_factor = float(wins) / float(battles)
	else :
		efficiency = skill_factor = 0

	skill_factor_text = ( """
			<div style="float:left; text-align:left;">%.2f&nbsp;</div>
			<div style="float:right; text-align:right; width:70px;">%s</div>
		""" % (skill_factor, html.progressBar(skill_factor * 100)) )

	return html.statusTable([
			("Battles", str(battles)),
			("Wins", str(wins)),
			("Losts", str(losts)),
			("Skill factor", skill_factor_text),
			("Efficiency", "%2.f" % (efficiency)),
			("Last hope", str(player_stat_dict["SoleSurvivorWavesStat"])),
			("Kills", str(kills)),
			("Time played", ulib.tools.fmt.formatTimeDelta(player_stat_dict["TotalPlayTime"])),
		])
Example #3
0
File: kf.py Project: mdevaev/slib
def playerPerksTable(stat_dict, user_id) :
	perks_list = []
	for (perk, levels_map) in (
			("Berserk", BERSERK_LEVELS_MAP),
			("Sharpshooter", SHARPSHOOTER_LEVELS_MAP),
			("Firebug", FIREBUG_LEVELS_MAP),
			("Field medic", FIELD_MEDIC_LEVELS_MAP),
			("Demolitions", DEMOLITIONS_LEVELS_MAP),
			("Support spec", SUPPORT_SPEC_LEVELS_MAP),
			("Commando", COMMANDO_LEVELS_MAP) ) :
		(level, percent) = calculateLevelProgress(levels_map, stat_dict[user_id])
		max_percent = calculateProgress(levels_map, stat_dict[user_id])
		perks_list.append([
				perk,
				str(level),
				{ "width" : "150px", "body" : html.progressBar(percent) },
				{ "width" : "150px", "body" : html.progressBar(max_percent) },
			])
	return html.tableWithHeader(["Perk", "Level", "Until the next", "Until the max"], perks_list)
Example #4
0
def disksFree(dirs_list) :
	format_size = ( lambda arg : "%s <span class=\"back\">%s</span>" % (tuple(ulib.tools.fmt.formatSize(arg).split(" "))) )
	dirs_list = map(ulib.validators.fs.validAccessiblePath, ulib.validators.common.validStringList(dirs_list))
	rows_list = []
	for path in dirs_list :
		label = ( os.path.basename(path) or path )
		(full, used) = ulib.tools.unix.diskFree(path)
		percent = 100 * used / full
		rows_list.append([
				{ "nowrap" : None, "body" : label },
				{ "style" : "width: 70%", "body" : html.progressBar(percent) },
				{ "nowrap" : None, "body" : format_size(full) },
				{ "nowrap" : None, "body" : format_size(used) },
				{ "nowrap" : None, "body" : format_size(full - used) },
			])
	df_table = html.tableWithHeader(["Label", "", "Size", "Used", "Free"], rows_list)
	return (df_table,)
Example #5
0
File: kf.py Project: mdevaev/slib
def serverPerksTable(stat_dict, profile_url) :
	count = 1
	players_list = []
	for (user_id, player_stat_dict) in sorted(stat_dict.items(), key=( lambda arg : arg[1]["PlayerName"].lower() )) :
		perk_progress = ( lambda levels_map : { "width" : "13%", "body" : html.progressBar(calculateProgress(levels_map, player_stat_dict)) } )
		player_name = "<a href=\"%s\">&raquo;</a>&nbsp;%s" % (profile_url % { "user_id" : user_id }, player_stat_dict["PlayerName"])
		players_list.append([
				str(count),
				{ "nowrap" : None, "body" : player_name },
				perk_progress(BERSERK_LEVELS_MAP),
				perk_progress(SHARPSHOOTER_LEVELS_MAP),
				perk_progress(FIREBUG_LEVELS_MAP),
				perk_progress(FIELD_MEDIC_LEVELS_MAP),
				perk_progress(DEMOLITIONS_LEVELS_MAP),
				perk_progress(SUPPORT_SPEC_LEVELS_MAP),
				perk_progress(COMMANDO_LEVELS_MAP),
			])
		count += 1
	players_header_list = ["N", "Name", "Berserk", "Sharpshooter", "Firebug", "FieldMedic", "Demolitions", "SupportSpec", "Commando"]
	return html.tableWithHeader(players_header_list, players_list)