def getInventoryObject(self): # Return HTML of resource in inventory box result = "<div id='resInventory" + str( self.spawnName ) + "' class='inventoryItem inlineBlock' style='background-image:url(/images/resources/inventory/inv_" + self.inventoryType + ".png);background-size:64px 64px;' tag='" + self.groupList + "," + self.resourceType + ",'>" result += "<div style='float:right;'>" + ghShared.getNumberAbbr( self.units) + "</div>" result += "<p style='display:none;'>Loaded with: " + self.spawnName + ", " + self.resourceTypeName + "<br />" result += self.getStatList() result += "</p>" result += "<div id='stackDetails" + str( self.spawnID ) + "' style='display:none;' class='resourceDetails' tag='ER:" + str( self.stats.ER) + ",CR:" + str(self.stats.CR) + ",CD:" + str( self.stats.CD) + ",DR:" + str(self.stats.DR) + ",FL:" + str( self.stats.FL) + ",HR:" + str( self.stats.HR) + ",MA:" + str( self.stats.MA) + ",PE:" + str( self.stats.PE) + ",OQ:" + str( self.stats.OQ) + ",SR:" + str( self.stats.SR) + ",UT:" + str( self.stats.UT) + "'>" result += " <div style='text-align:center;width:100%;margin-bottom:14px;'>" + self.groupName + "</div>" result += " <span class='altText'>Resource Type:</span> " + self.spawnName + "<br />" result += " <span class='altText'>Resource Quantity:</span> " + str( self.units) + "<br />" result += " <span class='altText'>Resource Class:</span> " + self.resourceTypeName + "<br />" result += self.getStatList() result += "</div>" result += "<div style='position: absolute;bottom:0;width:100%'>" + self.groupName + "</div>" result += "</div>" return result
def getInventoryObject(self): # Return HTML of resource in inventory box result = "<div id='resInventory" + str(self.spawnName) + "' class='inventoryItem inlineBlock' style='background-image:url(/images/resources/inventory/inv_" + self.inventoryType + ".png);background-size:64px 64px;' tag='" + self.groupList + "," + self.resourceType + ",'>" result += "<div style='float:right;'>" + ghShared.getNumberAbbr(self.units) + "</div>" result += "<p style='display:none;'>Loaded with: " + self.spawnName + ", " + self.resourceTypeName + "<br />" result += self.getStatList() result += "</p>" result += "<div id='stackDetails" + str(self.spawnID) + "' style='display:none;' class='resourceDetails' tag='ER:" + str(self.stats.ER) + ",CR:" + str(self.stats.CR) + ",CD:" + str(self.stats.CD) + ",DR:" + str(self.stats.DR) + ",FL:" + str(self.stats.FL) + ",HR:" + str(self.stats.HR) + ",MA:" + str(self.stats.MA) + ",PE:" + str(self.stats.PE) + ",OQ:" + str(self.stats.OQ) + ",SR:" + str(self.stats.SR) + ",UT:" + str(self.stats.UT) + "'>" result += " <div style='text-align:center;width:100%;margin-bottom:14px;'>" + self.groupName + "</div>" result += " <span class='altText'>Resource Type:</span> " + self.spawnName + "<br />" result += " <span class='altText'>Resource Quantity:</span> " + str(self.units) + "<br />" result += " <span class='altText'>Resource Class:</span> " + self.resourceTypeName + "<br />" result += self.getStatList() result += "</div>" result += "<div style='position: absolute;bottom:0;width:100%'>" + self.groupName + "</div>" result += "</div>" return result
def getHTML(self, formatStyle, resBoxMargin, currentUser, reputation, admin): result = '' unPlanetStr = ",'all'" statHeads = "" statVals = "" titleStr = "" copyVals = "" # style 0 is wide format if formatStyle == 0: resBoxStyle = "margin-left:" + resBoxMargin + ";min-width:500px;" # style 2 is survey tool format elif formatStyle == 2: resBoxStyle = "padding-left:" + resBoxMargin + ";" else: # other is compact style resBoxStyle = "" # prepare stat value table contents if (self.percentStats.ER != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>ER</span></td>" if (self.stats.ER != None and self.percentStats.ER != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.ER) + "'><span>" + str( self.stats.ER) + "<br />(" + ("%.0f" % float( self.percentStats.ER)) + "%)</span></td>" copyVals = copyVals + "ER " + str(self.stats.ER) + " " elif (self.percentStats.ER != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.CR != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>CR</span></td>" if (self.stats.CR != None and self.percentStats.CR != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.CR) + "'><span>" + str( self.stats.CR) + "<br />(" + ("%.0f" % float( self.percentStats.CR)) + "%)</span></td>" copyVals = copyVals + "CR " + str(self.stats.CR) + " " elif (self.percentStats.CR != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.CD != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>CD</span></td>" if (self.stats.CD != None and self.percentStats.CD != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.CD) + "'><span>" + str( self.stats.CD) + "<br />(" + ("%.0f" % float( self.percentStats.CD)) + "%)</span></td>" copyVals = copyVals + "CD " + str(self.stats.CD) + " " elif (self.percentStats.CD != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.DR != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>DR</span></td>" if (self.stats.DR != None and self.percentStats.DR != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.DR) + "'><span>" + str( self.stats.DR) + "<br />(" + ("%.0f" % float( self.percentStats.DR)) + "%)</span></td>" copyVals = copyVals + "DR " + str(self.stats.DR) + " " elif (self.percentStats.DR != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.FL != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>FL</span></td>" if (self.stats.FL != None and self.percentStats.FL != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.FL) + "'><span>" + str( self.stats.FL) + "<br />(" + ("%.0f" % float( self.percentStats.FL)) + "%)</span></td>" copyVals = copyVals + "FL " + str(self.stats.FL) + " " elif (self.percentStats.FL != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.HR != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>HR</span></td>" if (self.stats.HR != None and self.percentStats.HR != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.HR) + "'><span>" + str( self.stats.HR) + "<br />(" + ("%.0f" % float( self.percentStats.HR)) + "%)</span></td>" copyVals = copyVals + "HR " + str(self.stats.HR) + " " elif (self.percentStats.HR != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.MA != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>MA</span></td>" if (self.stats.MA != None and self.percentStats.MA != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.MA) + "'><span>" + str( self.stats.MA) + "<br />(" + ("%.0f" % float( self.percentStats.MA)) + "%)</span></td>" copyVals = copyVals + "MA " + str(self.stats.MA) + " " elif (self.percentStats.MA != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.PE != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>PE</span></td>" if (self.stats.PE != None and self.percentStats.PE != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.PE) + "'><span>" + str( self.stats.PE) + "<br />(" + ("%.0f" % float( self.percentStats.PE)) + "%)</span></td>" copyVals = copyVals + "PE " + str(self.stats.PE) + " " elif (self.percentStats.PE != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.OQ != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>OQ</span></td>" if (self.stats.OQ != None and self.percentStats.OQ != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.OQ) + "'><span>" + str( self.stats.OQ) + "<br />(" + ("%.0f" % float( self.percentStats.OQ)) + "%)</span></td>" copyVals = copyVals + "OQ " + str(self.stats.OQ) + " " elif (self.percentStats.OQ != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.SR != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>SR</span></td>" if (self.stats.SR != None and self.percentStats.SR != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.SR) + "'><span>" + str( self.stats.SR) + "<br />(" + ("%.0f" % float( self.percentStats.SR)) + "%)</span></td>" copyVals = copyVals + "SR " + str(self.stats.SR) + " " elif (self.percentStats.SR != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" if (self.percentStats.UT != None or formatStyle == 0): statHeads = statHeads + "<td class='header'><span>UT</span></td>" if (self.stats.UT != None and self.percentStats.UT != None): statVals = statVals + "<td class='" + ghShared.percOfRangeColor( self.percentStats.UT) + "'><span>" + str( self.stats.UT) + "<br />(" + ("%.0f" % float( self.percentStats.UT)) + "%)</span></td>" copyVals = copyVals + "UT " + str(self.stats.UT) elif (self.percentStats.UT != None): statVals = statVals + "<td>?</td>" else: statVals = statVals + "<td></td>" # construct resource container if self.overallScore != None and self.overallScore > 0: titleStr = ' title="' + str("%.0f" % (float(self.overallScore))) + '"' if formatStyle == 2: result += ' <div id="cont_' + self.spawnName + '" class="boxBorderHidden" style="' + resBoxStyle + '"' + titleStr + ' onmouseover="$(this).removeClass(\'boxBorderHidden\');$(this).addClass(\'listSelected\');" onmouseout="$(this).removeClass(\'listSelected\');$(this).addClass(\'boxBorderHidden\');">' else: result += ' <div id="cont_' + self.spawnName + '" class="resourceBox" style="' + resBoxStyle + '"' + titleStr + '>' if self.overallScore != None and self.overallScore > 0: result += ' <div class="compareInfo"><span>Quality: ' + str( "%.0f" % (float(self.overallScore))) + '</span></div>' # resource title row if formatStyle == 0: result += ' <div style="text-align:left;"><div class="inlineBlock" style="width:55%;text-align:left;float:left;"><span style="font-size: 12px;font-weight: bold;"><a href="' + ghShared.BASE_SCRIPT_URL + 'resource.py/' + str( self.spawnGalaxy ) + '/' + self.spawnName + '" class="nameLink">' + self.spawnName + '</a></span>' elif formatStyle == 2: result += ' <div style="margin-bottom:4px;text-align:left;"><span style="font-size: 12px;"><a href="' + ghShared.BASE_SCRIPT_URL + 'resource.py/' + str( self.spawnGalaxy ) + '/' + self.spawnName + '" class="nameLink">' + self.spawnName + '</a></span>' else: result += ' <div style="margin-bottom:4px;text-align:left;"><span style="font-size: 12px;font-weight: bold;"><a href="' + ghShared.BASE_SCRIPT_URL + 'resource.py/' + str( self.spawnGalaxy ) + '/' + self.spawnName + '" class="nameLink">' + self.spawnName + '</a></span>' if (currentUser != ''): if formatStyle != 2 and ( reputation >= ghShared.MIN_REP_VALS['EDIT_RESOURCE_STATS_TYPE'] or currentUser == self.enteredBy or admin): result += ' <a alt="Edit Stats" style="cursor: pointer;" onclick="editStats(this, \'' + self.spawnName + '\');">[Edit]</a>' if formatStyle != 1 and ( reputation >= ghShared.MIN_REP_VALS['REMOVE_RESOURCE'] or currentUser == self.enteredBy or admin): if formatStyle == 2: result += ' <div style="width:100px;float:right;"><input type="checkbox" id="chkRemove_' + self.spawnName + '" />Remove</div>' else: result += ' <a alt="Mark Unavailable" style="cursor: pointer;" onclick="markUnavailable(this, \'' + self.spawnName + '\', ' + str( self.spawnGalaxy) + unPlanetStr + ');"> [X]</a>' # non-stat info if formatStyle == 0: result += ' <span style="color:#000033;"><a href="' + ghShared.BASE_SCRIPT_URL + 'resourceType.py/' + self.resourceType + '" title="View recent spawns of this type" class="nameLink">' + self.resourceTypeName + '</a></span></div>' result += ' <div class="inlineBlock" style="margin-top:2px;margin-right:4px;width:44%;text-align:right;float:right;">' + self.getPlanetBar( ) + '</div>' result += ' </div><div><div style="height:32px;float:left;"><img src="/images/resources/' + self.containerType + '.png"/></div>' elif formatStyle == 1: result += ' ' + ghShared.timeAgo( self.entered ) + ' ago by <a href="' + ghShared.BASE_SCRIPT_URL + 'user.py/' + self.enteredBy + '" class="nameLink">' + self.enteredBy + '</a>' result += ' </div>' result += ' <div>' result += ' <div style="height:32px;float:left;"><img src="/images/resources/' + self.containerType + '.png" /></div>' result += ' <div style="width:90px;float:left;"><a href="' + ghShared.BASE_SCRIPT_URL + 'resourceType.py/' + self.resourceType + '" title="View schematics and recent spawns of this type" class="nameLink">' + self.resourceTypeName + '</a></div>' else: result += '' # favorite indicator if currentUser != '': if self.favorite > 0: result += ' <div class="inlineBlock" style="width:3%;float:left;"><a alt="Favorite" title="Favorite" style="cursor: pointer;" onclick="toggleFavorite(this, 1, \'' + str( self.spawnID) + '\', ' + str( self.spawnGalaxy ) + ');"><img src="/images/favorite16On.png" /></a></div>' else: result += ' <div class="inlineBlock" style="width:3%;float:left;"><a alt="Favorite" title="Favorite" style="cursor: pointer;" onclick="toggleFavorite(this, 1, \'' + str( self.spawnID) + '\', ' + str( self.spawnGalaxy ) + ');"><img src="/images/favorite16Off.png" /></a></div>' # stats information table if formatStyle == 0: result += ' <div style="width:275px;float:left;">' elif formatStyle == 1: result += ' <div style="float:left;">' else: result += '' if formatStyle != 2: result += ' <table class="resAttr" style="cursor: pointer;" onclick="addResourceCopy(\'' + self.spawnName + '\')" data-resource="' + self.spawnName + '" data-stats="' + self.spawnName + ' (' + self.resourceTypeName + ') ' + copyVals + '"><tr>' + statHeads + '</tr><tr>' + statVals + '</tr>' result += ' </table></div></div>' if self.units > 0: result += '<div class="compareInfo" style="background-image: url(\'/images/inventory32.png\');height: 32px;min-width: 32px;"><span style="line-height:40px;">' + ghShared.getNumberAbbr( self.units) + '</span></div>' if formatStyle == 0: # resource update information result += ' <div style="clear:both;">' # add waypoints indicator if self.maxWaypointConc != None: result += '<div style="float:right;"><a href="' + ghShared.BASE_SCRIPT_URL + 'resource.py/' + str( self.spawnGalaxy ) + '/' + self.spawnName + '"><img src="/images/waypointMarker.png" alt="waypoint marker" title="waypoint(s) available (best is ' + str( self.maxWaypointConc) + '%)" width="20" /></a></div>' # entered result += ' <div class="inlineBlock" style="width:33%;float:right;"><img src="/images/circleBlue16.png" alt="Entered" title="Entered" /><span style="vertical-align:4px;">' + ghShared.timeAgo( self.entered ) + ' ago by <a href="' + ghShared.BASE_SCRIPT_URL + 'user.py/' + self.enteredBy + '">' + self.enteredBy + '</a></span></div>' # verified result += ' <div class="inlineBlock" style="width:33%;float:right;">' if (self.verified != None): result += ' <img src="/images/checkGreen16.png" alt="Verified" title="Verified" /><span style="vertical-align:4px;">' + ghShared.timeAgo( self.verified ) + ' ago by <a href="' + ghShared.BASE_SCRIPT_URL + 'user.py/' + self.verifiedBy + '">' + self.verifiedBy + '</a></span>' else: if (self.unavailable == None and currentUser != '' and reputation >= ghShared.MIN_REP_VALS['VERIFY_RESOURCE']): result += ' <span id="cont_verify_' + self.spawnName + '"><img src="/images/checkGrey16.png" alt="Not Verified" title="Not Verified" /><span style="vertical-align:4px;"><a alt="Verify Resource" style="cursor: pointer;" onclick="quickAdd(null, \'' + self.spawnName + '\');">[Verify]</a></span></span>' # unavailable result += ' </div><div class="inlineBlock" style="width:32%;float:right;">' if (self.unavailable != None): result += ' <img src="/images/xRed16.png" alt="Unavailable" title="Unavailable" /><span style="vertical-align:4px;">' + ghShared.timeAgo( self.unavailable ) + ' ago by <a href="' + ghShared.BASE_SCRIPT_URL + 'user.py/' + self.unavailableBy + '">' + self.unavailableBy + '</a></span>' result += ' </div></div>' else: result += ' <div style="width: 248px;clear:both;margin-left:64px;">' + self.getPlanetBar( ) + '</div>' else: if (self.unavailable == None and currentUser != '' and reputation >= ghShared.MIN_REP_VALS['VERIFY_RESOURCE'] and ghShared.timeAgo(self.verified).find('minute') == -1): result += ' <div id="cont_verify_' + self.spawnName + '" style="width:100px;float:right;"><input type="checkbox" id="chkVerify_' + self.spawnName + '" />Verify</div>' result += ' </div>' return result