updated to current pyEDSM

… and now making full use of the new `distanceTo` stuff :)
This commit is contained in:
alterNERDtive 2020-01-08 11:29:18 +01:00
parent 06f4ba643b
commit 5ff0557956
3 changed files with 10 additions and 15 deletions

View file

@ -10,15 +10,10 @@ from pyEDSM.edsm.models import Commander, System
# ================================================================================= # =================================================================================
def distance (coords1, coords2): def getDistances (system, cmdrs, roundTo=2):
return math.sqrt( (coords1['x']-coords2['x'])**2
+ (coords1['y']-coords2['y'])**2
+ (coords1['z']-coords2['z'])**2 )
def getDistances (system, cmdrs):
distances = {} distances = {}
for cmdr in cmdrs: for cmdr in cmdrs:
distances[cmdr] = round(distance(cmdr.currentPosition, system.coords)) distances[cmdr] = system.distanceTo(cmdr, roundTo=roundTo)
return distances return distances
# ================================================================================= # =================================================================================
@ -68,8 +63,12 @@ def outputGui():
# ================================================================================= # =================================================================================
def outputText(): def outputText():
if shortOutput:
roundTo=0
else:
roundTo=2
try: try:
distances = getDistances(system, cmdrs) distances = getDistances(system, cmdrs, roundTo=roundTo)
except CommanderNotFoundError as e: except CommanderNotFoundError as e:
print(e) print(e)
sys.exit(1) sys.exit(1)
@ -85,7 +84,7 @@ def outputText():
nearestCmdr = min(distances,key=distances.get) nearestCmdr = min(distances,key=distances.get)
if shortOutput: if shortOutput:
print('nearest commander: {} ({} ly).'.format(nearestCmdr.name, print('nearest commander: {} ({} ly).'.format(nearestCmdr.name,
distances[nearestCmdr])) int(distances[nearestCmdr])))
else: else:
print('nearest CMDR: {} ({} ly from {}).'.format(nearestCmdr.name, print('nearest CMDR: {} ({} ly from {}).'.format(nearestCmdr.name,
distances[nearestCmdr], system.name)) distances[nearestCmdr], system.name))

View file

@ -13,11 +13,7 @@ def getBodyCount(system):
return System(system).bodyCount return System(system).bodyCount
def distanceBetween(system1, system2): def distanceBetween(system1, system2):
coords1 = System(system1).coords return System(system1).distanceTo(System(system2))
coords2 = System(system2).coords
return int(round(math.sqrt( (coords1['x']-coords2['x'])**2
+ (coords1['y']-coords2['y'])**2
+ (coords1['z']-coords2['z'])**2 ),0))
def getCommanderPosition(name, apikey): def getCommanderPosition(name, apikey):
coords = Commander(name, apikey).currentPosition coords = Commander(name, apikey).currentPosition

2
pyEDSM

@ -1 +1 @@
Subproject commit 3909728056f06836e77f92c31b36c58e59f89360 Subproject commit ef36127bb92786f8460a14f8c34039104bbd873b