def render(results, cmdenv, tdb): from formatting import RowFormat, ColumnFormat if not results or not results.rows: raise TradeException("No data found") # Compare system names so we can tell longestNamed = max(results.rows, key=lambda row: len(row.station.name())) longestNameLen = len(longestNamed.station.name()) rowFmt = RowFormat().append( ColumnFormat("Station", '<', longestNameLen, key=lambda row: row.station.name()) ) if cmdenv.quiet < 2: if cmdenv.nearSystem: rowFmt.addColumn('DistLy', '>', 6, '.2f', key=lambda row: row.dist ) rowFmt.append( ColumnFormat("Age/days", '>', '8', '.2f', key=lambda row: row.age) ).append( ColumnFormat("StnLs", '>', '10', key=lambda row: row.station.distFromStar()) ).append( ColumnFormat("Pad", '>', '3', key=lambda row: \ TradeDB.padSizes[row.station.maxPadSize]) ) if not cmdenv.quiet: heading, underline = rowFmt.heading() print(heading, underline, sep='\n') for row in results.rows: print(rowFmt.format(row))
def render(results, cmdenv, tdb): from formatting import RowFormat, ColumnFormat if not results or not results.rows: raise TradeException("No data found") # Compare system names so we can tell longestNamed = max(results.rows, key=lambda row: len(row.station.name())) longestNameLen = len(longestNamed.station.name()) rowFmt = RowFormat().append( ColumnFormat("Station", '<', longestNameLen, key=lambda row: row.station.name())) if cmdenv.quiet < 2: if cmdenv.nearSystem: rowFmt.addColumn('DistLy', '>', 6, '.2f', key=lambda row: row.dist) rowFmt.append( ColumnFormat("Age/days", '>', '8', '.2f', key=lambda row: row.age) ).append( ColumnFormat("StnLs", '>', '10', key=lambda row: row.station.distFromStar()) ).append( ColumnFormat("Pad", '>', '3', key=lambda row: \ TradeDB.padSizes[row.station.maxPadSize]) ) if not cmdenv.quiet: heading, underline = rowFmt.heading() print(heading, underline, sep='\n') for row in results.rows: print(rowFmt.format(row))
def render(results, cmdenv, tdb): if not results or not results.rows: raise TradeException("No systems found within {}ly of {}.".format( results.summary.ly, results.summary.near.name())) # Compare system names so we can tell maxSysLen = max_len(results.rows, key=lambda row: row.system.name()) sysRowFmt = RowFormat().append( ColumnFormat("System", '<', maxSysLen, key=lambda row: row.system.name())).append( ColumnFormat("Dist", '>', '7', '.2f', key=lambda row: row.dist)) showStations = cmdenv.detail if showStations: maxStnLen = max_len(chain.from_iterable(row.stations for row in results.rows), key=lambda row: row.station.dbname) maxLsLen = max_len(chain.from_iterable(row.stations for row in results.rows), key=lambda row: row.station.distFromStar()) maxLsLen = max(maxLsLen, 5) stnRowFmt = RowFormat(prefix=' / ').append( ColumnFormat("Station", '.<', maxStnLen + 2, key=lambda row: row.station.dbname) ).append( ColumnFormat("StnLs", '>', maxLsLen, key=lambda row: row.station.distFromStar()) ).append( ColumnFormat("Age/days", '>', 7, key=lambda row: row.age) ).append( ColumnFormat("Mkt", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.market]) ).append( ColumnFormat("BMk", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.blackMarket]) ).append( ColumnFormat("Shp", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.shipyard]) ).append( ColumnFormat("Out", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.outfitting]) ).append( ColumnFormat("Arm", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.rearm]) ).append( ColumnFormat("Ref", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.refuel]) ).append( ColumnFormat("Rep", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.repair]) ).append( ColumnFormat("Pad", '>', '3', key=lambda row: \ TradeDB.padSizes[row.station.maxPadSize]) ).append( ColumnFormat("Plt", '>', '3', key=lambda row: \ TradeDB.planetStates[row.station.planetary]) ) if cmdenv.detail > 1: stnRowFmt.append( ColumnFormat("Itms", ">", 4, key=lambda row: row.station.itemCount)) cmdenv.DEBUG0( "Systems within {ly:<5.2f}ly of {sys}.\n", sys=results.summary.near.name(), ly=results.summary.ly, ) if not cmdenv.quiet: heading, underline = sysRowFmt.heading() if showStations: print(heading) heading, underline = stnRowFmt.heading() print(heading, underline, sep='\n') for row in results.rows: print(sysRowFmt.format(row)) for stnRow in row.stations: print(stnRowFmt.format(stnRow))
def render(results, cmdenv, tdb): from formatting import RowFormat, ColumnFormat if cmdenv.quiet > 1: print(','.join(row.system.name() for row in results.rows)) return longestNamed = max(results.rows, key=lambda row: len(row.system.name())) longestNameLen = len(longestNamed.system.name()) rowFmt = RowFormat() if cmdenv.detail: rowFmt.addColumn("Action", '<', 6, key=lambda row: row.action) rowFmt.addColumn("System", '<', longestNameLen, key=lambda row: row.system.name()) rowFmt.addColumn("JumpLy", '>', '7', '.2f', key=lambda row: row.jumpLy) if cmdenv.detail: rowFmt.addColumn("Stations", '>', 2, key=lambda row: len(row.system.stations)) if cmdenv.detail: rowFmt.addColumn("DistLy", '>', '7', '.2f', key=lambda row: row.totalLy) if cmdenv.detail > 1: rowFmt.addColumn("DirLy", '>', 7, '.2f', key=lambda row: row.dirLy) showStations = cmdenv.stations if showStations: stnRowFmt = RowFormat(prefix=' / ').append( ColumnFormat("Station", '<', 32, key=lambda row: row.station.str()) ).append( ColumnFormat("StnLs", '>', '10', key=lambda row: row.station.distFromStar()) ).append( ColumnFormat("Age/days", '>', 7, key=lambda row: row.age) ).append( ColumnFormat('Mkt', '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.market]) ).append( ColumnFormat("BMk", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.blackMarket]) ).append( ColumnFormat("Shp", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.shipyard]) ).append( ColumnFormat("Out", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.outfitting]) ).append( ColumnFormat("Arm", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.rearm]) ).append( ColumnFormat("Ref", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.refuel]) ).append( ColumnFormat("Rep", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.repair]) ).append( ColumnFormat("Pad", '>', '3', key=lambda row: \ TradeDB.padSizes[row.station.maxPadSize]) ) if cmdenv.detail > 1: stnRowFmt.append( ColumnFormat("Itms", ">", 4, key=lambda row: row.station.itemCount) ) if not cmdenv.quiet: heading, underline = rowFmt.heading() if showStations: print(heading) heading, underline = stnRowFmt.heading() print(heading, underline, sep='\n') for row in results.rows: print(rowFmt.format(row)) for stnRow in row.stations: print(stnRowFmt.format(stnRow)) return results
def render(results, cmdenv, tdb): from formatting import RowFormat, ColumnFormat if cmdenv.quiet > 1: print(','.join(row.system.name() for row in results.rows)) return longestNamed = max(results.rows, key=lambda row: len(row.system.name())) longestNameLen = len(longestNamed.system.name()) rowFmt = RowFormat() if cmdenv.detail: rowFmt.addColumn("Action", '<', 6, key=lambda row: row.action) rowFmt.addColumn("System", '<', longestNameLen, key=lambda row: row.system.name()) rowFmt.addColumn("JumpLy", '>', '7', '.2f', key=lambda row: row.jumpLy) if cmdenv.detail: rowFmt.addColumn("Stations", '>', 2, key=lambda row: len(row.system.stations)) if cmdenv.detail: rowFmt.addColumn("DistLy", '>', '7', '.2f', key=lambda row: row.totalLy) if cmdenv.detail > 1: rowFmt.addColumn("DirLy", '>', 7, '.2f', key=lambda row: row.dirLy) showStations = cmdenv.stations if showStations: stnRowFmt = RowFormat(prefix=' / ').append( ColumnFormat("Station", '<', 32, key=lambda row: row.station.str()) ).append( ColumnFormat("StnLs", '>', '10', key=lambda row: row.station.distFromStar()) ).append( ColumnFormat("Age/days", '>', 7, key=lambda row: row.age) ).append( ColumnFormat('Mkt', '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.market]) ).append( ColumnFormat("BMk", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.blackMarket]) ).append( ColumnFormat("Shp", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.shipyard]) ).append( ColumnFormat("Out", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.outfitting]) ).append( ColumnFormat("Arm", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.rearm]) ).append( ColumnFormat("Ref", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.refuel]) ).append( ColumnFormat("Rep", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.repair]) ).append( ColumnFormat("Pad", '>', '3', key=lambda row: \ TradeDB.padSizes[row.station.maxPadSize]) ).append( ColumnFormat("Plt", '>', '3', key=lambda row: \ TradeDB.planetStates[row.station.planetary]) ) if cmdenv.detail > 1: stnRowFmt.append( ColumnFormat("Itms", ">", 4, key=lambda row: row.station.itemCount)) if not cmdenv.quiet: heading, underline = rowFmt.heading() if showStations: print(heading) heading, underline = stnRowFmt.heading() print(heading, underline, sep='\n') for row in results.rows: print(rowFmt.format(row)) for stnRow in row.stations: print(stnRowFmt.format(stnRow)) return results
def render(results, cmdenv, tdb): if not results or not results.rows: raise TradeException( "No systems found within {}ly of {}." .format(results.summary.ly, results.summary.near.name()) ) # Compare system names so we can tell maxSysLen = max_len(results.rows, key=lambda row: row.system.name()) sysRowFmt = RowFormat().append( ColumnFormat("System", '<', maxSysLen, key=lambda row: row.system.name()) ).append( ColumnFormat("Dist", '>', '7', '.2f', key=lambda row: row.dist) ) showStations = cmdenv.detail if showStations: maxStnLen = max_len( chain.from_iterable(row.stations for row in results.rows), key=lambda row: row.station.dbname ) maxLsLen = max_len( chain.from_iterable(row.stations for row in results.rows), key=lambda row: row.station.distFromStar() ) maxLsLen = max(maxLsLen, 5) stnRowFmt = RowFormat(prefix=' / ').append( ColumnFormat("Station", '.<', maxStnLen + 2, key=lambda row: row.station.dbname) ).append( ColumnFormat("StnLs", '>', maxLsLen, key=lambda row: row.station.distFromStar()) ).append( ColumnFormat("Age/days", '>', 7, key=lambda row: row.age) ).append( ColumnFormat("Mkt", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.market]) ).append( ColumnFormat("BMk", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.blackMarket]) ).append( ColumnFormat("Shp", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.shipyard]) ).append( ColumnFormat("Out", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.outfitting]) ).append( ColumnFormat("Arm", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.rearm]) ).append( ColumnFormat("Ref", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.refuel]) ).append( ColumnFormat("Rep", '>', '3', key=lambda row: \ TradeDB.marketStates[row.station.repair]) ).append( ColumnFormat("Pad", '>', '3', key=lambda row: \ TradeDB.padSizes[row.station.maxPadSize]) ) if cmdenv.detail > 1: stnRowFmt.append( ColumnFormat("Itms", ">", 4, key=lambda row: row.station.itemCount) ) cmdenv.DEBUG0( "Systems within {ly:<5.2f}ly of {sys}.\n", sys=results.summary.near.name(), ly=results.summary.ly, ) if not cmdenv.quiet: heading, underline = sysRowFmt.heading() if showStations: print(heading) heading, underline = stnRowFmt.heading() print(heading, underline, sep='\n') for row in results.rows: print(sysRowFmt.format(row)) for stnRow in row.stations: print(stnRowFmt.format(stnRow))