def getResourceData(conn, resSQL, userReputation, activeUser, formatType): # get resource data for given criteria resourceHTML = '' s = None cursor = conn.cursor() if (cursor): lastValue = None cursor.execute(resSQL) row = cursor.fetchone() if row == None: resourceHTML = 'No resources found!' while (row != None): if s == None: if formatType == 'json': resourceHTML = ' [\n' else: resourceHTML = '<table width="100%" class=resourceStats>' # populate this resource to object and print it s = ghObjects.resourceSpawn() s.spawnID = row[0] s.spawnName = row[1] s.spawnGalaxy = row[2] s.resourceType = row[5] s.resourceTypeName = row[6] s.containerType = row[30] s.stats.CR = row[8] s.stats.CD = row[9] s.stats.DR = row[10] s.stats.FL = row[11] s.stats.HR = row[12] s.stats.MA = row[13] s.stats.PE = row[14] s.stats.OQ = row[15] s.stats.SR = row[16] s.stats.UT = row[17] s.stats.ER = row[18] s.percentStats.CR = row[19] s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] s.maxWaypointConc = row[39] if row[40] != None: s.favorite = 1 s.despawnAlert = row[41] if sort == "quality": s.overallScore = row[42] s.planets = dbShared.getSpawnPlanets(conn, row[0], False, row[2]) if formatType == 'json': resourceHTML += ' {' else: resourceHTML += ' <tr><td>' if formatType == 'mobile': resourceHTML += s.getMobileHTML(activeUser) elif formatType == 'compare': resourceHTML += s.getHTML(1, '', activeUser, userReputation) elif formatType == 'json': resourceHTML += s.getJSON() else: resourceHTML += s.getHTML(0, '', activeUser, userReputation) if formatType == 'json': resourceHTML += ' }' else: resourceHTML += '</td></tr>' lastValue = row[42] row = cursor.fetchone() if formatType == 'json': resourceHTML += ' ,\n' else: resourceHTML += ' </table>' if fetchSize.isdigit() and cursor.rowcount == int(fetchSize): if formatType == 'json': resourceHTML += '],\n "last_value" : ' + str(lastValue) else: resourceHTML += '<div style="display:none;">maxRowsReached' + str(lastValue) + '</div>' cursor.close() return resourceHTML
def getResourceData(conn, resSQL, logged_state, galaxyState, resourceFormat, reputation): # get resource data for given criteria resourceHTML = '<table width="100%" class=resourceStats>' cursor = conn.cursor() if (cursor): cursor.execute(resSQL) row = cursor.fetchone() # check first row to see if all quality stats do not belong to resource type if (row != None): if (row[35] == 0): resourceHTML += '<tr><td>Stats do not matter</td></tr>' else: # print resource rows if stats matter while (row != None): s = ghObjects.resourceSpawn() s.spawnID = row[0] s.spawnName = row[1] s.spawnGalaxy = row[2] s.resourceType = row[5] s.resourceTypeName = row[6] s.containerType = row[30] s.stats.CR = row[8] s.stats.CD = row[9] s.stats.DR = row[10] s.stats.FL = row[11] s.stats.HR = row[12] s.stats.MA = row[13] s.stats.PE = row[14] s.stats.OQ = row[15] s.stats.SR = row[16] s.stats.UT = row[17] s.stats.ER = row[18] s.percentStats.CR = row[19] s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] if row[36] != None: s.favorite = 1 if row[37] != None: s.overallScore = row[37] * 1000 s.planets = dbShared.getSpawnPlanets( conn, row[0], True, row[2]) resourceHTML += ' <tr><td>' if logged_state > 0 and galaxyState == 1: controlsUser = currentUser else: controlsUser = '' resourceHTML += s.getHTML( resourceFormat, "", controlsUser, reputation, dbShared.getUserAdmin(conn, currentUser, galaxy)) resourceHTML += ' </td></tr>' row = cursor.fetchone() else: resourceHTML += '<tr><td>Not Available</td></tr>' cursor.close() resourceHTML += '</table>' return resourceHTML
def getResource(conn, logged_state, currentUser, spawnID, galaxy, spawnName): if logged_state == 1: favJoin = ' LEFT JOIN (SELECT itemID, favGroup FROM tFavorites WHERE userID="' + currentUser + '" AND favType=1) favs ON tResources.spawnID = favs.itemID' favCols = ', favGroup' else: favJoin = '' favCols = ', NULL' if spawnID != None: criteriaStr = 'spawnID=' + str(spawnID) else: criteriaStr = 'galaxy=' + galaxy + ' AND spawnName="' + spawnName + '"' try: cursor = conn.cursor() except Exception: errorstr = "Error: could not connect to database" if (cursor): sqlStr = 'SELECT spawnID, spawnName, galaxy, entered, enteredBy, tResources.resourceType, rt1.resourceTypeName, rt1.resourceGroup,' sqlStr += ' CR, CD, DR, FL, HR, MA, PE, OQ, SR, UT, ER,' sqlStr += ' CASE WHEN rt1.CRmax > 0 THEN ((CR-rt1.CRmin) / (rt1.CRmax-rt1.CRmin))*100 ELSE NULL END AS CRperc,' sqlStr += ' CASE WHEN rt1.CDmax > 0 THEN ((CD-rt1.CDmin) / (rt1.CDmax-rt1.CDmin))*100 ELSE NULL END AS CDperc,' sqlStr += ' CASE WHEN rt1.DRmax > 0 THEN ((DR-rt1.DRmin) / (rt1.DRmax-rt1.DRmin))*100 ELSE NULL END AS DRperc,' sqlStr += ' CASE WHEN rt1.FLmax > 0 THEN ((FL-rt1.FLmin) / (rt1.FLmax-rt1.FLmin))*100 ELSE NULL END AS FLperc,' sqlStr += ' CASE WHEN rt1.HRmax > 0 THEN ((HR-rt1.HRmin) / (rt1.HRmax-rt1.HRmin))*100 ELSE NULL END AS HRperc,' sqlStr += ' CASE WHEN rt1.MAmax > 0 THEN ((MA-rt1.MAmin) / (rt1.MAmax-rt1.MAmin))*100 ELSE NULL END AS MAperc,' sqlStr += ' CASE WHEN rt1.PEmax > 0 THEN ((PE-rt1.PEmin) / (rt1.PEmax-rt1.PEmin))*100 ELSE NULL END AS PEperc,' sqlStr += ' CASE WHEN rt1.OQmax > 0 THEN ((OQ-rt1.OQmin) / (rt1.OQmax-rt1.OQmin))*100 ELSE NULL END AS OQperc,' sqlStr += ' CASE WHEN rt1.SRmax > 0 THEN ((SR-rt1.SRmin) / (rt1.SRmax-rt1.SRmin))*100 ELSE NULL END AS SRperc,' sqlStr += ' CASE WHEN rt1.UTmax > 0 THEN ((UT-rt1.UTmin) / (rt1.UTmax-rt1.UTmin))*100 ELSE NULL END AS UTperc,' sqlStr += ' CASE WHEN rt1.ERmax > 0 THEN ((ER-rt1.ERmin) / (rt1.ERmax-rt1.ERmin))*100 ELSE NULL END AS ERperc,' sqlStr += ' rt1.containerType, verified, verifiedBy, unavailable, unavailableBy, rg1.groupName, rt1.resourceCategory, rg2.groupName AS categoryName' + favCols + ', (SELECT GROUP_CONCAT(resourceGroup SEPARATOR ",") FROM tResourceTypeGroup rtg WHERE rtg.resourceType=tResources.resourceType) FROM tResources INNER JOIN tResourceType rt1 ON tResources.resourceType = rt1.resourceType INNER JOIN tResourceGroup rg1 ON rt1.resourceGroup = rg1.resourceGroup INNER JOIN tResourceGroup rg2 ON rt1.resourceCategory = rg2.resourceGroup' + favJoin + ' WHERE ' + criteriaStr + ';' cursor.execute(sqlStr) row = cursor.fetchone() # get resource box if the spawn was found if (row != None): s = ghObjects.resourceSpawn() s.spawnID = row[0] s.spawnName = row[1] s.spawnGalaxy = row[2] s.resourceType = row[5] s.resourceTypeName = row[6] s.containerType = row[30] s.stats.CR = row[8] s.stats.CD = row[9] s.stats.DR = row[10] s.stats.FL = row[11] s.stats.HR = row[12] s.stats.MA = row[13] s.stats.PE = row[14] s.stats.OQ = row[15] s.stats.SR = row[16] s.stats.UT = row[17] s.stats.ER = row[18] s.percentStats.CR = row[19] s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] if row[38] != None: s.favorite = 1 if row[39] != None: s.groupList = ',' + row[39] + ',' s.planets = dbShared.getSpawnPlanets(conn, row[0], True, row[2]) else: s = None cursor.close() return s
s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] if row[35] != None: s.favorite = 1 s.planets = dbShared.getSpawnPlanets(conn, row[0], True, row[2]) print ' <tr><td>' print s.getHTML(1, "", logged_state > 0 and galaxyState == 1, userReputation) print '</td></tr>' row = cursor.fetchone() cursor.close() conn.close() print ' </table>'
def getResource(conn, logged_state, currentUser, spawnID, galaxy, spawnName): if logged_state == 1: favJoin = ' LEFT JOIN (SELECT itemID, favGroup FROM tFavorites WHERE userID="' + currentUser + '" AND favType=1) favs ON tResources.spawnID = favs.itemID' favCols = ', favGroup' else: favJoin = '' favCols = ', NULL' if spawnID != None: criteriaStr = 'spawnID=' + str(spawnID) else: criteriaStr = 'galaxy=' + galaxy + ' AND spawnName="' + spawnName + '"' try: cursor = conn.cursor() except Exception: errorstr = "Error: could not connect to database" if (cursor): sqlStr = 'SELECT spawnID, spawnName, galaxy, entered, enteredBy, tResources.resourceType, rt1.resourceTypeName, rt1.resourceGroup,' sqlStr += ' CR, CD, DR, FL, HR, MA, PE, OQ, SR, UT, ER,' sqlStr += ' CASE WHEN rt1.CRmax > 0 THEN ((CR-rt1.CRmin) / (rt1.CRmax-rt1.CRmin))*100 ELSE NULL END AS CRperc, CASE WHEN rt1.CDmax > 0 THEN ((CD-rt1.CDmin) / (rt1.CDmax-rt1.CDmin))*100 ELSE NULL END AS CDperc, CASE WHEN rt1.DRmax > 0 THEN ((DR-rt1.DRmin) / (rt1.DRmax-rt1.DRmin))*100 ELSE NULL END AS DRperc, CASE WHEN rt1.FLmax > 0 THEN ((FL-rt1.FLmin) / (rt1.FLmax-rt1.FLmin))*100 ELSE NULL END AS FLperc, CASE WHEN rt1.HRmax > 0 THEN ((HR-rt1.HRmin) / (rt1.HRmax-rt1.HRmin))*100 ELSE NULL END AS HRperc, CASE WHEN rt1.MAmax > 0 THEN ((MA-rt1.MAmin) / (rt1.MAmax-rt1.MAmin))*100 ELSE NULL END AS MAperc, CASE WHEN rt1.PEmax > 0 THEN ((PE-rt1.PEmin) / (rt1.PEmax-rt1.PEmin))*100 ELSE NULL END AS PEperc, CASE WHEN rt1.OQmax > 0 THEN ((OQ-rt1.OQmin) / (rt1.OQmax-rt1.OQmin))*100 ELSE NULL END AS OQperc, CASE WHEN rt1.SRmax > 0 THEN ((SR-rt1.SRmin) / (rt1.SRmax-rt1.SRmin))*100 ELSE NULL END AS SRperc, CASE WHEN rt1.UTmax > 0 THEN ((UT-rt1.UTmin) / (rt1.UTmax-rt1.UTmin))*100 ELSE NULL END AS UTperc, CASE WHEN rt1.ERmax > 0 THEN ((ER-rt1.ERmin) / (rt1.ERmax-rt1.ERmin))*100 ELSE NULL END AS ERperc,' sqlStr += ' rt1.containerType, verified, verifiedBy, unavailable, unavailableBy, rg1.groupName, rt1.resourceCategory, rg2.groupName AS categoryName' + favCols + ', (SELECT GROUP_CONCAT(resourceGroup SEPARATOR ",") FROM tResourceTypeGroup rtg WHERE rtg.resourceType=tResources.resourceType) FROM tResources INNER JOIN tResourceType rt1 ON tResources.resourceType = rt1.resourceType INNER JOIN tResourceGroup rg1 ON rt1.resourceGroup = rg1.resourceGroup INNER JOIN tResourceGroup rg2 ON rt1.resourceCategory = rg2.resourceGroup' + favJoin + ' WHERE ' + criteriaStr + ';' cursor.execute(sqlStr) row = cursor.fetchone() # get resource box if the spawn was found if (row != None): s = ghObjects.resourceSpawn() s.spawnID = row[0] s.spawnName = row[1] s.spawnGalaxy = row[2] s.resourceType = row[5] s.resourceTypeName = row[6] s.containerType = row[30] s.stats.CR = row[8] s.stats.CD = row[9] s.stats.DR = row[10] s.stats.FL = row[11] s.stats.HR = row[12] s.stats.MA = row[13] s.stats.PE = row[14] s.stats.OQ = row[15] s.stats.SR = row[16] s.stats.UT = row[17] s.stats.ER = row[18] s.percentStats.CR = row[19] s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] if row[38] != None: s.favorite = 1 s.groupList = ',' + row[39] + ',' s.planets = dbShared.getSpawnPlanets(conn, row[0], True) else: s = None cursor.close() return s
s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] s.maxWaypointConc = row[39] if row[40] != None: s.favorite = 1 s.planets = dbShared.getSpawnPlanets(conn, row[0], True) print ' <tr><td>' if formatType == 'mobile': print s.getMobileHTML(editable) else: print s.getHTML(editable, formatStyle, resBoxMargin) print '</td></tr>' row = cursor.fetchone() cursor.close() conn.close() print ' </table>'
def getResourceData(conn, resSQL, editable, galaxyState, formatType): # get resource data for given criteria resourceHTML = '' s = None sys.stderr.write(resSQL) cursor = conn.cursor() if (cursor): lastValue = None cursor.execute(resSQL) row = cursor.fetchone() if row == None: resourceHTML = 'No resources found!' while (row != None): if s == None: resourceHTML = '<table width="100%" class=resourceStats>' # populate this resource to object and print it s = ghObjects.resourceSpawn() s.spawnID = row[0] s.spawnName = row[1] s.spawnGalaxy = row[2] s.resourceType = row[5] s.resourceTypeName = row[6] s.containerType = row[30] s.stats.CR = row[8] s.stats.CD = row[9] s.stats.DR = row[10] s.stats.FL = row[11] s.stats.HR = row[12] s.stats.MA = row[13] s.stats.PE = row[14] s.stats.OQ = row[15] s.stats.SR = row[16] s.stats.UT = row[17] s.stats.ER = row[18] s.percentStats.CR = row[19] s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] s.maxWaypointConc = row[39] if row[40] != None: s.favorite = 1 s.overallScore = row[41] s.planets = dbShared.getSpawnPlanets(conn, row[0], False) resourceHTML += ' <tr><td>' if formatType == 'mobile': resourceHTML += s.getMobileHTML(editable) elif formatType == 'compare': resourceHTML += s.getHTML(editable, 1, '') else: resourceHTML += s.getHTML(editable, 0, '') resourceHTML += '</td></tr>' lastValue = row[41] row = cursor.fetchone() resourceHTML += ' </table>' if cursor.rowcount == ROW_LIMIT: resourceHTML += '<div style="display:none;">maxRowsReached' + str(lastValue) + '</div>' cursor.close() return resourceHTML
def getResourceData(conn, resSQL, logged_state, galaxyState, resourceFormat): # get resource data for given criteria resourceHTML = '<table width="100%" class=resourceStats>' cursor = conn.cursor() if (cursor): cursor.execute(resSQL) row = cursor.fetchone() # check first row to see if all quality stats do not belong to resource type if (row != None): if (row[35] == 0): resourceHTML += '<tr><td>Stats do not matter</td></tr>' else: # print resource rows if stats matter while (row != None): s = ghObjects.resourceSpawn() s.spawnID = row[0] s.spawnName = row[1] s.spawnGalaxy = row[2] s.resourceType = row[5] s.resourceTypeName = row[6] s.containerType = row[30] s.stats.CR = row[8] s.stats.CD = row[9] s.stats.DR = row[10] s.stats.FL = row[11] s.stats.HR = row[12] s.stats.MA = row[13] s.stats.PE = row[14] s.stats.OQ = row[15] s.stats.SR = row[16] s.stats.UT = row[17] s.stats.ER = row[18] s.percentStats.CR = row[19] s.percentStats.CD = row[20] s.percentStats.DR = row[21] s.percentStats.FL = row[22] s.percentStats.HR = row[23] s.percentStats.MA = row[24] s.percentStats.PE = row[25] s.percentStats.OQ = row[26] s.percentStats.SR = row[27] s.percentStats.UT = row[28] s.percentStats.ER = row[29] s.entered = row[3] s.enteredBy = row[4] s.verified = row[31] s.verifiedBy = row[32] s.unavailable = row[33] s.unavailableBy = row[34] if row[36] != None: s.favorite = 1 s.overallScore = row[37]*1000 s.planets = dbShared.getSpawnPlanets(conn, row[0], True) resourceHTML += ' <tr><td>' if galaxyState == 1: resourceHTML += s.getHTML(logged_state, resourceFormat, "") else: rsourceHTML += s.getHTML(0, resourceFormat, "") resourceHTML += ' </td></tr>' row = cursor.fetchone() else: resourceHTML += '<tr><td>Not Available</td></tr>' cursor.close() resourceHTML += '</table>' return resourceHTML