summaryrefslogtreecommitdiff
path: root/backend-go/patch_all.py
diff options
context:
space:
mode:
authorkboz <kutayboz@gmail.com>2026-09-27 22:36:34 +0200
committerkboz <kutayboz@gmail.com>2026-09-27 22:36:34 +0200
commit1b59961ce2385252e3346ea6107b15a2c1feafe6 (patch)
treefbe9e0cb968c47cff353e937e4dc835a64058c60 /backend-go/patch_all.py
parent29c4b57db9a34e0f815d93cac6a2cae543778a93 (diff)
downloadhaul-1b59961ce2385252e3346ea6107b15a2c1feafe6.tar.gz
feat(backend): port route-planning backend to Go
Add a Go implementation mirroring the Python pipeline (loader, graph, pathfinder, arbitrage, market, route, manager) under internal/core, with ESI client/API integration and setup endpoints. Reuses backend/src as the working directory so existing data/cache paths keep working.
Diffstat (limited to 'backend-go/patch_all.py')
-rw-r--r--backend-go/patch_all.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/backend-go/patch_all.py b/backend-go/patch_all.py
new file mode 100644
index 0000000..7d541a1
--- /dev/null
+++ b/backend-go/patch_all.py
@@ -0,0 +1,85 @@
+import re
+
+# 1. Update manager.go error handling and CreateRoute
+manager_path = '/home/kboz/eve_haul/backend-go/internal/core/manager.go'
+with open(manager_path, 'r') as f:
+ text = f.read()
+
+# Fix Wallet Error
+text = text.replace(
+ 'm.Log = append([]string{"Wallet scope error: ensure token has wallet read permissions."}, m.Log...)',
+ 'm.Log = append([]string{fmt.Sprintf("Wallet Error: %v", err)}, m.Log...)'
+)
+
+# Fix ShortlistConfig creation (primary pass)
+shortlist1 = '''shortlist := ShortlistConfig{
+CandidateLimit: PrimaryCandidateLimit,
+TypeLimit: PrimaryTypeLimit,
+StationPairLimit: PrimaryStationPairLimit,
+}'''
+shortlist1_new = '''shortlist := ShortlistConfig{
+CandidateLimit: PrimaryCandidateLimit,
+TypeLimit: PrimaryTypeLimit,
+StationPairLimit: PrimaryStationPairLimit,
+RankMode: "and",
+}'''
+text = text.replace(shortlist1, shortlist1_new)
+
+# Fix ShortlistConfig creation (fallback pass)
+shortlist2 = '''shortlist = ShortlistConfig{
+CandidateLimit: FallbackCandidateLimit,
+TypeLimit: FallbackTypeLimit,
+StationPairLimit: FallbackStationPairLimit,
+}'''
+shortlist2_new = '''shortlist = ShortlistConfig{
+CandidateLimit: FallbackCandidateLimit,
+TypeLimit: FallbackTypeLimit,
+StationPairLimit: FallbackStationPairLimit,
+RankMode: "and",
+}'''
+text = text.replace(shortlist2, shortlist2_new)
+
+with open(manager_path, 'w') as f:
+ f.write(text)
+
+
+# 2. Update route.go Ship Struct with correct JSON tags
+route_path = '/home/kboz/eve_haul/backend-go/internal/core/route.go'
+with open(route_path, 'r') as f:
+ r_text = f.read()
+
+old_struct = '''type Ship struct {
+TaxRate float64
+ProfitThreshold float64
+MaxCapital float64
+SnipeThreshold float64
+Location int
+Cargo float64
+MaxWarpSpeed float64
+MaxSubwarpSpeed float64
+GankersAreas map[string]float64
+PlayerCost float64
+RiskCost float64
+ShipCost float64
+}'''
+
+new_struct = '''type Ship struct {
+TaxRate float64 `json:"tax_rate"`
+ProfitThreshold float64 `json:"profit_threshold"`
+MaxCapital float64 `json:"max_capital"`
+SnipeThreshold float64 `json:"snipe_profit_threshold"`
+Location int `json:"location"`
+Cargo float64 `json:"cargo"`
+MaxWarpSpeed float64 `json:"max_warp_speed"`
+MaxSubwarpSpeed float64 `json:"max_subwarp_speed"`
+GankersAreas map[string]float64 `json:"gankers_areas"`
+PlayerCost float64 `json:"player_cost"`
+RiskCost float64 `json:"risk_cost"`
+ShipCost float64 `json:"ship_cost"`
+}'''
+
+r_text = r_text.replace(old_struct, new_struct)
+with open(route_path, 'w') as f:
+ f.write(r_text)
+
+print("Patch completed!")