diff --git a/CHANGES.txt b/CHANGES.txt index b9d7e8de..5c0b780f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,7 +2,21 @@ TradeDangerous, Copyright (C) Oliver "kfsone" Smith, July 2014 ============================================================================== -[work in progress] +[wip] +. (kfsone) Added '--prune-score' and '--prune-hops' to run; these let + you discard routes that are under-performing early on which + can make calculating longer runs more efficient. +. (kfsone) Added "--progress" to "run" to show the current hop, +. (kfsone) "run" and TradeCalc are much smarter about which hops + they will consider when using --max-age, --blackmarket, etc. + (big perf win) + + +v6.7.0 Jan 17 2015 +. (kfsone) ".prices" import automatically creates local placeholders + for unknown stations when using "-i", e.g: + trade.py buildcache -f -i + trade.py import --plug=maddavo (this plugin sets -i for you) . (kfsone) Added a "--ls-max" option to "run" for filtering stations . (kfsone) +140 Systems . (tKE) "buy" sub-command now supports ship names (find a ship vendor) diff --git a/README.txt b/README.txt index 3b73ff21..c75bc9c6 100644 --- a/README.txt +++ b/README.txt @@ -203,6 +203,51 @@ RUN sub-command: This command provides the primary trade run calculator functionality (it provides the functionality of the older TradeDangerous versions prior to 3.1) + Ship/Trade options: + --capacity N + --cap N + Maximum items you can carry on each hop. + + --credits N + --cr N + How many credits to start with + e.g. + --credits 20000 + + --ly-per N.NN + --ly N.NN + Maximum distance your ship can jump between systems at full capacity. + NOTE: You can increase your range by selling your weapons. + e.g. + --ly-per 19.1 + --ly-per 3 + + --empty-ly N.NN + --emp N.NN + DEFAULT: same as --ly-per + How far your ship can jump when empty (used by --start-jumps) + + --limit N DEFAULT: 0 + If set, limits the maximum number of units of any cargo + item you will buy on any trade hop, incase you want to + hedge your bets or be a good economy citizen. + e.g. + --capacity 16 --limit 8 + + --insurance N DEFAULT: 0 + --ins N + How many credits to hold back for insurance purposes + e.g. + --insurance 1000 + --ins 5000 + + --margin N.NN DEFAULT: 0.01 + At the end of each hop, reduce the profit by this much (0.02 = 2%), + to allow a margin of error in the accuracy of prices. + e.g. + --margin 0 (no margin) + --margin 0.01 (1% margin) + Route options: --from Lets you specify the starting station @@ -238,6 +283,21 @@ RUN sub-command: --via Enterprise --via Chango + --hops N + DEFAULT: 2 + Maximum number of hops (number of cargo pickups) + e.g. + --hops 8 + + --jumps-per N + --jum N + DEFAULT: 2 + Limit the number of systems jumped to between each station + e.g. + -jumps-per 5 + + + Filter options: --max-days-old N.NN -MD N.NN Filters out price data that exceeds a specified age in days @@ -269,22 +329,31 @@ RUN sub-command: --ls-penalty 2.5 --lsp=0 (disables this feature) - --unique - --uni - Only show routes which do not visit any station twice - - --hops N - DEFAULT: 2 - Maximum number of hops (number of cargo pickups) + --ls-max N + DEFAULT: 0 + Filter stations by their distance-to-star. Stations for which + distance-to-star is known that have a distance above this will + not be considered for trading. e.g. - --hops 8 + --ls-max 10000 + --ls-m 32000 + + --prune-score N.NN + DEFAULT: 0 + After a number of hops (controlled by --prune-hops), eliminate + candidate routes which have under-performed the leading candidate. + NOTE: This can speed up long run calculations, but it can also + cause you to miss gold-mines that are a just a few hops away... + e.g. + --prune-score 12.5 (prune routes scoring less than 10% of the leader) - --jumps-per N - --jum N - DEFAULT: 2 - Limit the number of systems jumped to between each station + --prune-hops N + DEFAULT: 3 + Being applying "--prune-score" from this hop onward. Set 0 to disable. + NOTE: This can speed up long run calculations, but it can also + cause you to miss gold-mines that are a just a few hops away... e.g. - -jumps-per 5 + --prune-hop 4 --prune-score 22.5 --avoid ITEM/SYSTEM/STATION --avoid AVOID,AVOID,...,AVOID @@ -298,50 +367,9 @@ RUN sub-command: --avoid prise --av gold,aulin,enterprise,anderson - Ship/Trade options: - --capacity N - --cap N - Maximum items you can carry on each hop. - - --credits N - --cr N - How many credits to start with - e.g. - --credits 20000 - - --ly-per N.NN - --ly N.NN - Maximum distance your ship can jump between systems at full capacity. - NOTE: You can increase your range by selling your weapons. - e.g. - --ly-per 19.1 - --ly-per 3 - - --empty-ly N.NN - --emp N.NN - DEFAULT: same as --ly-per - How far your ship can jump when empty (used by --start-jumps) - - --limit N DEFAULT: 0 - If set, limits the maximum number of units of any cargo - item you will buy on any trade hop, incase you want to - hedge your bets or be a good economy citizen. - e.g. - --capacity 16 --limit 8 - - --insurance N DEFAULT: 0 - --ins N - How many credits to hold back for insurance purposes - e.g. - --insurance 1000 - --ins 5000 - - --margin N.NN DEFAULT: 0.01 - At the end of each hop, reduce the profit by this much (0.02 = 2%), - to allow a margin of error in the accuracy of prices. - e.g. - --margin 0 (no margin) - --margin 0.01 (1% margin) + --unique + --uni + Only show routes which do not visit any station twice Other options: --routes N DEFAULT: 1 @@ -474,6 +502,12 @@ IMPORT sub-command: Any systems, stations, categories or items that aren't recognized by this version of TD will be reported but import will continue. + Unrecognized stations in the ".prices" file, or an import, will + have a placeholder station entry automatically created for them. + + Note: When the cache is rebuilt, these stations will be lost, so + you may need to add the "-i" flag to the buildcache command. + RARES sub-command: diff --git a/cache.py b/cache.py index f56427e2..c4a89367 100644 --- a/cache.py +++ b/cache.py @@ -30,6 +30,7 @@ import re import sqlite3 import sys +import tradedb ###################################################################### # Regular expression patterns. Here be draegons. @@ -261,6 +262,15 @@ def parseSupply(pricesFile, lineNo, category, reading): ###################################################################### def getSystemByNameIndex(cur): + """ Build station index in STAR/Station notation """ + cur.execute(""" + SELECT system_id, UPPER(system.name) + FROM System + """) + return { name: ID for (ID, name) in cur } + + +def getStationByNameIndex(cur): """ Build station index in STAR/Station notation """ cur.execute(""" SELECT station_id, @@ -296,8 +306,11 @@ def processPrices(tdenv, priceFile, db, defaultZero): stationID, categoryID = None, None cur = db.cursor() + ignoreUnknown = tdenv.ignoreUnknown + quiet = tdenv.quiet systemByName = getSystemByNameIndex(cur) + stationByName = getStationByNameIndex(cur) categoriesByName = getCategoriesByNameIndex(cur) itemByName = getItemByNameIndex(cur) @@ -320,9 +333,9 @@ def processPrices(tdenv, priceFile, db, defaultZero): def ignoreOrWarn(error): nonlocal warnings - if not tdenv.ignoreUnknown: + if not ignoreUnknown: raise error - if not tdenv.quiet: + if not quiet: error.category = "WARNING" print(error) warnings += 1 @@ -343,7 +356,7 @@ def changeStation(matches): # Make sure it's valid. try: - stationID = systemByName[facility] + stationID = stationByName[facility] except KeyError: stationID = -1 @@ -370,7 +383,7 @@ def changeStation(matches): pass facility = systemName + '/' + stationName try: - stationID = systemByName[facility] + stationID = stationByName[facility] tdenv.DEBUG1("Renamed: {}/{} -> {}", systemNameIn, stationNameIn, facility @@ -378,7 +391,29 @@ def changeStation(matches): except KeyError: stationID = -1 - if stationID < 0 : + if stationID < 0 and ignoreUnknown: + try: + systemID = systemByName[systemName] + except KeyError: + pass + else: + name = tradedb.TradeDB.titleFixup(stationName) + inscur = db.cursor() + inscur.execute(""" + INSERT INTO Station ( + system_id, name, ls_from_star, blackmarket, max_pad_size + ) VALUES ( + ?, ?, 0, '?', '?' + ) + """, [systemID, name]) + stationID = inscur.lastrowid + stationByName[facility] = stationID + db.commit() + tdenv.NOTE("Added local station placeholder for {} (#{})", + facility, stationID + ) + + if stationID < 0: stationID = DELETED ignoreOrWarn( UnknownStationError(priceFile, lineNo, facility) diff --git a/commands/run_cmd.py b/commands/run_cmd.py index aa925955..d5458bed 100644 --- a/commands/run_cmd.py +++ b/commands/run_cmd.py @@ -156,6 +156,24 @@ default=False, dest='x52pro', ), + ParseArgument('--prune-score', + help='From the 3rd hop on, only consider routes which have ' \ + 'at least this percentage of the current best route''s score.', + dest='pruneScores', + type=float, + default=0, + ), + ParseArgument('--prune-hops', + help='Changes which hop --prune-score takes effect from.', + default=3, + type=int, + dest='pruneHops', + ), + ParseArgument('--progress', '-P', + help='Show hop progress', + default=False, + action='store_true', + ), ] ###################################################################### @@ -357,36 +375,52 @@ def checkAnchorNotInVia(hops, anchorName, place, viaSet): )) -def checkStationSuitability(cmdenv, station, src): +def checkStationSuitability(cmdenv, station, src=None): if not station.itemCount: - raise NoDataError( - "No price data in local database " - "for {} station: {}".format( - src, station.name(), - )) + if src: + raise NoDataError( + "No price data in local database " + "for {} station: {}".format( + src, station.name(), + )) + return False mps = cmdenv.maxPadSize if mps and not station.checkPadSize(mps): - raise CommandLineError( - "{} station {} does not meet pad-size " - "requirement.".format( - src, station.name(), - )) - if src != "--from": - bm = cmdenv.blackMarket - if bm and station.blackMarket != 'Y': + if src: + raise CommandLineError( + "{} station {} does not meet pad-size " + "requirement.".format( + src, station.name(), + )) + raise False + bm = cmdenv.blackMarket + if bm and station.blackMarket != 'Y': + if src and src != "--from": raise CommandLineError( "{} station {} does not meet black-market " "requirement.".format( src, station.name(), )) - mls = cmdenv.maxLs - if mls and station.lsFromStar > mls: + return False + mls = cmdenv.maxLs + if mls and station.lsFromStar > mls: + if src and src != "--from": raise CommandLineError( - "{} station {} does not meet max-ls requirement " + "{} station {} does not meet max-ls " "requirement.".format( src, station.name(), )) - + return False + maxAge = cmdenv.maxAge + if maxAge and station.dataAge > maxAge: + if src and src != "--from": + raise CommandLineError( + "{} station {} does not meet --max-age " + "requirement.".format( + src, station.name(), + )) + return False + return True def filterStationSet(src, cmdenv, stnSet): if not stnSet: @@ -396,17 +430,9 @@ def filterStationSet(src, cmdenv, stnSet): for place in stnSet: if not isinstance(place, Station): continue - if place.itemCount == 0: - stnSet.remove(place) - continue - if mps and not place.checkPadSize(mps): - stnSet.remove(place) - continue - if bm and place.blackMarket != 'Y': + if not checkStationSuitability(cmdenv, place): stnSet.remove(place) continue - if mls and place.lsFromStar > mls: - stnSet.remove(place) if not stnSet: raise CommandLineError( "No {} station met your criteria.".format( @@ -463,7 +489,7 @@ def validateRunArguments(tdb, cmdenv): cmdenv.origins = [ station for station in tdb.stationByID.values() - if station.itemCount > 0 + if checkStationSuitability(cmdenv, station) ] if cmdenv.startJumps: raise CommandLineError("--start-jumps (-s) only works with --from") @@ -584,6 +610,13 @@ def validateRunArguments(tdb, cmdenv): if cmdenv.mfd: cmdenv.mfd.display("Loading Trades") + if cmdenv.pruneScores and cmdenv.pruneHops: + if cmdenv.pruneScores > 100: + raise CommandLineError("--prune-score value percentage exceed 100.") + if cmdenv.pruneHops < 3: + raise CommandLineError("--prune-hops must 3 or more.") + else: + cmdenv.pruneScores = cmdenv.pruneHops = 0 ###################################################################### @@ -668,18 +701,29 @@ def run(results, cmdenv, tdb): results.summary = ResultRow() results.summary.exception = "" - for hopNo in range(numHops): - if not cmdenv.quiet and not cmdenv.debug: - print("* Hop {:3n}: {:.>10n} routes".format(hopNo+1, len(routes)), end='\r') - elif cmdenv.debug: - cmdenv.DEBUG0("Hop {}...", hopNo+1) + pruneMod = cmdenv.pruneScores / 100 + for hopNo in range(numHops): restrictTo = None if hopNo == lastHop and stopStations: restrictTo = set(stopStations) elif len(viaSet) > cmdenv.adhocHops: restrictTo = viaSet + if pruneMod and hopNo + 1 >= cmdenv.pruneHops and len(routes) > 10: + routes.sort() + bestScore, worstScore = routes[0].score, routes[-1].score + threshold = bestScore * pruneMod + oldLen = len(routes) + while routes[-1].score < threshold: + routes.pop() + cmdenv.NOTE("Pruned {} routes", oldLen - len(routes)) + + if cmdenv.progress: + print("* Hop {:3n}: {:.>10n} routes".format(hopNo+1, len(routes))) + elif cmdenv.debug: + cmdenv.DEBUG0("Hop {}...", hopNo+1) + newRoutes = calc.getBestHops(routes, restrictTo=restrictTo) if not newRoutes and hopNo > 0: if restrictTo: @@ -711,8 +755,6 @@ def run(results, cmdenv, tdb): ) break routes = newRoutes - if not cmdenv.quiet: - print("{:40}".format(" "), end='\r') if not routes: raise NoDataError("No profitable trades matched your critera, or price data along the route is missing.") diff --git a/commands/station_cmd.py b/commands/station_cmd.py index be54a3ef..986aefa8 100644 --- a/commands/station_cmd.py +++ b/commands/station_cmd.py @@ -88,29 +88,6 @@ ###################################################################### # Helpers -def titleFixup(text): - """ - Correct case in a word assuming the presence of titles/surnames, - including 'McDonald', 'MacNair', 'McKilroy', and cases that - python's title screws up such as "Smith's". - """ - - text = text.title() - text = re.sub( - r"\b(Mc)([a-z])", - lambda match: match.group(1) + match.group(2).upper(), - text - ) - text = re.sub( - r"\b(Mac)([bcdfgjklmnpqrstvwxyz])([a-z]{4,})", - lambda m: m.group(1) + m.group(2).upper() + m.group(3), - text - ) - text = re.sub(r"'S\b", "'s", text) - - return text - - def makeConfirmationCode(base, candidates): """ Makes a four-digit hex checksum of a station list. @@ -232,7 +209,7 @@ def checkSystemAndStation(tdb, cmdenv): if not sysName: raise CommandLineError("No system name specified") - cmdenv.system, cmdenv.station = sysName, titleFixup(stnName) + cmdenv.system, cmdenv.station = sysName, TradeDB.titleFixup(stnName) # If we're adding a station, we need to check that the system # exists and that it doesn't contain a close-match for this diff --git a/corrections.py b/corrections.py index d49e815c..43105fc6 100644 --- a/corrections.py +++ b/corrections.py @@ -20,6 +20,7 @@ "21 DRACO/ROBERTS PORT": DELETED, "37 XI BOOTIS/SCHIRRA PLANT": "Schirba Plant", "ADENETS/ALLEN HORIZONS": DELETED, + "ADEO/OOBROVOLSKI CITY": "Dobrovolski City", "AKHENATEN/WANG PLATFORM": DELETED, "ALBICEVCI/DUBROVOLSKI SURVEY": "Dobrovolski Survey", "AMAIT/LOPEZ DE VILLALOBOS": "Lopez De Villalobos Prospect", @@ -29,6 +30,7 @@ "APOYOTA/FLINTSTATION": "Flint Station", "APOYOTA/HAHNRELAY": "Hahn Relay", "AULIN/ALUIN ENTERPIRSE": "Aulin Enterprise", + "BALDUR/DUTTON STATION": DELETED, "BD+13 693/DRUMMOND`S PROGRESS": "Drummond's Progress", "BD+65 1846/SHARGIN BEACON": DELETED, "BOLG/MOXONS MOJO": "Moxon's Mojo", diff --git a/data/Station.csv b/data/Station.csv index 1e81fc1e..f9461c44 100644 --- a/data/Station.csv +++ b/data/Station.csv @@ -43,6 +43,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size '31 AQUILAE','Merchiston Terminal',4720,'?','M' '31 AQUILAE','Nearchus Hub',4646,'?','M' '31 AQUILAE','Russo Dock',4547,'?','L' +'34 PEGASI','Carpenter Hub',0,'?','?' +'34 PEGASI','Freud Terminal',0,'?','?' +'34 PEGASI','Goeschke Gateway',0,'?','?' '36 URSAE MAJORIS','Aristotle Platform',0,'?','?' '36 URSAE MAJORIS','Liwei Outpost',0,'?','?' '37 GEMINORUM','Chasles Port',0,'?','L' @@ -62,6 +65,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size '47 CETI','Glushko Station',600000,'?','L' '47 CETI','Kaufmanis Hub',600000,'?','L' '47 URSAE MAJORIS','Avdeyev Beacon',0,'?','?' +'49 D ORIONIS','Bell Station',0,'?','?' +'51 AQUILAE','Serebrov Station',0,'?','?' +'51 AQUILAE','Thirsk Station',0,'?','?' '54 G. ANTLIA','Boas Orbital',0,'?','?' '55 XI SERPENTIS','Bridges Landing',1123,'Y','M' '59 VIRGINIS','Hilmers Gateway',968,'Y','L' @@ -137,7 +143,10 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ADENETS','Poincare Gateway',56.7,'N','L' 'ADENETS','Sabine Gateway',203,'N','L' 'ADENETS','Wilkes Gateway',82.3,'N','L' +'ADEO','Cormack Dock',0,'?','?' +'ADEO','Dobrovolski City',0,'?','?' 'ADEO','Ramelli Dock',0,'?','?' +'ADEO','Vinci Hub',0,'?','?' 'ADLIRVANTAN','Stasheff Vision',0,'?','M' 'ADLIRVANTAN','Wagner Dock',170,'Y','M' 'ADRIATIKURU','Griffiths Dock',0,'?','?' @@ -257,6 +266,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ALYA','Rayhan Al-Biruni Ring',0,'?','?' 'ALYA','Zamyatin Enterprise',0,'?','?' 'ALYUTO','Levinson Vision',393,'N','M' +'AMAHU','Burbank Hub',0,'?','?' 'AMAHU','Clifford Station',0,'?','?' 'AMAIT','Lopez de Villalobos Prospect',0,'?','?' 'AMAIT','Oramus Legacy',0,'?','?' @@ -298,6 +308,10 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ANEMOI','Abasheli Point',0,'?','?' 'ANGI','Georg Bothe Beacon',171,'Y','M' 'ANGI','Khan Port',96.4,'N','M' +'ANGIRASA','Bergerac Mine',0,'?','?' +'ANINOHANU','Avicenna Refinery',0,'?','?' +'ANINOHANU','Bardeen Hanger',0,'?','?' +'ANINOHANU','Baroeen Hanger',0,'?','?' 'ANINOHINI','Griffith Orbital',0,'Y','L' 'ANLAVE','Bain Dock',3279,'N','M' 'ANLAVE','Brunton Gateway',73,'N','M' @@ -332,6 +346,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'APALA','Popper Port',1317,'Y','M' 'APALA','Walker Port',2004,'N','M' 'APALA','Wilson City',30,'N','L' +'APALAR','Svavarsson Terminal',0,'?','?' 'APATHAAM','Reamy Dock',1660,'Y','L' 'APHRA','Beckman Terminal',1961,'Y','?' 'APIAN YI','Fowler Platform',0,'N','M' @@ -352,7 +367,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ARANGORII','Shonin Station',0,'?','?' 'ARANGORII','Watt Enterprise',448645,'?','L' 'ARANGORII','Zhen Hub',0,'?','?' +'ARANKA','Walker Port',0,'?','?' 'ARAWN','Shute Settlement',0,'?','?' +'ARCTURUS','Alison City',0,'?','?' 'ARCTURUS','Fort Harrison',1547,'Y','L' 'ARDRAJ','Smith Relay',650,'Y','M' 'ARDRAJ','Wallace Orbital',469,'N','M' @@ -444,6 +461,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'B2 CARINAE','Mechain Vision',37895,'?','L' 'B2 CARINAE','Muller Orbital',37282,'?','L' 'B2 CARINAE','Secchi Hub',37896,'?','M' +'BA NARI','De Seversky Plant',0,'?','?' 'BAGA','Binet Enterprise',0,'N','M' 'BAGA','Goeschke Enterprise',0,'N','L' 'BAGA','Ochoa Port',0,'N','M' @@ -467,6 +485,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BALATU','Haise Dock',2400,'Y','L' 'BALATU','Parker Enterprise',0,'?','?' 'BALDUK','Cantor Terminal',0,'?','?' +'BALDUK','Dutton Station',0,'?','?' 'BALMUNG','Chongzhi City',0,'?','M' 'BALMUNG','Iben City',195,'Y','M' 'BALMUNG','Lyne Dock',0,'?','L' @@ -528,7 +547,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BD+33 2990','Bear Base',0,'?','?' 'BD+33 801','Apt Plant',0,'?','?' 'BD+34 1378','Vance Terminal',0,'?','?' -'BD+34 1740','Jordan Stop',0,'?','?' +'BD+34 1740','Jordan Stop',209287,'Y','M' 'BD+35 3145','Metcalf Vision',11600,'?','?' 'BD+38 3327','Lynn Base',3302,'?','?' 'BD+39 3048','Froude Settlement',0,'?','?' @@ -584,6 +603,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BD-02 4304','Newton Dock',8221,'Y','L' 'BD-10 4011','Sinclair Station',1179,'Y','L' 'BD-11 4280','Mitchell City',1781,'Y','L' +'BD-11 4932','Morukov Station',0,'?','?' 'BD-22 3573','Bohm Terminal',59,'Y','L' 'BD-22 3573','Forrester Station',264,'Y','L' 'BD-22 3573','Khayyam Orbital',138,'N','L' @@ -597,6 +617,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BEATIS','Vlamingh Hub',1618,'?','M' 'BEGOVANS','Bohm City',1266,'Y','M' 'BEGOVANS','Thomson Platform',898,'?','?' +'BELAGRO','Hermaszewski Station',0,'?','?' 'BELALANS','Ban Hub',0,'?','L' 'BELALANS','Boscovich Ring',78,'?','L' 'BELALANS','Fairey Vision',0,'?','?' @@ -604,6 +625,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BELALANS','Mandel Dock',0,'?','?' 'BELALANS','Powers Hub',0,'?','?' 'BELALANS','Shoemaker City',0,'?','?' +'BELARSUK','Kurland Hub',0,'?','?' 'BELINARA','Efremov City',400,'?','?' 'BELINARA','Hopkinson Orbital',544,'?','?' 'BELLINTANI','Kneale Dock',0,'?','?' @@ -614,6 +636,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BERKANAN','Schouten Platform',0,'?','?' 'BERONII','Carver Survey',0,'?','M' 'BERONII','Howard Dock',295,'Y','L' +'BERZITIBI','Selye Colony',0,'?','?' 'BETA CATONIS','Bent''s Gambit',177,'N','L' 'BETA CATONIS','Oliver Beacon',24,'Y','M' 'BETA COMAE BERENICES','Gresley Port',4736,'Y','L' @@ -666,11 +689,13 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BLATA','Gurragchaa Holdings',0,'?','?' 'BLATA','Nowak Landing',0,'?','?' 'BLATA','Sinclair Orbital',0,'?','?' +'BLODES','Linenger Station',0,'?','?' 'BOBADZIHOZO','Barr Refinery',404,'N','M' 'BOBADZIHOZO','Bolkow Colony',577,'N','M' 'BODB DEARG','Farghani Prospect',0,'?','?' 'BODB DEARG','Qushji Landing',12,'N','L' 'BODB DJEDI','Chwedyk Station',1812,'Y','L' +'BODHARAIL','MacCready Vision',0,'?','?' 'BODHARAIL','Zeldovich Port',1895,'?','L' 'BOGA','Thorne Mine',0,'?','?' 'BOGATIKU','Rotsler Enterprise',0,'?','?' @@ -718,6 +743,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BUGAS','Oliver Dock',0,'?','M' 'BUGAS','Oliver Ring',0,'?','L' 'BUGAS','Wilhelm Terminal',52,'Y','L' +'BUGAYAMAN','Asprin Orbital',0,'?','?' 'BUNDA','Cori Orbital',814,'Y','M' 'BUNDA','Faraday Ring',358,'Y','L' 'BUNDA','Walz Dock',617,'N','M' @@ -725,6 +751,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'BUNUS','Jones Freeport',321,'Y','M' 'BUNUVIVIA','Ellison Enterprise',1028,'Y','L' 'BUNUVIVIA','Greenland City',1444,'Y','M' +'BW PHOENIX','Barnwell Stop',0,'?','?' +'BZ CETI','Coleman Ring',0,'?','?' 'CADUBI','Leydenfrost Hub',0,'?','?' 'CADUPI','Grunsfeld Station',0,'?','?' 'CADUPI','Laming Terminal',0,'?','?' @@ -735,6 +763,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CAERUS','Whymper City',0,'?','?' 'CAIHE','Rennie Hub',0,'?','?' 'CAILL REDDI','Armstrong Station',0,'?','?' +'CAILL REDDI','Binnie Mines',0,'?','?' 'CALEA','Baracchi City',0,'?','M' 'CALEA','Krenkel Terminal',0,'?','M' 'CALEA','Mechain Prospect',0,'?','M' @@ -762,6 +791,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CARTHAGE','Marker Depot',105,'?','L' 'CARTHAGE','Port Elissa',832,'?','L' 'CARTHAGE','Radwar Enterprises 1941',105,'?','L' +'CARTOQ','Avdeyev Settlement',0,'?','?' 'CARTU','Anderson Vision',0,'?','M' 'CARTU','Giraud Ring',0,'N','L' 'CARTU','Hughes Gateway',0,'?','M' @@ -788,6 +818,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CD-35 9019','Liwei Orbital',8082,'Y','L' 'CD-35 9019','Scobee Terminal',544,'?','L' 'CD-35 9019','Wright City',332,'?','L' +'CD-37 641','Ball Dock',0,'?','?' +'CD-39 3269','Fiennes Gateway',0,'?','?' 'CD-40 395','Merritt Dock',0,'?','?' 'CD-40 395','Oort Port',0,'?','?' 'CD-46 12902','Searfoss Orbital',160,'Y','?' @@ -796,11 +828,14 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CD-52 187','Sopwith Port',73,'N','L' 'CD-52 9732','Dyr Terminal',0,'?','M' 'CD-52 9732','Roberts Port',184,'Y','L' +'CD-53 136','Lyne Holdings',0,'?','?' +'CD-53 136','Theodor Winnecke Station',0,'?','?' 'CD-54 471','Cochrane Platform',0,'?','M' 'CD-54 471','Kramski-Putter',506,'Y','L' 'CD-58 538','Hornby Station',0,'?','?' 'CD-62 136','Apianus Dock',139,'?','L' 'CD-62 136','Duque Gateway',139,'?','L' +'CD-62 1454','Baille City',0,'?','?' 'CD-63 201','Hogg Terminal',140,'?','L' 'CD-63 201','Mason Station',43.8,'?','L' 'CD-63 201','Struve Gateway',76.6,'?','L' @@ -811,6 +846,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CD-65 76','Jack E. Stuart Memorial Spaceport',540,'N','L' 'CD-66 2585','Dahm City',2299,'N','M' 'CD-66 2585','Witt Terminal',1754,'N','L' +'CD-72 190','Phillips Terminal',0,'?','?' 'CD-73 253','Robinson Station',0,'?','M' 'CD-75 661','Kirk Dock',339,'N','L' 'CD-75 661','Neujmin Station',0,'?','L' @@ -836,6 +872,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CERKTONDHS','Buchli Terminal',74,'?','?' 'CERKTONDHS','Hahn Orbital',73,'Y','?' 'CERNO','Kanwar Enterprise',0,'?','L' +'CERNOBOG','Kirkwood Vision',0,'?','?' +'CF 464','Bartini Enterprise',0,'?','?' +'CH''IN YANG','Dumont Terminal',0,'?','?' 'CH''UANGA','Barr City',3524,'Y','L' 'CHAAC','Antonio de Andrade',0,'?','?' 'CHAAC','Lem Dock',0,'?','?' @@ -857,6 +896,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CHAPSUGAIBO','Borrego Port',1986,'?','M' 'CHAPSUGAIBO','Schlesinger City',1297,'N','L' 'CHARA','Reilly Refinery',0,'?','?' +'CHARUNDER','Chomsky Terminal',0,'?','?' 'CHAXIRAXI','Brother''s Progress',0,'?','?' 'CHAXIRAXI','Liska Dock',0,'?','?' 'CHECHEHET','Desargues Works',0,'?','?' @@ -885,11 +925,12 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CHIH ZHUA','Anthony Enterprise',0,'?','L' 'CHIH ZHUA','Stiegler Vision',0,'?','M' 'CHIH ZHUA','Walker Orbital',612,'Y','M' -'CHIMBA','Harris Station',0,'?','?' -'CHIMBA','Henry Orbital',9800,'?','?' -'CHIMBA','Hurley Port',9781,'?','?' -'CHIMBA','Nikolayev Hub',0,'?','?' -'CHIMBA','Thornton Hub',0,'?','?' +'CHIMBA','Harris Station',9812,'?','L' +'CHIMBA','Henry Orbital',9800,'?','M' +'CHIMBA','Hurley Port',9781,'?','L' +'CHIMBA','Nikolayev Hub',9782,'?','L' +'CHIMBA','Thornton Hub',9772,'N','L' +'CHIRA','Dufay Vision',0,'?','?' 'CHNOUK','Van Scyoc Horizons',0,'?','?' 'CHNUMANDR','Weston Relay',0,'?','?' 'CHONGQUAN','Eisele Park',0,'?','?' @@ -915,6 +956,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CLAYAKARMA','Sinclair Port',331,'?','?' 'CM DRACONIS','Anderson Escape',0,'?','?' 'COASTAKAL','Dolgov Vision',0,'?','?' +'COCIJO','Alkaabi',0,'?','?' 'COCKAIGNE','Ottley''s Landing',226,'N','L' 'CODORAIN','Cormack Hub',141,'N','L' 'CODORAIN','Dean Station',957,'N','M' @@ -974,6 +1016,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'CPD-70 2439','Weyn Dock',2026,'Y','L' 'CPO 24','Heng Terminal',0,'?','?' 'CR DRACO','Strekalov Settlement',0,'?','?' +'CR DRACONIS','Andreas Horizons',0,'?','?' 'CROWFOR','Ewald Station',0,'?','?' 'CROWFOR','Szebehely Port',0,'?','?' 'CT TUCANAE','Arantilae',0,'?','?' @@ -1029,6 +1072,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'DELPHIN','Kondratyev Orbital',0,'?','?' 'DELPHIN','Swigert Orbital',0,'?','?' 'DELTA DORADUS','Tousey Dock',7864,'?','L' +'DELTA EQUULEI','Bisson Hub',0,'?','?' 'DELTA PAVONIS','Hooper Relay',195,'Y','L' 'DELTA PAVONIS','Schneider Orbiter',0,'?','M' 'DELTA PAVONIS','Stephenson Orbital',1206,'Y','M' @@ -1040,6 +1084,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'DENEBOLA','Dirac Terminal',3190,'Y','L' 'DENEBOLA','Volkov Dock',0,'?','?' 'DERRIM','Regiomontanus Hub',0,'?','?' +'DETTA','Schwann Orbital',0,'?','?' 'DEURINGAS','Fung Orbital',0,'?','L' 'DEURINGAS','Sagan Station',0,'?','?' 'DEURINGAS','Shukor Hub',801,'Y','L' @@ -1128,6 +1173,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'EGM 823','Cabral Terminal',0,'?','?' 'EGOVAE','Endate Market',80,'N','L' 'EGOVAE','Van Den Bergh Orbital',105,'Y','L' +'EHI','Freud Colony',0,'?','?' 'EJAGALKI','Hudson Settlement',38,'Y','M' 'EKONIR','Kubasov Orbital',160,'N','M' 'EKONIR','Morey Vision',108,'N','M' @@ -1158,6 +1204,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'EPSILON FORNACIS','Wolszczan Port',0,'?','M' 'EPSILON INDI','Mansfield Orbiter',140,'?','?' 'EPSILON INDI','Perry Depot',192,'N','L' +'EPSILON SERPENTIS','Kimbrough Orbital',0,'?','?' 'EQ PEGASI','Merbold Ring',0,'?','?' 'ER 8','Cockrell Prospect',2308,'Y','M' 'ERANIN','Azeban City',295,'Y','L' @@ -1178,6 +1225,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ERIVIA','Cottenot Hub',299680,'?','L' 'ERIVIA','Stevenson City',299690,'?','M' 'ERLIK','Reynolds Terminal',0,'?','M' +'ERLIK','Reynolos Terminal',0,'?','?' 'ESHU','Shajn Terminal',1742,'N','L' 'ESUMINDII','Nourse City',1800,'N','L' 'ESUSEKU','Clifford Hub',0,'?','?' @@ -1192,6 +1240,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ETA CASSIOPEIAE','Morgue''s Mortuary',2528,'?','L' 'ETA CEPHEI','Reilly Plant',1009,'N','M' 'ETA CORVI','Ivins Plant',0,'?','?' +'ETA CRUCIS','Midgeley Mines',0,'?','?' +'ETA CRUCIS','Polyakov Survey',0,'?','?' 'ETA DRACONIS','Zahn Orbital',0,'?','?' 'ETA SERPENTIS','Baker Enterprise',0,'?','M' 'ETA SERPENTIS','Carver Station',0,'?','L' @@ -1201,6 +1251,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ETA SERPENTIS','Qurra Ring',0,'?','L' 'ETA SERPENTIS','Ray Dock',662,'Y','L' 'ETHGREZE','Bloch Station',351,'Y','L' +'EUBOA','Foreman Orbital',0,'?','?' 'EULEXIA','Mad J Wagar''s',105,'Y','L' 'EURIPUS','Blalock Horizons',2769,'Y','M' 'EURYALE','Eg Main Hq',888,'Y','L' @@ -1210,6 +1261,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'EVERGREEN','Kazantsev Ring',144,'?','?' 'EVERGREEN','McCaffrey Enterprise',144,'?','?' 'EXCESSIS','Fiennes Enterprise',0,'?','?' +'EXIOCE','Fort Lawrence',0,'?','?' 'FAROWALAN','Bamford City',0,'?','?' 'FAUST 3566','Murphy Gateway',0,'?','?' 'FAUST 3566','Perry Dock',0,'?','?' @@ -1255,6 +1307,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'FRIGAHA','Engle Orbital',75,'N','M' 'FRIGAHA','Onizuka Landing',136,'N','M' 'FRIGGIRAWI','Griffin Station',0,'?','?' +'FRIGGIRAWI','Ivanishin Platform',0,'?','?' 'FRIGUR','Barba Hub',0,'?','?' 'FRIGUR','Illy Landing',0,'?','?' 'FT CETI','Greenland City',1776,'?','L' @@ -1279,6 +1332,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'G 123-49','Herreshoff Freeport',6,'Y','M' 'G 123-7','Burgess Refinery',1291,'N','L' 'G 123-7','Rubruck Refinery',1024,'N','M' +'G 126-31','Dobrovolski Ring',0,'?','?' +'G 138-40','Leonov Dock',0,'?','?' +'G 139-3','O''Connor Dock',0,'?','?' 'G 139-50','Filipchenko City',7,'N','L' 'G 139-50','Schweickart Holdings',1911,'N','M' 'G 14-6','Yamazaki Orbital',0,'?','?' @@ -1324,6 +1380,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'GABRACENI','Stanley Station',195,'N','L' 'GAKIUTL','Bykovsky Orbital',286,'Y','M' 'GALANDANDES','Anderson Landing',2399,'N','L' +'GALI','Chadwick Dock',0,'?','?' 'GAMMA CORONAE AUSTRINAE','Linteris Port',311,'?','?' 'GAMMA CORONAE AUSTRINAE','Shuttleworth Hub',223,'Y','?' 'GAMMA DORADUS','Wang City',40000,'?','?' @@ -1376,8 +1433,10 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'GLIESE 563.1','Matteucci Ring',328,'Y','L' 'GLIESE 67.2','Palisa Terminal',879,'N','M' 'GLIESE 67.2','Urata Colony',904,'N','M' +'GLIESE 868','Bacon Port',0,'?','?' +'GLIESE 868','Braun Station',78,'N','L' 'GLIESE 868','Houssay Terminal',155,'Y','L' -'GLIESE 868','Reilly Enterprise',0,'?','?' +'GLIESE 868','Reilly Enterprise',57,'?','M' 'GLIESE 875','Soddy Settlement',599,'N','?' 'GLIESE 875','Wilson Hanger',419,'N','?' 'GLIESE 900.1','Anderson Terminal',0,'?','L' @@ -1403,6 +1462,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'GONGALUNGUL','Andoyer Station',61,'N','L' 'GONGALUNGUL','Edmondson Port',0,'?','M' 'GONGALUNGUL','Van Der Riet Woolley Ring',0,'?','M' +'GOOHEIMAR','Brady Horizons',0,'?','?' 'GORGON','Brandenstein Station',0,'?','?' 'GORGON','Burnet City',0,'?','?' 'GORGON','Ray Hub',0,'?','?' @@ -1418,6 +1478,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'GRAUDIKA','Kidd Plant',221,'N','L' 'GREE','Coulter Hub',11,'N','M' 'GREE','Hopkinson Port',11,'?','?' +'GRIDGE','Sitterly Orbital',0,'?','?' 'GROOMBRIDGE 1618','Cady Market',169,'Y','L' 'GROOMBRIDGE 1618','Franklin Ring',0,'?','?' 'GROOMBRIDGE 1618','Gernhardt Hub',0,'?','?' @@ -1430,7 +1491,11 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'GUARAS','Doi Colony',0,'?','?' 'GUARAS','Hawley Port',0,'?','?' 'GUARAS','Klimuk Ring',0,'?','?' +'GUAYAMBAAN','Jones Ring',0,'?','?' +'GUAYAMBAAN','Willis Station',0,'?','?' 'GUI RENES','Hopkins Port',0,'?','?' +'GUI WANDE','Aikin Horizons',0,'?','?' +'GUI WANDE','Clement Station',0,'?','?' 'GULNGABA','Galindo Dock',0,'?','?' 'GULNGABA','Rawat Port',0,'?','?' 'GUN','Gotlieb Refinery',1579,'Y','M' @@ -1462,6 +1527,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HALAI','Bartoe Terminal',0,'?','?' 'HALAI','Cenker Station',0,'?','?' 'HALAI','Chaudhary Enterprise',0,'?','?' +'HAMBULA','Linenger Enterprise',0,'?','?' 'HAMBULA','Qureshi Hub',0,'?','?' 'HANG PO','Ericsson Dock',104,'Y','?' 'HANG PO','Marshburn Hub',24.3,'N','?' @@ -1493,6 +1559,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HAYA UTRES','Kranz Station',10,'N','M' 'HDS 1879','Kronecker Dock',3251,'N','M' 'HDS 1879','Shaikh Dock',3292,'Y','L' +'HDS 3215','Lloyd Wright Orbital',0,'?','?' 'HE BO','Krylov Ring',1622,'?','L' 'HE BO','Roddenberry Station',2122,'?','M' 'HE PORA','Bisson Enterprise',0,'?','?' @@ -1523,6 +1590,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HEPA','Hendel Refinery',0,'?','?' 'HEPA','Miller Refinery',0,'?','?' 'HERENGUL','Shapley Horizons',241,'N','M' +'HERTHANS','Henry Vision',0,'?','?' 'HERTHANS','Lavochkin Station',1509,'N','M' 'HERU','Caselberg''s Claim',1303,'?','M' 'HERZ 10688','Elvstrom Silo',0,'?','M' @@ -1552,6 +1620,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HIP 114135','Karlsefni Settlement',3500,'?','?' 'HIP 114135','Lockwood Prospect',3500,'?','?' 'HIP 114367','Borrego Orbital',1493,'?','L' +'HIP 115275','Arp Dock',0,'?','?' 'HIP 115888','Pilyugin Landing',0,'?','?' 'HIP 116436','Davies Orbital',659,'?','L' 'HIP 116436','Payne-Gaposchkin Station',2817,'?','L' @@ -1559,6 +1628,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HIP 12361','Comper Ring',1679,'N','L' 'HIP 12361','Gamow Terminal',326,'N','M' 'HIP 12361','Vess Gateway',1686,'N','M' +'HIP 12716','Boss Station',0,'?','?' 'HIP 13841','Chandra Platform',1997,'N','L' 'HIP 13841','May Orbital',2599,'?','M' 'HIP 14007','Lozino-Lozinskiy Colony',1850,'N','L' @@ -1595,16 +1665,19 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HIP 24133','Kelly Enterprise',2954,'N','L' 'HIP 2422','Shargin Port',0,'?','?' 'HIP 24655','Hogan Dock',0,'?','?' +'HIP 27058','Carrasco Ring',0,'?','?' 'HIP 27986','Webb Port',0,'?','?' 'HIP 41181','Andersson Station',523000,'?','L' 'HIP 41181','Garcia Port',0,'?','L' 'HIP 41955','Lukyanenko Platform',23,'Y','M' 'HIP 41955','Nixon Landing',23,'N','M' +'HIP 42371','Hopper Beacon',513,'?','M' +'HIP 42371','Koch Settlement',905,'?','M' 'HIP 43670','Aldiss Ring',32694,'?','L' 'HIP 43670','Emshwiller Station',32735,'?','M' 'HIP 43670','Holden Dock',32789,'?','M' 'HIP 43670','Hoyle Orbital',32915,'?','L' -'HIP 43670','Menezes City',553,'?','M' +'HIP 43670','Menezes City',553,'N','M' 'HIP 43670','Oramus Terminal',32914,'?','L' 'HIP 43670','Rochon Port',32914,'?','M' 'HIP 43670','Shaara Gateway',374,'Y','L' @@ -1619,17 +1692,21 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HIP 61505','Lie Settlement',2426,'Y','M' 'HIP 61505','Lobachevsky Freeport',2393,'N','M' 'HIP 62536','Onnes Orbital',0,'?','?' +'HIP 65636','Macleod Station',0,'?','?' +'HIP 65636','Rusch Orbital',0,'?','?' 'HIP 6703','Marsden Port',1416,'N','L' 'HIP 6703','Regiomontanus City',3454,'N','M' 'HIP 67389','Barentsz Station',0,'?','?' 'HIP 67389','Cook Terminal',892,'N','?' 'HIP 68734','Griffin Dock',117,'?','L' +'HIP 68900','Nylund Beacon',0,'?','?' 'HIP 69913','Kondratyev Outpost',0,'?','?' 'HIP 69913','Konoratyev Outpost',0,'?','?' 'HIP 69999','Charnas Terminal',282,'?','L' 'HIP 69999','Macomb City',375,'?','M' 'HIP 70142','Bruce Terminal',2567,'?','L' 'HIP 71247','Fremion Port',1482,'?','L' +'HIP 72235','Currie Horizons',0,'?','?' 'HIP 72353','Caidin Station',0,'?','?' 'HIP 72353','Doyle Dock',0,'?','?' 'HIP 72600','Wnuk-Lipinski Enterprise',2686,'Y','L' @@ -1688,6 +1765,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HORAE','Haber Hub',4668,'Y','?' 'HORAE','McDivitt Dock',7961,'Y','?' 'HOU HSIEN','Hill Hub',589,'N','L' +'HR 1064','Nakano Market',0,'?','?' 'HR 1254','Ellis Orbital',1264,'?','?' 'HR 1254','Ivanishin City',2160,'?','?' 'HR 1254','Klimuk City',302,'?','?' @@ -1704,6 +1782,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HR 1475','Ortiz Moreno City',8917,'?','L' 'HR 1475','Tully Vision',0,'?','?' 'HR 1475','Youll Terminal',223934,'?','M' +'HR 1717','Martins Dock',0,'?','?' 'HR 244','Garneau Port',792,'N','L' 'HR 244','Hart Port',928,'N','M' 'HR 244','Kepler City',2264,'Y','L' @@ -1719,6 +1798,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HR 5529','Chadwick Terminal',1354,'?','L' 'HR 5529','Poindexter Gateway',1940,'?','M' 'HR 5550','Wohler Gateway',740,'?','L' +'HR 571','Shavyrin Terminal',0,'?','?' 'HR 6091','Gooch Colony',160,'N','M' 'HR 6091','Hadfield Plant',288,'N','M' 'HR 6091','Pogue Plant',205,'N','L' @@ -1769,10 +1849,13 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'HYPERION','Ivens Ring',0,'?','?' 'I BOOTIS','Chango Dock',1095,'Y','L' 'I BOOTIS','Maher Stellar Research',20934,'Y','M' +'I CARINAE','Somerset Station',0,'?','?' 'IAPO VUH','Favier Hub',0,'N','L' 'ICONTI SHI','Dyson Station',25,'N','M' 'ICONTI SHI','Jones Gateway',14,'N','L' 'ICONTIA','Betancourt Refinery',0,'?','?' +'IDUNUNN','Frobisher City',0,'?','?' +'IDUNUNN','Quinn Gateway',0,'?','?' 'IGAL','Bouvard Hub',0,'?','?' 'IGAL','Hirayama Terminal',0,'?','?' 'IGAL','Shapley Dock',0,'?','?' @@ -1789,6 +1872,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'INDRAMASCI','Shepard Settlement',184119,'N','M' 'INDRIA','Hughes-Fulford Beacon',157,'Y','M' 'INDRIANS','Watts Dock',0,'?','?' +'INKTASA','Huygens City',0,'?','?' 'INOVAE','Clark Settlement',63,'N','M' 'INOVAE','Ryman Station',705,'N','L' 'INUPIATES','Ashman Station',31,'N','L' @@ -1798,6 +1882,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'IOTA HYDRI','Babcock Vision',15175,'N','L' 'IOTA HYDRI','Iben Hub',1097,'N','L' 'IOTA PERSEI','Walker City',458,'Y','L' +'IOTA PISCIUM','Virts City',0,'?','?' 'IPETERAI','Crown Camp',4101,'N','M' 'IRANADHISA','Corte-Real Market',0,'?','?' 'IRANADHISA','Kingsmill Port',0,'?','?' @@ -1858,6 +1943,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'JUKU','Ings Colony',710,'?','M' 'JULANGGARRI','Willis City',0,'?','?' 'JUMUZGO','Artsutanov Station',0,'?','?' +'JUNGA','Curtiss Station',0,'?','?' 'JURA','Baynes Terminal',0,'?','?' 'JURA','Brorsen Installation',0,'?','?' 'JUROKKJU','Nakamura Port',2394,'?','L' @@ -1882,6 +1968,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KAIAKUL','Barlowe Station',580,'?','L' 'KAITSAN','Guidoni Legacy',797,'Y','M' 'KAITSAN','McCulley Relay',797,'N','M' +'KALEDONI','Fung Platform',0,'?','?' 'KALIKI','Kaluta Prospect',1683,'?','M' 'KALIKI','Oren City',21,'?','L' 'KALIKI','Trimble Station',1172,'?','M' @@ -1935,6 +2022,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KAUS BOREALIS','Libby Port',2554,'Y','L' 'KAUS BOREALIS','Manakov Enterprise',1966,'N','L' 'KAUSANLA','Walter Enterprise',279,'Y','M' +'KAUSHA','Narlikar Port',0,'?','?' 'KAUSHAIRUP','Agassiz Station',23,'Y','L' 'KEBEL YEH','Ohm Orbital',0,'?','?' 'KEDONES','Bethke Colony',0,'?','?' @@ -1948,6 +2036,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KELTIM','Sitterly Orbital',30,'N','L' 'KELTIM','Tomita Hub',354,'?','M' 'KERIES','Derrickson''s Escape',252,'Y','L' +'KHAMPTI','Babcock Gateway',0,'?','?' 'KHANCI','Bloomfield Colony',0,'?','?' 'KHANCI','Tani Colony',0,'?','?' 'KHERNIDJAL','Brooks Enterprise',584,'?','M' @@ -1972,6 +2061,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KIRRAM','Griffith Horizons',136,'N','M' 'KISHPAKHO','Crown City',0,'?','?' 'KIVAH','Sadi Carnot Ring',42,'Y','L' +'KOJIN','Delany Freeport',0,'?','?' 'KOKOIMUDJI','Quinn Orbital',0,'?','?' 'KOKOIMUDJI','Siodmak Station',0,'?','?' 'KOKOIMUDJI','Tem Port',0,'?','?' @@ -1986,6 +2076,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KOMOVOY','Gentle Dock',1041,'N','M' 'KOMOVOY','Silves Dock',7,'Y','L' 'KONGGA','Laplace Ring',253,'Y','L' +'KONGKOMISSO','Glenn Horizons',0,'?','?' 'KONGOLOCA','Resnik Ring',1947,'Y','L' 'KORAIK','Barba Orbital',7,'N','?' 'KORAIK','Locke Works',1301,'Y','?' @@ -2016,6 +2107,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KREMAINN','Volta Station',5281,'N','M' 'KREMAINN','Wohler Terminal',2864,'Y','L' 'KRUGER 60','Kepler Gateway',6536,'Y','L' +'KUAN GU','McMillan Terminal',0,'?','?' 'KUAN TI','McCool Terminal',0,'?','M' 'KUAN TI','Niemeyer Hub',0,'?','L' 'KUAN TI','Truly Terminal',0,'?','M' @@ -2045,6 +2137,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'KURMODIAE','Virchow Dock',18000,'?','?' 'KURU','Carstensz Dock',0,'?','?' 'KURU','Weiss Gateway',0,'?','?' +'KURUAGES','Hernandez Market',0,'?','?' +'KURUI GUBI','Dedekind City',0,'?','?' 'KURUI GUBI','Ellis Landing',0,'?','?' 'KURUNDULLI','Hay Beacon',0,'?','?' 'KURUNTABAL','Van Houten Survey',10,'N','M' @@ -2070,6 +2164,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LACAILLE 9352','Kirtley Platform',0,'?','M' 'LACHANGU','Adelman Dock',0,'?','M' 'LACHANGU','Ruppelt Station',0,'?','M' +'LACHELKA','Ferguson Survey',0,'?','?' 'LAEDLA','Gusmao Prospect',0,'?','?' 'LAGUNNOSSO','Bulgarin Terminal',424,'N','M' 'LAGUNNOSSO','Wilkes Survey',583,'N','M' @@ -2124,6 +2219,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LDS 2314','McDonald Colony',0,'?','?' 'LDS 413','Borlaug Hub',38685,'?','M' 'LDS 413','Germar Terminal',34095,'?','L' +'LDS 883','Smith Reserve',0,'?','?' 'LEESTI','George Lucas',255,'Y','L' 'LEESTI','Kolmogorov Hub',2964,'?','M' 'LEI MANAKO','Debye Port',0,'?','?' @@ -2152,6 +2248,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LFT 1664','Teng-Hui Colony',0,'?','?' 'LFT 1667','Shkaplerov Mines',272,'?','?' 'LFT 1748','Longyear Port',0,'?','?' +'LFT 1748','Otiman Dock',0,'?','?' 'LFT 37','Savinykh Hub',376,'Y','L' 'LFT 392','Tudela Installation',0,'?','?' 'LFT 424','England City',0,'?','?' @@ -2192,6 +2289,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LHS 1101','Helms Ring',1095,'N','M' 'LHS 1101','Ray Gateway',749,'Y','L' 'LHS 1101','Zamka Station',439,'N','M' +'LHS 1110','Iben City',0,'?','?' 'LHS 115','Aleksandrov Gateway',72,'Y','L' 'LHS 1163','Carson Enterprise',83001,'N','?' 'LHS 1163','Hunziker Terminal',82881,'Y','L' @@ -2236,6 +2334,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LHS 1951','Yegorov Platform',0,'?','?' 'LHS 2029','McKay Legacy',489,'Y','M' 'LHS 2029','Skvortsov Landing',1264,'Y','M' +'LHS 2037','Meikle Dock',0,'?','?' 'LHS 2088','Comer''s Inheritance',0,'?','?' 'LHS 21','Quimper Ring',0,'?','?' 'LHS 214','Laird Vision',0,'?','?' @@ -2246,14 +2345,18 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LHS 2233','Gagnanorbital',0,'?','?' 'LHS 2233','O''Donnell Survey',0,'?','?' 'LHS 229','Thagard Dock',0,'?','?' +'LHS 2310','Fuchs Hub',0,'?','?' 'LHS 2310','Herbert Market',0,'?','?' +'LHS 2310','Jakes Hub',0,'?','?' 'LHS 2310','Levy Hub',0,'?','?' 'LHS 2310','Macleod Station',0,'?','?' +'LHS 2310','McCaffrey Terminal',0,'?','?' 'LHS 2310','Waldrop Gateway',0,'?','?' 'LHS 2317','Cook Refinery',987,'Y','M' 'LHS 2337','Clayton Works',0,'?','?' 'LHS 2337','Malocello Terminal',0,'?','?' 'LHS 2363','Kennan Platform',0,'?','?' +'LHS 2363','Pontes Installation',0,'?','?' 'LHS 2370','Creighton Gateway',20,'Y','L' 'LHS 2370','Leavitt Hub',1735,'?','M' 'LHS 2370','Molina Terminal',2507,'?','M' @@ -2346,9 +2449,11 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LHS 351','Brunel Hub',0,'?','?' 'LHS 3531','Mining Station 1',223,'Y','L' 'LHS 3549','Baydukov Base',0,'?','?' +'LHS 3549','Carey Station',0,'?','?' 'LHS 355','Crown Terminal',0,'?','?' 'LHS 355','Foucault Landing',0,'?','?' 'LHS 355','Ramelli City',0,'?','?' +'LHS 3577','Elgin Terminal',0,'?','?' 'LHS 3586','Novitski Survey',0,'?','?' 'LHS 3631','Currie Hub',0,'?','?' 'LHS 369','Cavendish Port',0,'?','?' @@ -2369,7 +2474,10 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LHS 391','Savinykh Works',0,'?','?' 'LHS 397','Zillig Depot',0,'?','?' 'LHS 4032','Asher Hub',1115,'Y','L' +'LHS 411','Al Saud Station',0,'?','?' 'LHS 411','Kuhn Colony',0,'?','?' +'LHS 411','Shuttleworth Platform',0,'?','?' +'LHS 411','Walker Colony',0,'?','?' 'LHS 417','Gernhardt Camp',404,'Y','M' 'LHS 417','WCM Transfer Orbital',0,'?','?' 'LHS 435','Wallis Mines',1649,'N','M' @@ -2435,6 +2543,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LONGHUS','Karachkina Prospect',60000,'N','M' 'LOPU MARIS','Garan Settlement',0,'?','?' 'LOPU MARIS','Messerschmid Outpost',0,'?','?' +'LOUGUALA','Akers Port',0,'?','?' 'LOUGUALA','Mcmullen City',2,'Y','L' 'LOVEDU','Novitski Point',1214,'Y','M' 'LP 102-320','Shepard Hub',0,'?','?' @@ -2500,6 +2609,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LP 552-48','Anning Port',0,'?','M' 'LP 552-48','Virtanen Terminal',370,'N','L' 'LP 581-36','McKay Gateway',0,'?','?' +'LP 635-46','Cleave Plant',0,'?','?' +'LP 635-46','Lyakhov Settlement',0,'?','?' 'LP 64-194','Longyear Survey',0,'?','?' 'LP 673-13','Brown Orbital',0,'?','?' 'LP 675-76','Andrews Arena',446,'Y','M' @@ -2546,6 +2657,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LP 933-24','Alfven Platform',13,'N','M' 'LP 940-115','May City',0,'?','?' 'LP 98-132','Freeport',0,'?','?' +'LP 98-132','Prospect Five',0,'?','?' 'LP DRACONIS','McDivitt Settlement',0,'?','?' 'LPM 26','Hirn Prospect',1250,'N','M' 'LSE 239','Makarov Station',0,'?','?' @@ -2600,6 +2712,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LTT 15574','Descartes Gateway',387,'N','M' 'LTT 15574','Haxel Port',603,'Y','L' 'LTT 15574','Yaping Dock',1297,'N','M' +'LTT 15587','Gresley Port',0,'?','?' 'LTT 1572','Young Dock',0,'?','?' 'LTT 1581','Keyes Retreat',341,'Y','M' 'LTT 1582','Pimi Ring',0,'?','?' @@ -2693,13 +2806,16 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LTT 7548','Hutton City',1323,'N','M' 'LTT 7903','Lyakhov City',0,'?','?' 'LTT 8190','Rich Terminal',0,'?','?' +'LTT 8456','Chadwick Installation',0,'?','?' 'LTT 9097','Fox Gateway',921,'N','L' 'LTT 9097','Trujillo Terminal',2948,'?','M' 'LTT 9104','Levi-Montalcini Terminal',16739,'N','M' 'LTT 9104','White Enterprise',16738,'Y','L' +'LTT 911','Jokester''s Station',0,'?','?' 'LTT 9455','Goonan Station',0,'?','M' 'LTT 9455','O''Leary Vision',15,'N','L' 'LTT 9455','Shaikh Horizons',0,'?','M' +'LTT 9663','Bradley Survey',0,'?','?' 'LTT 970','Bessel Dock',0,'?','M' 'LTT 970','McDermott City',0,'?','M' 'LTT 970','Suzuki Enterprise',0,'?','L' @@ -2726,6 +2842,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LUGGERATES','Stewart Settlement',0,'?','?' 'LUGH','Adamson Enterprise',3212,'?','M' 'LUGH','Balandin Gateway',55,'?','L' +'LUGH','Balanoin Gateway',0,'?','?' 'LUGH','Cavendish Ring',39,'Y','L' 'LUGH','Hartsfield Market',215,'?','L' 'LUGH','Knight Dock',90,'?','L' @@ -2737,6 +2854,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'LUHMAN 16','Jenner Orbital',10,'Y','M' 'LULUWALA','Blenkinsop Settlement',353,'N','M' 'LUMANATA','Matthaus Olbers Colony',663,'N','?' +'LUNDJI','MacKellar Orbital',0,'?','?' 'LUO WANG','Addams Camp',0,'N','?' 'LUYTEN 674-15','Nobleport',0,'?','L' 'LUYTEN 674-15','Sinclair Relay',0,'?','?' @@ -2797,6 +2915,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'MANDRA','Dunlop Terminal',124243,'?','L' 'MANDRA','Neujmin Port',123269,'?','M' 'MANDRA','Shklovsky Terminal',123271,'?','M' +'MANISSYET','Stebler Ring',0,'?','?' +'MANNODAVA','Ali Port',0,'?','?' +'MANNODAVA','Aliport',0,'?','?' 'MANNONA','Thornycroft Penal Colony',0,'?','?' 'MANTXE','Carpini Station',503,'?','?' 'MANTXE','De Sousa Ring',359,'Y','L' @@ -2811,6 +2932,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'MARIMPT','Longyear Mines',579,'?','L' 'MARIMPT','Williams Port',579,'?','?' 'MARKI','Ahnert-Rohlfs Terminal',42,'Y','L' +'MARRALLANG','Busemann Gateway',0,'?','?' +'MARRALLANG','McMillan Ring',0,'?','?' +'MARRALLANG','Pajdusakova Gateway',0,'?','?' 'MATA','Cayley Gateway',11843,'Y','L' 'MATIKUOLUK','Oluwafemi Terminal',6784,'Y','L' 'MATUCAE','Dumont Survey',0,'Y','M' @@ -2831,6 +2955,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'MAYORUBAND','Atkov Beacon',265,'?','M' 'MAYORUBAND','Klimuk Terminal',434,'?','M' 'MAZAHUN','Arnold Dock',15669,'N','L' +'MAZU','Jacquard Terminal',0,'?','?' 'MBAY','Patterson Dock',0,'?','?' 'MBUKURAVI','Fullerton Horizons',0,'?','?' 'MCC 445','Aksyonov Orbital',0,'?','?' @@ -2862,6 +2987,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'MEGREZ','Godel Dock',27003,'Y','L' 'MEGREZ','Hudson Enterprise',27277,'N','L' 'MEGREZ','Panshin Terminal',27363,'Y','L' +'MEHITA','Heyerdahl Depot',0,'?','?' 'MEHUA','Bennett Port',0,'?','?' 'MEIDUBI','Arkwright City',35384,'?','M' 'MEIDUBI','Carson Orbital',35463,'?','L' @@ -2882,6 +3008,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'MELIONTIT','Dawson City',1338,'N','M' 'MELIONTIT','Littrow Ring',1676,'N','M' 'MENAMBE','Beadle Settlement',230,'Y','M' +'MENKENT','Cenker Dock',0,'?','?' 'MENTSUCHUA','Hulse Holdings',0,'?','M' 'MERAK','Bottego Installation',384771,'N','L' 'MIAO THIXO','Plante Enterprise',0,'?','?' @@ -2937,6 +3064,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'MOROS','Dana Port',0,'?','?' 'MOROS','Ellis Port',0,'?','?' 'MOROS','Tesla Depot',0,'?','?' +'MORTA','Franke Freeport',0,'?','?' 'MU NORA','Virts Port',0,'?','?' 'MUAN QINGGA','Lethem Port',0,'?','?' 'MUAN QINGGA','Makeev Vision',0,'?','?' @@ -2984,6 +3112,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'NANG TA-KHIAN','Hay Point',392,'N','L' 'NANGKANO','Sarafanov Hub',0,'?','?' 'NANOMAM','Gresley Dock',398,'Y','L' +'NAPOYO','Rosse Camp',0,'?','?' 'NARASIMHA','Mendel Survey',2480,'Y','M' 'NARASIMHA','Zudov Survey',340779,'?','?' 'NARIM','Hamuy Colony',0,'?','?' @@ -2999,6 +3128,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'NEITS','Watson Settlement',16141,'?','?' 'NEMET','Hirase Horizons',404,'Y','L' 'NERITUS','Toll Ring',524,'Y','L' +'NERTHUS','Muller Station',0,'?','?' +'NERVI','Savitskaya Vision',0,'?','?' 'NETO','Citroen Hub',891,'Y','M' 'NETO','Ising Vision',666,'N','L' 'NEVERMORE','Borel Enterprise',5674,'Y','L' @@ -3009,6 +3140,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'NGAISLAN','Murdoch Station',0,'?','?' 'NGALIBA','Kingsmill Settlement',973,'?','?' 'NGALIBA','Nordenskiold Landing',755,'Y','?' +'NGOBE','Hinz Hub',0,'?','?' 'NGOLITJALI','Vinogradov Platform',0,'?','?' 'NGUGIRAWA','Hadfield Enterprise',129,'Y','L' 'NGULUNGBARA','Filippenko Dock',7,'N','L' @@ -3019,6 +3151,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'NGURUNGO','Kandrup Point',400,'N','M' 'NICOBARESE','Berezovoy Station',0,'?','?' 'NIHURSAGA','Hardwick Hub',0,'?','?' +'NIJUNA','Potez Station',0,'?','?' 'NIMA','Burbank Orbital',0,'?','?' 'NIMA','Rashid Dock',0,'?','?' 'NIMA','Rushworth Terminal',0,'?','?' @@ -3050,6 +3183,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'NLTT 49528','Anning Hub',0,'?','?' 'NLTT 49528','O''Connor Landing',0,'?','?' 'NLTT 49528','Titov Settlement',0,'?','?' +'NLTT 51966','Roosa Port',0,'?','?' 'NLTT 52560','Gresley Orbital',0,'?','?' 'NLTT 53889','Roosa Platform',0,'?','?' 'NLTT 55164','Kafka Installation',892,'Y','M' @@ -3118,6 +3252,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'OBAMBIVAS','Clebsch Terminal',593,'Y','L' 'OBAMBIVAS','Galouye Terminal',431,'N','L' 'OBAMBIVAS','Kennan Orbital',431,'Y','L' +'OBOTRIMA','Thoreau Orbital',787,'Y','L' 'OCHOENG','Bisson Dock',0,'?','?' 'OCHOENG','Cixin Dock',0,'?','?' 'OCHOENG','Gotlieb Port',0,'?','L' @@ -3128,11 +3263,13 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'OCSHO','Stein Plant',0,'?','M' 'ODUDURO','Conrad Hub',0,'?','?' 'ODUDURO','Kraepelin Hub',0,'?','?' +'OGOWENDES','Hayashi Installation',0,'?','?' 'OHO BAJO','Coke Landing',1674,'N','M' 'OHO BAJO','Herrington Colony',2515,'N','M' 'OKINOUKHE','Fincke Park',0,'?','M' 'OKINOUKHE','Mendeleev Enterprise',0,'Y','L' 'OKINOUKHE','Stableford Ring',0,'?','?' +'OKINURA','Bennett Gateway',0,'?','?' 'OKUAPANG','Pribylov Park',0,'?','?' 'OLELA','Wisniewski-Snerg Landing',1544,'N','M' 'OLGREA','Berezin Port',2205,'N','M' @@ -3147,6 +3284,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'OLUF','Nehsi Dock',1524,'?','?' 'OLWAIN','Cabot Hub',959,'Y','L' 'OLWAIN','Hovell Orbital',14297,'N','M' +'OMAGATAE','Hiroyuki Vision',0,'?','?' 'OMICRON GRUIS','Bleyavsky Terminal',0,'?','M' 'OMICRON GRUIS','Emshwiller City',0,'?','M' 'OMICRON GRUIS','Glass Port',0,'?','M' @@ -3211,6 +3349,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'OXOSSI','Kapteyn Hub',0,'?','M' 'OXOSSI','Shinjo Station',0,'N','L' 'OYAS','Wetherbee Orbital',1191,'Y','L' +'PACAMUNDU','Garcia Enterprise',0,'?','?' +'PACAMUNDU','Menezes Station',0,'?','?' 'PACHANU','Aubakirov Hub',0,'?','?' 'PAEMALITES','Herrington Station',400,'N','M' 'PAEMALITES','Wankel Hanger',575,'N','M' @@ -3221,6 +3361,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'PANCIENSES','Holdstock Enterprise',0,'?','L' 'PANCIENSES','Noli Gateway',0,'?','L' 'PANCIENSES','Sucharitkul Gateway',0,'?','L' +'PANDAMONIUM','Zaschka Ring',0,'?','?' 'PANGLUYA','Bradbury Works',0,'?','?' 'PANOI','Garan Hub',1893,'N','?' 'PANOI','Garn Settlement',2618,'?','?' @@ -3247,6 +3388,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'PAUAHTUN','Andrews Gateway',147,'Y','L' 'PAUL-FRIEDRICHS STAR','Paul-Friedrichs Base Camp',0,'?','?' 'PAYAYAN','Mills Park',0,'?','?' +'PAYAYAN','Russell Station',0,'?','?' 'PELL','Luiken Hub',0,'?','?' 'PELLANG','Chargaff Mines',2834,'?','?' 'PELLANG','Ising Landing',2834,'?','?' @@ -3259,6 +3401,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'PENG','Clerk Enterprise',34,'Y','M' 'PENG','Lockhart Port',0,'?','M' 'PENG','Runco Hub',301,'Y','L' +'PEPPER','Ehrlich Terminal',0,'?','?' +'PEPPER','Pepper',0,'?','?' 'PERADJARIU','Morris Dock',958,'N','M' 'PERADJARIU','Vries Port',686,'Y','L' 'PERAMONGAN','Robinson Ring',6,'N','L' @@ -3285,6 +3429,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'PI PISCIS AUSTRINI','Taylor Jr. Station',96000,'?','?' 'PI PISCIS AUSTRINI','Ulloa Dock',96000,'?','?' 'PI-FANG','Brooks Estate',0,'?','?' +'PI-FANG','Cartier''s Port',0,'?','?' +'PI-FANG','Quinn Dock',0,'?','?' 'PICAN','Robinson Prospect',0,'?','?' 'PICAURUKAN','Bean Gateway',14,'N','L' 'PICAURUKAN','Morukov Gateway',26,'Y','L' @@ -3298,6 +3444,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'PLX 695','Dover',0,'?','?' 'POLAHUKUNA','Griffith Dock',0,'?','M' 'POLAHUKUNA','Hardy Dock',1326,'Y','L' +'POLOCHANS','Neujmin Vision',0,'?','?' 'POPOCATEPETL','Arago Refinery',0,'?','?' 'POTRITI','Hartsfield Plant',164,'N','?' 'POTRITI','Tuan Orbital',278,'?','?' @@ -3323,7 +3470,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'PUTAMASIN','Hartog Terminal',0,'?','M' 'PUTAMASIN','Weil Orbital',0,'?','L' 'PWYLL','Northrop Refinery',9051,'Y','L' -'Q1 ERIDANI','Windt Terminal',0,'?','?' +'Q1 ERIDANI','Windt Terminal',957,'N','L' 'QA''WAKANA','Al-Haytham Terminal',373,'?','?' 'QA''WAKANA','Carpini Terminal',1076,'?','?' 'QA''WAKANA','Everest Enterprise',224,'?','?' @@ -3367,6 +3514,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'RANA','Ali Hub',670,'Y','L' 'RANGCHAN','Boole Ring',0,'?','?' 'RANGCHAN','Bradbury Station',0,'?','?' +'RANGTEI','Schommer Port',0,'?','?' 'RAPA BAO','Flagg Gateway',2338,'N','L' 'RASALHAGUE','Galvani Station',0,'?','M' 'RASALHAGUE','Kidman Terminal',0,'?','M' @@ -3375,12 +3523,14 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'RATHAMAS','Artzybasheff Hub',0,'?','?' 'RATICI','Bassford Station',27,'N','M' 'RATICI','Mainzer Mines',27,'N','M' +'RATRI','Sterling Ring',0,'?','?' 'RAURICI','Armero Platform',78.7,'?','M' 'RAURICI','Flammarion Mines',56.2,'N','M' 'RAURUGBA','Endate Enterprise',1088,'N','L' 'RAURUGBA','Jackson Hub',2096,'?','M' 'RAURUGBA','Ritchey Landing',1457,'?','M' 'RECUA','Gorey Enterprise',0,'N','M' +'REDDIS','Olahus Port',0,'?','?' 'REDDOT','Whit''s Station',1595,'Y','L' 'REDONESSES','Ellern Orbital',0,'?','?' 'REDONESSES','Monge Enterprise',0,'?','?' @@ -3460,6 +3610,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ROSS 211','Chilton Vision',0,'?','?' 'ROSS 211','Otiman Station',0,'Y','L' 'ROSS 318','Koch Hub',0,'?','?' +'ROSS 318','Noon Escape',0,'?','?' 'ROSS 42','Bartoe Station',0,'?','M' 'ROSS 42','Clark Hub',0,'?','M' 'ROSS 42','Gaffney Port',0,'?','M' @@ -3502,6 +3653,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ROSS 780','Aristotle Gateway',108,'Y','L' 'ROSS 780','Fossum Terminal',1786,'N','M' 'ROSS 812','Fraas Plant',0,'?','?' +'ROSS 85','Mohmand Station',0,'?','?' 'ROSS 860','Sullivan Port',0,'?','L' 'ROSS 860','Wedge Hub',49,'Y','L' 'ROSS 878','Jakes Enterprise',303,'?','L' @@ -3516,6 +3668,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'RUKANDINS','Mayer Plant',0,'?','?' 'RUSANI','Fernandes Market',73,'Y','L' 'RUWACHIS','Onizuka Gateway',50,'Y','L' +'SAHUALASTA','Den Berg Port',0,'?','?' 'SAHUALASTA','Kwolek Orbital',56,'Y','?' 'SAKARABRU','Libeskind Terminal',18,'N','L' 'SAKTSAK','Bursch Enterprise',2053,'Y','L' @@ -3525,6 +3678,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SAMEN','Peters Terminal',240,'?','L' 'SAMEQUIT','Braun Enterprise',846,'N','L' 'SAMKYHA','Tesla Station',0,'?','?' +'SAN HUANG','Sharman Gateway',0,'?','?' 'SANDAGARAY','Stirling City',6261,'N','M' 'SANGO','Baxter Station',0,'?','L' 'SANGO','Farrukh Hub',0,'?','L' @@ -3540,6 +3694,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SANTJALAN','Cantor Terminal',0,'?','?' 'SANTY','Noakes City',27010,'Y','M' 'SANUMA','Dunyach Gateway',5994,'N','L' +'SAYA','Dzhanibekov Station',0,'?','?' 'SCORIES','Belyanin Works',0,'?','?' 'SCORIES','Fanning Outpost',0,'?','?' 'SECOYA','Joy Port',98,'?','L' @@ -3557,6 +3712,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SELIANCIENS','Wilson Port',164,'Y','L' 'SENTEC','Gregory Station',0,'?','?' 'SENTEC','Yu Station',234,'?','?' +'SERKLICH','Mitchell Terminal',0,'?','?' +'SESUYAR','Al-Din Survey',0,'?','?' 'SHAKAPA','Gibson Dock',0,'?','?' 'SHAKAPA','Ore Horizons',0,'?','?' 'SHANGDI','Al-Din Platform',1854,'N','?' @@ -3596,6 +3753,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SIBIL','Very Station',1279,'?','M' 'SIBISIUS','Bethke Port',1421,'N','M' 'SICUNCHEIM','Draper Market',160,'?','L' +'SIDDHA','Blaauw Orbital',0,'?','?' +'SIDDHA','Ludwig Struve Hub',0,'?','?' +'SIDDHA','Otomo Market',0,'?','?' 'SIGMA BOOTIS','Chaudhary City',319,'Y','L' 'SIGMA BOOTIS','Collins Gateway',0,'?','L' 'SIGMA BOOTIS','Meikle Platform',0,'?','?' @@ -3603,6 +3763,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SIGMA BOOTIS','Vetulani City',0,'?','L' 'SIGMA HYDRI','Asire Orbital',2657,'Y','M' 'SIGMA HYDRI','Bunch Terminal',3326,'Y','M' +'SIGMA PEGASI','Hogan Enterprise',0,'?','?' +'SIGMA PEGASI','Swanwick Hub',0,'?','?' 'SILVANITOU','Buffett Platform',0,'?','?' 'SINANN','Jones Point',0,'?','?' 'SINANN','Phillips Arena',0,'?','?' @@ -3653,6 +3815,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SORBAGO','Carroll Survey',0,'?','M' 'SORBAGO','Dalgarno Colony',0,'?','M' 'SORBAGO','Hencke Orbital',0,'?','L' +'SOSOLING','Ramsay Hub',0,'?','?' 'SOSONG','Dzhanibekov Station',0,'?','?' 'SOWIIO','Bigourdan Ring',165,'Y','L' 'SOWIIO','Cassini Hub',312,'Y','L' @@ -3715,6 +3878,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'SWAZA','Onnes Settlement',0,'?','?' 'SYNTEINI','Lagerkvist Gateway',600,'N','L' 'SYNTEINI','William Sargent Vision',209,'Y','L' +'T''IENI','Vetulani Port',0,'?','?' 'TABASSAPISI','Parise Camp',0,'?','?' 'TABIT','Haber City',18901,'Y','L' 'TACAJANDI','Rosenberg Hub',0,'N','?' @@ -3787,6 +3951,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'TELEDOLYAQA','Abernathy Outpost',0,'?','?' 'TELEDOLYAQA','O''Brien Horizons',0,'?','?' 'TELENISATES','Tull Mines',0,'?','?' +'TELEPITYAK','Kroehl Orbital',1884,'?','M' +'TELEPITYAK','Witt Settlement',1850,'?','M' 'TELIU YUAN','Buchli Station',0,'?','?' 'TELMARCH','Beliaev Dock',0,'?','?' 'TEMBA','Aguirre Terminal',0,'?','?' @@ -3796,12 +3962,13 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'TENG YEH','Mcbride Station',0,'?','?' 'TENG YEH','Morgan Gateway',0,'?','?' 'TEPECHUA','Miller Mines',2166,'N','M' +'TEPI','Fibonacci Orbital',0,'?','?' 'TERMINUS','Feoktistov Station',0,'?','M' 'TERMINUS','Onizuka Station',0,'?','L' 'TERMINUS','Payette Orbital',0,'?','L' 'TERMINUS','Sanger Orbital',0,'?','M' 'TERMINUS','Spring Dock',2174,'Y','M' -'TETEKHE','Gerst Platform',254,'?','M' +'TETEKHE','Gerst Platform',254,'N','M' 'TEWI','Baracchi Prospect',24702,'?','?' 'TEWI','Melotte Survey',24696,'?','?' 'TEWI','Meuron Survey',24698,'?','?' @@ -3842,6 +4009,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'THUNDERBIRD','Hawley Port',158937,'Y','L' 'THUNDERBIRD','Maclean Dock',0,'?','M' 'THUNDERBIRD','Mccandless Enterprise',0,'?','M' +'THUNDERBIRD','Quimby Port',0,'?','?' 'THUNDERBIRD','Quimpy Port',0,'?','L' 'THUNDERBIRD','Shukor Hub',0,'?','L' 'THUNDERBIRD','Siemens Enterprise',3894,'Y','M' @@ -3860,6 +4028,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'TIGUE','Ehrenfried Kegel Landing',963,'?','M' 'TIGUE','McDevitt Vision',666,'?','M' 'TIGURD','Savinykh Dock',3499,'?','?' +'TIHTIPIHIN','Thuot Hub',0,'?','?' 'TILIAN','Keeler Rest',180,'N','L' 'TILIAN','Maunder''s Hope',180,'Y','L' 'TIMBALDERIS','McKay Terminal',0,'?','?' @@ -3932,6 +4101,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'TYR','Glashow Dock',0,'?','?' 'TZ ARIETIS','Snyder Enterprise',833,'Y','L' 'UALAME','Lessing Hanger',1609,'?','?' +'UALANGUR','Atkov Enterprise',0,'?','?' 'UALAPALOR','Anderson Terminal',942,'?','?' 'UALAPALOR','Leichhardt City',4698,'?','?' 'UALAPALOR','Nesvadba Dock',2617,'?','?' @@ -3948,6 +4118,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'UCHANG','Fisher Ring',988,'Y','L' 'UGRASWARKA','Baille City',0,'?','?' 'UGRIVIRII','Jefferies Port',877,'?','L' +'ULANQUIATES','Waldrop Dock',0,'?','?' 'ULURI','McDivitt Settlement',633,'Y','M' 'ULURI','Parker Beacon',914,'Y','M' 'UMAITIS','Stott Station',0,'?','?' @@ -3968,10 +4139,12 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'URCIA','Sitterly Vision',4708,'?','M' 'URSITOARE','Lucy Young''s Orbital Happy Home',329,'Y','L' 'URSITOARE','Milestones',907,'Y','L' +'URVASINI','Rae Dock',0,'?','?' 'USZAA','Clauss Dock',0,'?','L' 'USZAA','Guest Installation',4350,'Y','L' 'USZAA','Patterson Dock',0,'?','L' 'UTGAROAR','Fort Klarix',170,'Y','L' +'UZUMERU','Dirac City',0,'?','?' 'UZUMERU','Lorentz Plant',59,'N','M' 'UZUMOKU','Buckell Station',0,'?','?' 'UZUMOKU','Sverdrup Ring',505322,'?','L' @@ -3979,6 +4152,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'V1090 HERCULIS','Strekalov Depot',1231962,'?','M' 'V1285 AQUILAE','Kendrick Platform',1322,'?','M' 'V1285 AQUILAE','Tanner Plant',3538,'?','M' +'V1581 CYGNI','Peary Dock',0,'?','?' 'V1688 AQUILAE','Blaylock Enterprise',516,'Y','L' 'V1688 AQUILAE','Caselberg Orbital',705,'?','?' 'V1688 AQUILAE','Crown Enterprise',140,'?','?' @@ -4020,6 +4194,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'V886 CENTAURI','Garriott Terminal',775,'N','M' 'V886 CENTAURI','Tanner City',953,'Y','L' 'V989 CASSIOPEIAE','Tarelkin Refinery',2360,'N','M' +'VALDA','Bohnhoff Hub',0,'?','?' 'VALDA','Clairaut Dock',1044,'Y','L' 'VALDA','Kier Enterprise',17.6,'N','L' 'VAMM','Elion Terminal',1116,'Y','L' @@ -4050,6 +4225,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'VEQUESS','Agnews'' Folly',300,'N','L' 'VEQUESS','Cuffey Orbital',0,'?','?' 'VERBIGENI','Archambault Plant',0,'?','?' +'VEROANDI','Panshin Hub',0,'?','?' +'VEROANDI','Vardeman Gateway',0,'?','?' +'VEROANDI','Varoeman Gateway',0,'?','?' 'VERTUMNUS','Rawn City',0,'?','?' 'VESPER-M4','Rothfuss Holdings',53,'Y','M' 'VESPER-M4','Slough Orbital',464,'?','?' @@ -4072,6 +4250,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'VOTAT','Oluwafemi Vision',649,'N','M' 'VUCUB HUAN','Walter Prospect',355,'?','M' 'VUKUAPA','Mendeleev Terminal',2674,'N','M' +'WABA','Korlevic Station',0,'?','?' 'WADJAMBARU','Kavandi Landing',0,'?','?' 'WADJUK','Baudry Hub',957,'N','M' 'WADJUK','Bose Station',956,'N','M' @@ -4130,6 +4309,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'WOGAMA','Veach Terminal',12555,'Y','?' 'WOLF 10','Macquorn Rankine Station',1735,'N','M' 'WOLF 10','Townshend Orbital',1201,'N','M' +'WOLF 1022','McDivitt Port',0,'?','?' 'WOLF 1301','Denton Installation',0,'?','?' 'WOLF 1301','Menezes Installation',0,'?','?' 'WOLF 1301','Saunders''s Dive',416,'?','L' @@ -4185,6 +4365,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'WONNERITI','Coulomb Terminal',0,'?','?' 'WOSYRA PAO','Kaku Terminal',0,'?','?' 'WOSYRA PAO','Newton City',55,'Y','L' +'WU KONG','Ryman Dock',0,'?','?' 'WULGANDA','Cassidy Orbital',14,'Y','L' 'WULGANDA','Hauck Orbital',14,'?','?' 'WULPA','Williams Gateway',29,'?','L' @@ -4195,10 +4376,13 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'WUTHIELO KU','Robert Dock',0,'?','L' 'WUTHIELO KU','Tarter Dock',145,'N','L' 'WW PISCIS AUSTRINI','Ivins Vision',0,'?','?' +'WW PISCIS AUSTRINI','Sevastyanov Terminal',0,'?','?' 'WX URSAE MAJORIS','Teng-Hui Terminal',0,'?','?' 'WYRD','Bokeili Station',861,'N','L' 'WYRD','Gareth Edwards Park',861,'Y','L' 'WYRD','Vonarburg Co-Operative',161,'Y','L' +'XI HYDRAE','Chomsky Dock',0,'?','?' +'XI HYDRAE','Wingqvist Hub',0,'?','?' 'XI URSAE MAJORIS','Joule Settlement',0,'?','?' 'XI WANGKALA','Ross Colony',0,'?','?' 'XIANS','Isherwood Base',0,'N','M' @@ -4215,6 +4399,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'YAKAWANA','Thurston Dock',0,'?','?' 'YAKAWANA','Yourkevitch Platform',0,'?','?' 'YAKSHAPOOS','Gardner Mines',10525,'?','M' +'YAMATZICNI','Hirayama Platform',0,'?','?' 'YAN YI','Burnham Prospect',0,'?','?' 'YANYAN','Morin City',0,'?','?' 'YARIGUI','Kier Ring',0,'?','?' @@ -4223,6 +4408,8 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'YARIGUI','Salgari Hub',0,'?','?' 'YARIGUI','Walker Ring',0,'?','?' 'YARRITE','Deslandres Terminal',73.8,'?','L' +'YASHIANS','Berliner Landing',19,'?','M' +'YASHIANS','Duffy Dock',20,'?','M' 'YASO KONDI','Bessel Port',0,'?','?' 'YASO KONDI','Fabricius Vision',0,'?','?' 'YASO KONDI','Hertzsprung Terminal',0,'?','?' @@ -4231,6 +4418,7 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'YASO KONDI','Valz Dock',0,'?','?' 'YASO KONDI','Wheeler Market',113,'?','?' 'YAWA','Dean Hub',88,'N','L' +'YAWA','Oean Hub',0,'?','?' 'YAX BALAM','Ivanchenkov Plant',0,'?','?' 'YAX BALAM','Kendrick Holdings',0,'?','?' 'YE''KUAPEMAS','Hawke''s Progress',0,'?','?' @@ -4267,6 +4455,9 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ZARAGAS','Morin Hub',1660,'N','M' 'ZARALUVUL','Sturckow City',0,'?','?' 'ZAVIJAH','Wheelock Ring',4083,'Y','L' +'ZEAEX','Karl Diesel City',0,'?','?' +'ZEAEX','Wheelock Settlement',0,'?','?' +'ZEARLA','Payson Hub',0,'?','?' 'ZEESSZE','Hoyle Fort',491,'?','L' 'ZEESSZE','Nicollier Hanger',490,'Y','L' 'ZEESSZE','Rosseland Gateway',197,'?','L' @@ -4299,8 +4490,10 @@ unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size 'ZOMBA','Dozois Orbital',0,'?','?' 'ZOQUAGSANG','Bain Hub',0,'?','M' 'ZOQUAGSANG','Bernard City',1434,'Y','L' +'ZOSIA','Sharp Enterprise',0,'?','?' 'ZUGEN','Soddy Hanger',804,'?','?' 'ZVAITHHOGG','Hogg Port',33.9,'Y','M' 'ZVAITHHOGG','Karachkina Orbital',22.1,'?','M' 'ZVAITHHOGG','Laming Vision',11.6,'?','L' 'ZVAIZGAN','Ellis Hub',59,'Y','M' +'ZZ PISCIUM','Buffett Survey',0,'?','?' diff --git a/data/System.csv b/data/System.csv index 36963b10..004b680f 100644 --- a/data/System.csv +++ b/data/System.csv @@ -823,6 +823,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'ALPHARD',138.84375,88.46875,-73.5,'Gamma-Inferred','2014-10-21 17:16:31' 'ALPHEUS',2.03125,-56.375,56.21875,'Gamma','2014-11-27 11:33:44' 'ALRAI',-38.71875,12.3125,-21.625,'Beta2','2014-10-21 17:16:31' +'ALRAI SECTOR BV-P A5-3',-42.28125,-31.9375,63.28125,'Release 1.00-EDStar','2015-01-18 01:42:28' 'ALRAI SECTOR CK-R A4-6',-7.46875,-35.40625,51.625,'Release 1.00-EDStar','2015-01-15 18:00:48' 'ALRAI SECTOR CL-W C1-14',-33.59375,20.25,75.25,'Release 1.00-EDStar','2014-12-24 06:57:22' 'ALRAI SECTOR CL-Y D83',-105.125,37.9375,70.78125,'Gamma','2014-11-27 11:33:44' @@ -839,6 +840,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'ALRAI SECTOR HM-V B2-3',-50.09375,18.375,57.84375,'Release 1.00-EDStar','2015-01-03 02:09:30' 'ALRAI SECTOR HM-V B2-6',-60.96875,26.375,63.25,'Release 1.00-EDStar','2015-01-03 01:30:50' 'ALRAI SECTOR HR-W C1-12',-67.84375,-18.21875,72.84375,'Release 1.00-EDStar','2015-01-15 21:10:35' +'ALRAI SECTOR IH-M A7-1',-50.03125,-29.5,76.75,'Release 1.00-EDStar','2015-01-18 01:22:11' 'ALRAI SECTOR IH-V B2-1',-72.875,-1.78125,67.96875,'Release 1.00-EDStar','2014-12-28 21:59:25' 'ALRAI SECTOR IH-V B2-2',-71.71875,0.65625,62.875,'Release 1.00-EDStar','2015-01-09 07:51:47' 'ALRAI SECTOR IH-V B2-3',-78.5625,1.96875,65.125,'Release 1.00-EDStar','2015-01-09 08:05:54' @@ -863,12 +865,14 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'ALRAI SECTOR ON-T B3-3',-42.71875,8.34375,86.125,'Release 1.00-EDStar','2015-01-06 21:39:23' 'ALRAI SECTOR QC-V A2-3',-32.5625,-28.125,30.125,'Release 1.00-EDStar','2015-01-05 09:11:41' 'ALRAI SECTOR QT-R B4-2',-75.1875,0.625,105.96875,'Release 1.00-EDStar','2015-01-03 09:40:48' +'ALRAI SECTOR TO-R A4-1',-76.96875,-25.28125,50.125,'Release 1.00-EDStar','2015-01-17 13:52:01' 'ALRAI SECTOR UI-T A3-2',-27.4375,-26.9375,39.90625,'Release 1.00-EDStar','2015-01-05 13:23:52' 'ALRAI SECTOR UO-R A4-1',-66.875,-31.71875,47.03125,'Release 1.00-EDStar','2015-01-12 21:16:33' 'ALRAI SECTOR UO-R A4-2',-68.40625,-32.9375,46.6875,'Release 1.00-EDStar','2014-12-02 19:21:04' 'ALRAI SECTOR VO-R A4-2',-60.3125,-28.84375,48.84375,'Release 1.00-EDStar','2014-12-02 19:14:59' 'ALRAI SECTOR WI-T A3-3',-6.75,-25.4375,50.0,'Release 1.00-EDStar','2015-01-08 12:05:31' 'ALRAI SECTOR XI-T A3-0',2.15625,-26.21875,43.4375,'Gamma-Inferred','2014-12-07 11:09:10' +'ALRAI SECTOR ZJ-R A4-4',-38.0625,-36.875,48.9375,'Release 1.00-EDStar','2015-01-18 02:02:26' 'ALS 16791',29.125,-52.03125,86.6875,'Gamma','2014-11-27 11:33:44' 'ALTAIR',-12.3125,-2.75,11.0,'Gamma','2014-11-27 11:33:44' 'ALTAIS',-88.625,38.09375,-13.65625,'Beta2','2014-10-21 17:16:31' @@ -1200,6 +1204,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'AONIKENK',-88.96875,-79.5625,-62.34375,'Gamma','2014-11-27 11:33:44' 'AONIU',77.75,-151.84375,15.03125,'Gamma','2014-11-27 11:33:44' 'AORNUM',7.5625,-34.90625,31.625,'Gamma','2014-11-27 11:33:44' +'AOUIT',-68.34375,-18.5625,72.0625,'Release 1.00-EDStar','2015-01-17 16:36:30' 'AOWICA',116.84375,-55.84375,84.46875,'Gamma','2014-11-27 11:33:44' 'AOWICHA',-118.0625,46.125,-71.53125,'Gamma','2014-11-27 11:33:44' 'AOWINDUI',160.21875,-43.0625,-7.34375,'Gamma','2014-11-27 11:33:44' @@ -1501,6 +1506,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'ASEGEI',188.03125,-131.0625,60.8125,'Gamma','2014-11-27 11:33:44' 'ASEGES',138.5625,79.1875,-5.84375,'Gamma','2014-11-27 11:33:44' 'ASEGEZITES',62.46875,-14.28125,46.65625,'Gamma','2014-11-27 11:33:44' +'ASELLUS AUSTRALIS',52.0,71.96875,-95.71875,'Release 1.00-EDStar','2015-01-18 08:42:01' 'ASELLUS PRIMUS',-23.9375,40.875,-1.34375,'Alpha4','2014-10-21 17:16:31' 'ASELLUS SECONDUS',-45.90625,82.875,-3.625,'Release 1.00-EDStar','2014-12-01 21:47:41' 'ASELLUS TERTIUS',-79.0625,142.78125,-7.9375,'Gamma','2014-11-27 11:33:44' @@ -3390,6 +3396,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'CEPHEI SECTOR QD-T B3-4',-109.5,1.3125,-15.6875,'Release 1.00-EDStar','2015-01-09 12:01:12' 'CEPHEI SECTOR QD-T B3-5',-115.8125,5.59375,-18.96875,'Release 1.00-EDStar','2015-01-09 12:45:00' 'CEPHEI SECTOR QD-T B3-6',-115.96875,2.71875,-17.21875,'Release 1.00-EDStar','2015-01-09 12:27:56' +'CEPHEI SECTOR RD-T B3-2',-96.59375,9.3125,-9.96875,'Release 1.00-EDStar','2015-01-18 00:38:42' 'CEPHEI SECTOR RD-T B3-3',-85.71875,-4.875,-15.59375,'Release 1.00-EDStar','2014-12-12 21:28:51' 'CEPHEI SECTOR RD-T B3-4',-89.46875,-4.0,-15.75,'Release 1.00-EDStar','2015-01-01 19:12:27' 'CEPHEI SECTOR RD-T B3-5',-87.78125,2.34375,-22.4375,'Release 1.00-EDStar','2014-12-12 21:28:51' @@ -3878,6 +3885,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'COL 285 SECTOR AR-S B18-5',-8.5,-66.21875,44.71875,'Release 1.00-EDStar','2014-12-10 21:37:22' 'COL 285 SECTOR AR-S B18-6',-5.75,-66.21875,46.125,'Release 1.00-EDStar','2014-12-24 00:52:15' 'COL 285 SECTOR BB-E C12-10',65.71875,-80.59375,166.59375,'Release 1.00-EDStar','2014-12-24 07:34:08' +'COL 285 SECTOR BG-K B10-2',47.40625,97.59375,-138.28125,'Release 1.00-EDStar','2015-01-17 21:49:14' 'COL 285 SECTOR BG-O D6-117',77.40625,-55.3125,191.46875,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR BG-O D6-67',88.9375,-28.4375,178.78125,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR BG-O D6-75',55.25,-79.28125,179.65625,'Gamma','2014-11-27 11:33:44' @@ -3901,10 +3909,13 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'COL 285 SECTOR DV-O C6-5',159.4375,-50.9375,-85.5,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR DX-J C9-15',-176.875,39.96875,33.59375,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR EC-R B19-3',24.5,-62.96875,66.84375,'Release 1.00-EDStar','2015-01-14 16:36:43' +'COL 285 SECTOR EM-I B11-1',34.6875,96.84375,-117.78125,'Release 1.00-EDStar','2015-01-17 10:52:50' 'COL 285 SECTOR EM-L C8-22',-57.71875,7.875,-6.5,'Release 1.00-EDStar','2014-11-29 11:38:21' 'COL 285 SECTOR ES-I C10-5',-59.53125,149.125,89.34375,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR FA-Q C5-13',141.0625,-182.53125,-118.0,'Release 1.00-EDStar','2014-12-26 05:20:11' 'COL 285 SECTOR FA-Q C5-14',136.125,-182.5625,-113.8125,'Release 1.00-EDStar','2014-12-26 05:14:29' +'COL 285 SECTOR FH-I B11-0',-3.09375,85.4375,-111.75,'Release 1.00-EDStar','2015-01-18 00:19:22' +'COL 285 SECTOR FH-I B11-2',9.25,91.09375,-109.84375,'Release 1.00-EDStar','2015-01-17 23:46:00' 'COL 285 SECTOR FI-I C10-17',-166.1875,80.125,92.125,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR FQ-O C6-20',168.9375,-97.875,-97.84375,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR FS-J C9-28',-150.09375,9.5625,46.59375,'Gamma','2014-11-27 11:33:44' @@ -3975,6 +3986,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'COL 285 SECTOR KM-W A31-3',116.5625,-42.15625,-8.375,'Gamma-Inferred','2014-11-29 06:45:17' 'COL 285 SECTOR KM-W A31-4',120.375,-43.5,-9.9375,'Gamma-Inferred','2014-11-29 06:45:17' 'COL 285 SECTOR KM-W A31-5',124.75,-38.65625,-8.28125,'Gamma-Inferred','2014-11-29 06:45:17' +'COL 285 SECTOR KN-G B12-1',32.5625,80.03125,-104.125,'Release 1.00-EDStar','2015-01-18 08:39:34' 'COL 285 SECTOR KO-G C11-1',-121.15625,55.8125,131.0,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR KO-G C11-13',-114.46875,57.84375,104.3125,'Gamma','2014-11-27 11:33:44' 'COL 285 SECTOR KQ-N A36-2',-80.84375,-41.46875,38.1875,'Release 1.00-EDStar','2014-12-03 20:42:58' @@ -4479,6 +4491,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'CRUCIS SECTOR FB-X B1-5',79.90625,2.71875,18.0625,'Gamma-Inferred','2014-11-29 06:45:17' 'CRUCIS SECTOR FB-X B1-8',79.34375,-2.75,29.8125,'Gamma-Inferred','2014-11-29 06:45:17' 'CRUCIS SECTOR FG-X B1-1',120.15625,21.0,28.15625,'Release 1.00-EDStar','2014-12-29 04:42:38' +'CRUCIS SECTOR FG-Y C14',78.40625,-41.28125,31.78125,'Release 1.00-EDStar','2015-01-17 23:35:58' 'CRUCIS SECTOR FM-V B2-1',54.0625,22.03125,41.9375,'Gamma-Inferred','2014-11-29 06:45:17' 'CRUCIS SECTOR FM-V B2-4',45.84375,18.40625,35.15625,'Gamma-Inferred','2014-11-29 06:45:17' 'CRUCIS SECTOR FM-V B2-5',44.40625,23.65625,52.5,'Release 1.00-EDStar','2014-11-30 22:51:32' @@ -8386,6 +8399,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'HIP 36160',114.375,-17.3125,-47.03125,'Gamma','2014-11-27 11:33:44' 'HIP 36165',118.5,-17.9375,-48.71875,'Gamma','2014-11-27 11:33:44' 'HIP 36198',172.4375,-68.375,25.40625,'Gamma','2014-11-27 11:33:44' +'HIP 36272',21.59375,54.375,-138.25,'Release 1.00-EDStar','2015-01-17 17:51:49' 'HIP 36277',-88.125,73.5625,-100.1875,'Gamma','2014-11-27 11:33:44' 'HIP 3629',2.625,-225.21875,4.25,'Gamma','2014-11-27 11:33:44' 'HIP 36352',119.0625,-38.90625,-0.0625,'Gamma','2014-11-27 11:33:44' @@ -8515,6 +8529,8 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'HIP 4261',80.8125,-237.53125,47.78125,'Gamma','2014-11-27 11:33:44' 'HIP 42727',174.25,-56.6875,48.75,'Gamma','2014-11-27 11:33:44' 'HIP 4273',149.53125,-225.25,93.59375,'Gamma','2014-11-27 11:33:44' +'HIP 42734',19.6875,92.21875,-118.9375,'Release 1.00-EDStar','2015-01-17 23:34:38' +'HIP 42753',27.8125,98.65625,-127.875,'Release 1.00-EDStar','2015-01-17 23:24:05' 'HIP 42783',36.125,69.125,-91.5625,'Gamma','2014-11-27 11:33:44' 'HIP 42885',165.1875,-27.03125,13.71875,'Gamma','2014-11-27 11:33:44' 'HIP 4291',102.21875,-113.34375,64.96875,'Gamma','2014-11-27 11:33:44' @@ -10572,6 +10588,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'HYADES SECTOR IR-W D1-55',27.15625,-147.15625,-167.78125,'Gamma','2014-11-27 11:33:44' 'HYADES SECTOR IR-W D1-81',46.15625,-149.71875,-124.71875,'Gamma','2014-11-27 11:33:44' 'HYADES SECTOR IR-W D1-93',17.0625,-148.40625,-175.03125,'Gamma','2014-11-27 11:33:44' +'HYADES SECTOR KD-Q B6-1',23.5,62.40625,-140.28125,'Release 1.00-EDStar','2015-01-17 19:31:36' 'HYADES SECTOR KD-S C4-26',-122.46875,0.96875,-104.875,'Gamma','2014-11-27 11:33:44' 'HYADES SECTOR KH-V C2-19',45.21875,-88.375,-157.25,'Gamma','2014-11-27 11:33:44' 'HYADES SECTOR KH-V C2-22',31.375,-94.21875,-177.25,'Gamma','2014-11-27 11:33:44' @@ -10619,6 +10636,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'HYADES SECTOR SF-U A4-1',-98.625,-38.21875,-231.21875,'Release 1.00-EDStar','2014-12-06 08:42:07' 'HYADES SECTOR SF-U A4-2',-98.875,-40.78125,-229.375,'Release 1.00-EDStar','2014-12-06 08:42:07' 'HYADES SECTOR SU-N B7-4',-19.15625,4.21875,-122.0625,'Release 1.00-EDStar','2015-01-13 21:20:22' +'HYADES SECTOR SZ-N B7-2',29.84375,34.625,-119.34375,'Release 1.00-EDStar','2015-01-17 16:38:16' 'HYADES SECTOR TF-U A4-0',-92.71875,-35.5625,-232.15625,'Release 1.00-EDStar','2014-12-06 08:42:07' 'HYADES SECTOR TF-U A4-1',-90.8125,-37.84375,-233.625,'Release 1.00-EDStar','2014-12-06 08:42:07' 'HYADES SECTOR TF-U A4-2',-89.9375,-40.34375,-233.90625,'Release 1.00-EDStar','2014-12-06 09:30:02' @@ -14114,6 +14132,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'LTT 6947',18.5625,-9.40625,49.4375,'Release 1.00-EDStar','2014-12-04 10:50:59' 'LTT 700',40.78125,-52.8125,23.03125,'Gamma','2014-11-27 11:33:44' 'LTT 7069',-24.1875,14.9375,74.28125,'Gamma','2014-11-27 11:33:44' +'LTT 7072',0.78125,-0.84375,20.125,'Release 1.00-EDStar','2015-01-17 20:04:37' 'LTT 7126',57.8125,-39.1875,93.125,'Gamma','2014-11-27 11:33:44' 'LTT 7138',10.65625,-9.28125,59.875,'Gamma','2014-11-27 11:33:44' 'LTT 7251',-16.6875,-8.09375,116.34375,'Gamma','2014-11-27 11:33:44' @@ -19084,6 +19103,7 @@ unq:name,pos_x,pos_y,pos_z,name@Added.added_id,modified 'TASCHETER SECTOR IS-K A8-1',-12.1875,-35.375,-17.1875,'Release 1.00-EDStar','2015-01-03 07:56:02' 'TASCHETER SECTOR KH-V B2-5',22.78125,-15.90625,-55.15625,'Release 1.00-EDStar','2015-01-08 13:11:21' 'TASCHETER SECTOR MN-T B3-6',-11.875,-21.96875,-29.03125,'Release 1.00-EDStar','2014-12-27 00:38:26' +'TASCHETER SECTOR MS-T A3-1',-13.21875,-34.40625,-72.28125,'Release 1.00-EDStar','2015-01-17 21:07:42' 'TASCHETER SECTOR NY-R A4-0',-42.0625,-33.34375,-62.09375,'Release 1.00-EDStar','2015-01-02 04:06:27' 'TASCHETER SECTOR OS-U B2-1',-6.84375,-66.75,-62.28125,'Release 1.00-EDStar','2015-01-11 08:12:06' 'TASCHETER SECTOR OX-U B2-4',16.4375,-63.125,-60.0625,'Release 1.00-EDStar','2014-12-28 18:14:32' diff --git a/edscupdate.py b/edscupdate.py index 488fd7d3..838b5c32 100644 --- a/edscupdate.py +++ b/edscupdate.py @@ -49,7 +49,7 @@ startSys = tdb.lookupPlace(sys.argv[1]) ox, oy, oz = startSys.posX, startSys.posY, startSys.posZ -if len(sys.argv) > 1: +if len(sys.argv) > 2: date = sys.argv[2] if not date.startswith("201"): print("ERROR: Invalid date {}".format(date)) diff --git a/misc/madupload.py b/misc/madupload.py index 3b4327a0..711af586 100755 --- a/misc/madupload.py +++ b/misc/madupload.py @@ -7,30 +7,16 @@ try: import requests -except ImportError: - if platform.system() == "Windows": - prompt = "C:\ThisDir\>" - else: - prompt = "$" - raise Exception("""Missing 'requests' module: - ----------------------------------------------------------------- -You don't appear to have the Python module "requests" installed. - -It can be installed with Python's package installer, e.g: - {prompt} pip install requests -or - {prompt} pip3 install requests - -For additional help, see: - Bitbucket Wiki http://kfs.org/td/wiki - Facebook Group http://kfs.org/td/group - ED Forum Thread http://kfs.org/td/thread - ----------------------------------------------------------------- -""".format( - prompt=prompt -)) +except ImportError as e: + import pip + print("ERROR: Unable to load the Python 'requests' package.") + approval = input( + "Do you want me to try and install it with the package manager (y/n)? " + ) + if approval.lower() != 'y': + raise e + pip.main(["install", "--upgrade", "requests"]) + import requests ############################################################################ diff --git a/plugins/maddavo_plug.py b/plugins/maddavo_plug.py index 6030882c..1ddf76a8 100644 --- a/plugins/maddavo_plug.py +++ b/plugins/maddavo_plug.py @@ -25,7 +25,7 @@ class ImportPlugin(plugins.ImportPluginBase): 'stncsv': "Also download Station.csv from the site.", 'skipdl': "Skip doing any downloads.", 'force': "Process prices even if timestamps suggest " - "there is no new data." + "there is no new data.", } diff --git a/scripts/config.sh b/scripts/config.sh index 58800d4d..c7126fdd 100644 --- a/scripts/config.sh +++ b/scripts/config.sh @@ -17,6 +17,11 @@ CR=270742 # Set the position of the update window relative to top-right of screen UPD_ARGS="-wx=-40 -wy=40" +# After a given number of hops, discard candidates that have scored less +# than the given percentage of the best candidate. +PRUNE_HOPS=3 # after 3 hops +PRUNE_SCORE=20 # percentage + # You can only have one set of variables "live" at a time, comment out # old ships while you are not flying them, then you can just uncomment # them later on. diff --git a/scripts/tdrun b/scripts/tdrun index a61d39da..cae5930f 100755 --- a/scripts/tdrun +++ b/scripts/tdrun @@ -16,12 +16,15 @@ then fi cmd="${TRADEPY} run -vv \ - --ly ${MAXLY} \ - --empty ${EMPTYLY} \ - --cap ${CAP} \ - --jumps ${JUMPS} \ - --cr ${CR} \ - --from \"${origin}\" \ + --ly=${MAXLY} \ + --empty=${EMPTYLY} \ + --cap=${CAP} \ + --jumps=${JUMPS} \ + --cr=${CR} \ + --from=\"${origin}\" \ + --prune-score=${PRUNE_SCORE:-5} \ + --prune-hops=${PRUNE_HOPS:-4} \ + --progress \ $@" echo \$ $cmd eval "$cmd" diff --git a/tradecalc.py b/tradecalc.py index b2454f7a..c3a63c1e 100644 --- a/tradecalc.py +++ b/tradecalc.py @@ -624,13 +624,14 @@ def getBestHops(self, routes, restrictTo=None): tdb = self.tdb tdenv = self.tdenv - avoidItems = getattr(tdenv, 'avoidItems', []) - avoidPlaces = getattr(tdenv, 'avoidPlaces', []) + avoidItems = getattr(tdenv, 'avoidItems', []) or [] + avoidPlaces = getattr(tdenv, 'avoidPlaces', []) or [] assert not restrictTo or isinstance(restrictTo, set) maxJumpsPer = tdenv.maxJumpsPer maxLyPer = tdenv.maxLyPer - reqBlackMarket = getattr(tdenv, 'blackMarket', False) - credits = tdenv.credits - getattr(tdenv, 'insurance', 0) + reqBlackMarket = getattr(tdenv, 'blackMarket', False) or False + maxAge = getattr(tdenv, 'maxAge') or 0 + credits = tdenv.credits - (getattr(tdenv, 'insurance', 0) or 0) bestToDest = {} safetyMargin = 1.0 - tdenv.margin @@ -735,6 +736,11 @@ def considerStation(dstStation, dest): if reqBlackMarket and dstStation.blackMarket != 'Y': continue + if maxAge: + stnDataAge = dstStation.dataAge + if stnDataAge is None or stnDataAge > maxAge: + continue + if tdenv.debug >= 1: tdenv.DEBUG1("destSys {}, destStn {}, jumps {}, distLy {}", dstStation.system.dbname, diff --git a/tradedb.py b/tradedb.py index a338d822..c25c0eaf 100644 --- a/tradedb.py +++ b/tradedb.py @@ -233,12 +233,13 @@ class Station(object): 'ID', 'system', 'dbname', 'lsFromStar', 'blackMarket', 'maxPadSize', 'tradingWith', 'itemCount', + 'dataAge', ) def __init__( self, ID, system, dbname, lsFromStar, blackMarket, maxPadSize, - itemCount, + itemCount, dataAge, ): self.ID, self.system, self.dbname = ID, system, dbname self.lsFromStar = lsFromStar @@ -246,6 +247,7 @@ def __init__( self.maxPadSize = maxPadSize self.itemCount = itemCount self.tradingWith = None # dict[tradingPartnerStation] -> [ available trades ] + self.dataAge = dataAge system.stations.append(self) @@ -316,7 +318,8 @@ def __repr__(self): "ID={}, system='{}', dbname='{}', " "lsFromStar={}, " "blackMarket='{}', " - "maxPadSize='{}'" + "maxPadSize='{}', " + "dataAge={}" ")".format( self.ID, re.escape(self.system.dbname), @@ -324,6 +327,7 @@ def __repr__(self): self.lsFromStar, self.blackMarket, self.maxPadSize, + self.dataAge, )) @@ -967,10 +971,11 @@ def _loadStations(self): stmt = """ SELECT station_id, system_id, name, ls_from_star, blackmarket, max_pad_size, - (SELECT COUNT(*) - FROM StationItem - WHERE station_id = Station.station_id) AS itemCount + COUNT(StationItem.station_id) AS itemCount, + JULIANDAY('now') - JULIANDAY(MAX(StationItem.modified)) FROM Station + LEFT OUTER JOIN StationItem USING (station_id) + GROUP BY 1 """ self.cur.execute(stmt) stationByID = {} @@ -979,12 +984,12 @@ def _loadStations(self): for ( ID, systemID, name, lsFromStar, blackMarket, maxPadSize, - itemCount + itemCount, dataAge ) in self.cur: station = Station( ID, systemByID[systemID], name, lsFromStar, blackMarket, maxPadSize, - itemCount + itemCount, dataAge ) if itemCount > 0: self.tradingStationCount += 1 @@ -1041,7 +1046,7 @@ def addLocalStation( lsFromStar=lsFromStar, blackMarket=blackMarket, maxPadSize=maxPadSize, - itemCount=0, + itemCount=0, dataAge=0, ) self.stationByID[ID] = station db.commit() @@ -1846,3 +1851,27 @@ def normalizedStr(text): TradeDB.trimTrans ) + + @staticmethod + def titleFixup(text): + """ + Correct case in a word assuming the presence of titles/surnames, + including 'McDonald', 'MacNair', 'McKilroy', and cases that + python's title screws up such as "Smith's". + """ + + text = text.title() + text = re.sub( + r"\b(Mc)([a-z])", + lambda match: match.group(1) + match.group(2).upper(), + text + ) + text = re.sub( + r"\b(Mac)([bcdfgjklmnpqrstvwxyz])([a-z]{4,})", + lambda m: m.group(1) + m.group(2).upper() + m.group(3), + text + ) + text = re.sub(r"'S\b", "'s", text) + + return text +