tradedangerous 11.5.3__tar.gz → 12.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tradedangerous might be problematic. Click here for more details.

Files changed (115) hide show
  1. {tradedangerous-11.5.3/tradedangerous.egg-info → tradedangerous-12.0.1}/PKG-INFO +11 -7
  2. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/README.md +3 -2
  3. tradedangerous-12.0.1/setup.py +88 -0
  4. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_bootstrap_commands.py +4 -2
  5. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_bootstrap_plugins.py +6 -4
  6. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_trade.py +6 -20
  7. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_trade_run.py +30 -22
  8. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/cache.py +567 -395
  9. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/cli.py +2 -2
  10. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/TEMPLATE.py +25 -26
  11. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/__init__.py +8 -16
  12. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/buildcache_cmd.py +40 -10
  13. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/buy_cmd.py +57 -46
  14. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/commandenv.py +0 -2
  15. tradedangerous-12.0.1/tradedangerous/commands/export_cmd.py +151 -0
  16. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/import_cmd.py +67 -31
  17. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/market_cmd.py +52 -19
  18. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/olddata_cmd.py +120 -107
  19. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/rares_cmd.py +122 -110
  20. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/run_cmd.py +118 -66
  21. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/sell_cmd.py +52 -45
  22. tradedangerous-12.0.1/tradedangerous/commands/shipvendor_cmd.py +59 -0
  23. tradedangerous-12.0.1/tradedangerous/commands/station_cmd.py +67 -0
  24. tradedangerous-12.0.1/tradedangerous/commands/update_cmd.py +65 -0
  25. tradedangerous-12.0.1/tradedangerous/csvexport.py +231 -0
  26. tradedangerous-12.0.1/tradedangerous/db/__init__.py +27 -0
  27. tradedangerous-12.0.1/tradedangerous/db/adapter.py +191 -0
  28. tradedangerous-12.0.1/tradedangerous/db/config.py +95 -0
  29. tradedangerous-12.0.1/tradedangerous/db/engine.py +246 -0
  30. tradedangerous-12.0.1/tradedangerous/db/lifecycle.py +332 -0
  31. tradedangerous-12.0.1/tradedangerous/db/locks.py +208 -0
  32. tradedangerous-12.0.1/tradedangerous/db/orm_models.py +455 -0
  33. tradedangerous-12.0.1/tradedangerous/db/paths.py +112 -0
  34. tradedangerous-12.0.1/tradedangerous/db/utils.py +661 -0
  35. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/gui.py +2 -2
  36. tradedangerous-12.0.1/tradedangerous/plugins/eddblink_plug.py +626 -0
  37. tradedangerous-12.0.1/tradedangerous/plugins/spansh_plug.py +2525 -0
  38. tradedangerous-12.0.1/tradedangerous/prices.py +213 -0
  39. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/templates/TradeDangerous.sql +6 -6
  40. tradedangerous-12.0.1/tradedangerous/tradecalc.py +1227 -0
  41. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/tradedb.py +533 -384
  42. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/tradeenv.py +12 -1
  43. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/version.py +1 -1
  44. {tradedangerous-11.5.3 → tradedangerous-12.0.1/tradedangerous.egg-info}/PKG-INFO +11 -7
  45. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous.egg-info/SOURCES.txt +9 -5
  46. tradedangerous-11.5.3/setup.py +0 -65
  47. tradedangerous-11.5.3/tradedangerous/commands/export_cmd.py +0 -123
  48. tradedangerous-11.5.3/tradedangerous/commands/shipvendor_cmd.py +0 -244
  49. tradedangerous-11.5.3/tradedangerous/commands/station_cmd.py +0 -497
  50. tradedangerous-11.5.3/tradedangerous/commands/update_cmd.py +0 -429
  51. tradedangerous-11.5.3/tradedangerous/commands/update_gui.py +0 -721
  52. tradedangerous-11.5.3/tradedangerous/csvexport.py +0 -220
  53. tradedangerous-11.5.3/tradedangerous/jsonprices.py +0 -254
  54. tradedangerous-11.5.3/tradedangerous/plugins/edapi_plug.py +0 -1071
  55. tradedangerous-11.5.3/tradedangerous/plugins/eddblink_plug.py +0 -490
  56. tradedangerous-11.5.3/tradedangerous/plugins/journal_plug.py +0 -537
  57. tradedangerous-11.5.3/tradedangerous/plugins/netlog_plug.py +0 -316
  58. tradedangerous-11.5.3/tradedangerous/plugins/spansh_plug.py +0 -858
  59. tradedangerous-11.5.3/tradedangerous/prices.py +0 -231
  60. tradedangerous-11.5.3/tradedangerous/tradecalc.py +0 -1109
  61. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/LICENSE +0 -0
  62. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/pyproject.toml +0 -0
  63. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/setup.cfg +0 -0
  64. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_cache.py +0 -0
  65. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_commands.py +0 -0
  66. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_fs.py +0 -0
  67. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_peek.py +0 -0
  68. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_tools.py +0 -0
  69. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tests/test_utils.py +0 -0
  70. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/trade.py +0 -0
  71. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/__init__.py +0 -0
  72. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/exceptions.py +0 -0
  73. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/local_cmd.py +0 -0
  74. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/nav_cmd.py +0 -0
  75. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/parsing.py +0 -0
  76. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/commands/trade_cmd.py +0 -0
  77. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/corrections.py +0 -0
  78. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/edscupdate.py +0 -0
  79. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/edsmupdate.py +0 -0
  80. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/formatting.py +0 -0
  81. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/fs.py +0 -0
  82. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/mapping.py +0 -0
  83. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/mfd/__init__.py +0 -0
  84. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/mfd/saitek/__init__.py +0 -0
  85. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/mfd/saitek/directoutput.py +0 -0
  86. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/mfd/saitek/x52pro.py +0 -0
  87. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/checkpricebounds.py +0 -0
  88. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/clipboard.py +0 -0
  89. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/coord64.py +0 -0
  90. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/derp-sentinel.py +0 -0
  91. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/diff-system-csvs.py +0 -0
  92. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/eddb.py +0 -0
  93. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/eddn.py +0 -0
  94. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/edsc.py +0 -0
  95. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/edsm.py +0 -0
  96. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/importeddbstats.py +0 -0
  97. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/prices-json-exp.py +0 -0
  98. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/misc/progress.py +0 -0
  99. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/plugins/__init__.py +0 -0
  100. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/plugins/edcd_plug.py +0 -0
  101. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/plugins/edmc_batch_plug.py +0 -0
  102. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/submit-distances.py +0 -0
  103. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/templates/Added.csv +0 -0
  104. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/templates/Category.csv +0 -0
  105. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/templates/RareItem.csv +0 -0
  106. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/tools.py +0 -0
  107. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/tradeexcept.py +0 -0
  108. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/transfers.py +0 -0
  109. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous/utils.py +0 -0
  110. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous.egg-info/dependency_links.txt +0 -0
  111. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous.egg-info/entry_points.txt +0 -0
  112. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous.egg-info/not-zip-safe +0 -0
  113. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous.egg-info/requires.txt +0 -0
  114. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradedangerous.egg-info/top_level.txt +0 -0
  115. {tradedangerous-11.5.3 → tradedangerous-12.0.1}/tradegui.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tradedangerous
3
- Version: 11.5.3
3
+ Version: 12.0.1
4
4
  Summary: Trade-Dangerous is a set of powerful trading tools for Elite Dangerous, organized around one of the most powerful trade run optimizers available.
5
5
  Home-page: https://github.com/eyeonus/Trade-Dangerous
6
6
  Author: eyeonus
@@ -11,12 +11,13 @@ Project-URL: Documentation, https://github.com/eyeonus/Trade-Dangerous/wiki
11
11
  Project-URL: Source Code, https://github.com/eyeonus/Trade-Dangerous
12
12
  Keywords: trade,elite,elite-dangerous
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.7
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
14
  Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
19
19
  Classifier: Operating System :: OS Independent
20
+ Requires-Python: >=3.10
20
21
  Description-Content-Type: text/markdown
21
22
  License-File: LICENSE
22
23
  Requires-Dist: requests
@@ -31,8 +32,10 @@ Dynamic: description-content-type
31
32
  Dynamic: home-page
32
33
  Dynamic: keywords
33
34
  Dynamic: license
35
+ Dynamic: license-file
34
36
  Dynamic: project-url
35
37
  Dynamic: requires-dist
38
+ Dynamic: requires-python
36
39
  Dynamic: summary
37
40
 
38
41
 
@@ -41,9 +44,10 @@ Dynamic: summary
41
44
  TradeDangerous
42
45
  Copyright (C) Oliver "kfsone" Smith, July 2014
43
46
  Copyright (C) Bernd 'Gazelle' Gollesch 2016, 2017
44
- Copyright (C) Jonathan 'eyeonus' Jones 2018 - 2021
47
+ Copyright (C) Stefan 'Tromador' Morrell 2025
48
+ Copyright (C) Jonathan 'eyeonus' Jones 2018 - 2025
45
49
 
46
- REQUIRES PYTHON 3.4 OR HIGHER.
50
+ REQUIRES PYTHON 3.10 OR HIGHER.
47
51
 
48
52
  ----------
49
53
 
@@ -4,9 +4,10 @@
4
4
  TradeDangerous
5
5
  Copyright (C) Oliver "kfsone" Smith, July 2014
6
6
  Copyright (C) Bernd 'Gazelle' Gollesch 2016, 2017
7
- Copyright (C) Jonathan 'eyeonus' Jones 2018 - 2021
7
+ Copyright (C) Stefan 'Tromador' Morrell 2025
8
+ Copyright (C) Jonathan 'eyeonus' Jones 2018 - 2025
8
9
 
9
- REQUIRES PYTHON 3.4 OR HIGHER.
10
+ REQUIRES PYTHON 3.10 OR HIGHER.
10
11
 
11
12
  ----------
12
13
 
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env python3
2
+ # --------------------------------------------------------------------
3
+ # Copyright (C) Oliver 'kfsone' Smith 2014 <oliver@kfs.org>:
4
+ # Copyright (C) Bernd 'Gazelle' Gollesch 2016, 2017
5
+ # Copyright (C) Stefan 'Tromador' Morrell 2025
6
+ # Copyright (C) Jonathan 'eyeonus' Jones 2018 - 2025
7
+ #
8
+ # You are free to use, redistribute, or even print and eat a copy of
9
+ # this software so long as you include this copyright notice.
10
+ # I guarantee there is at least one bug neither of us knew about.
11
+ # --------------------------------------------------------------------
12
+ """Setup for trade-dangerous"""
13
+ import sys
14
+ from setuptools import setup, find_packages
15
+
16
+ try:
17
+ from semantic_release import setup_hook
18
+ setup_hook(sys.argv)
19
+ except ImportError:
20
+ pass
21
+
22
+ with open("README.md", "r") as fh:
23
+ long_description = fh.read()
24
+
25
+ package = "tradedangerous"
26
+
27
+ exec(open("tradedangerous/version.py").read()) # pylint: disable=W0122
28
+
29
+ setup(
30
+ name=package,
31
+ version=__version__, # pylint: disable=E0602
32
+ install_requires=["requests", "appJar", "ijson", "rich"],
33
+ setup_requires=["pytest-runner"],
34
+ tests_require=["pytest"],
35
+ packages=[
36
+ ".",
37
+ "tradedangerous",
38
+ "tradedangerous.commands",
39
+ "tradedangerous.mfd",
40
+ "tradedangerous.mfd.saitek",
41
+ "tradedangerous.misc",
42
+ "tradedangerous.plugins",
43
+ "tradedangerous.db",
44
+ ],
45
+ url="https://github.com/eyeonus/Trade-Dangerous",
46
+ project_urls={
47
+ "Bug Tracker": "https://github.com/eyeonus/Trade-Dangerous/issues",
48
+ "Documentation": "https://github.com/eyeonus/Trade-Dangerous/wiki",
49
+ "Source Code": "https://github.com/eyeonus/Trade-Dangerous",
50
+ },
51
+ author="eyeonus",
52
+ author_email="eyeonus@gmail.com",
53
+ description=(
54
+ "Trade-Dangerous is a set of powerful trading tools for Elite Dangerous, "
55
+ "organized around one of the most powerful trade run optimizers available."
56
+ ),
57
+ long_description=long_description,
58
+ long_description_content_type="text/markdown",
59
+ keywords=["trade", "elite", "elite-dangerous"],
60
+ classifiers=[
61
+ "Programming Language :: Python :: 3",
62
+ "Programming Language :: Python :: 3.10",
63
+ "Programming Language :: Python :: 3.11",
64
+ "Programming Language :: Python :: 3.12",
65
+ "Programming Language :: Python :: 3.13",
66
+ "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
67
+ "Operating System :: OS Independent",
68
+ ],
69
+ license="MPL",
70
+ python_requires=">=3.10",
71
+ test_suite="tests",
72
+ package_data={
73
+ "tradedangerous": [
74
+ "templates/TradeDangerous.sql",
75
+ "templates/Added.csv",
76
+ "templates/Category.csv",
77
+ "templates/RareItem.csv",
78
+ "templates/database_changes.json",
79
+ ]
80
+ },
81
+ entry_points={
82
+ "console_scripts": [
83
+ "trade=trade:main",
84
+ "tradegui=tradegui:main",
85
+ ]
86
+ },
87
+ zip_safe=False,
88
+ )
@@ -1,3 +1,4 @@
1
+ import pytest
1
2
  import unittest
2
3
 
3
4
 
@@ -46,6 +47,7 @@ class TestBootstrapCommands(unittest.TestCase):
46
47
 
47
48
  def test_import_update_cmd(self):
48
49
  from tradedangerous.commands import update_cmd
49
-
50
+
51
+ @pytest.mark.skip(reason="update_gui command has been deprecated and archived")
50
52
  def test_import_update_gui(self):
51
- from tradedangerous.commands import update_gui
53
+ pytest.skip("update_gui command is deprecated and archived")
@@ -19,9 +19,11 @@ class TestBootstrapPlugins:
19
19
 
20
20
  def test_import_plugins_edmc_batch(self):
21
21
  from tradedangerous.plugins import edmc_batch_plug
22
-
22
+
23
+ @pytest.mark.skip(reason="journal_plug plugin has been deprecated and archived")
23
24
  def test_import_plugins_journal(self):
24
- from tradedangerous.plugins import journal_plug
25
-
25
+ pytest.skip("journal_plug plugin is deprecated and archived")
26
+
27
+ @pytest.mark.skip(reason="netlog_plug plugin has been deprecated and archived")
26
28
  def test_import_plugins_netlog(self):
27
- from tradedangerous.plugins import netlog_plug
29
+ pytest.skip("netlog_plug plugin is deprecated and archived")
@@ -41,28 +41,14 @@ class TestTrade:
41
41
  captured = capsys.readouterr()
42
42
  assert "NOTE: Export Table 'System'" in captured.out
43
43
  # TODO: check that System.csv has a fresh date
44
-
44
+
45
+ @pytest.mark.skip(reason="station command deprecated; now prints deprecation banner")
45
46
  def test_station_remove(self, capsys):
46
- # "Dekker's Yard"
47
- trade([PROG, "station", "-rm", "sol/dekkers"])
48
- captured = capsys.readouterr()
49
- assert regex_findin(r"NOTE: Sol/Dekker's Yard \(#\d+\) removed", captured.out)
50
-
47
+ pytest.skip("station command deprecated; no longer edits DB directly")
48
+
49
+ @pytest.mark.skip(reason="station command deprecated; now prints deprecation banner")
51
50
  def test_station_add(self, capsys):
52
- # "Dekker's Yard"
53
- trade([
54
- PROG, "station", "--add", "--ls-from-star=5",
55
- "--market=Y",
56
- "--black-market=?",
57
- "--outfitting=?",
58
- "--pad-size=s",
59
- "--rearm=?",
60
- "--refuel=Y",
61
- "--repair=?",
62
- "--no-export",
63
- "sol/Dangerous Delight"])
64
- captured = capsys.readouterr()
65
- assert regex_findin(r"NOTE: Sol/Dangerous Delight \(#\d+\) added", captured.out)
51
+ pytest.skip("station command deprecated; no longer edits DB directly")
66
52
 
67
53
  def test_nav(self, capsys):
68
54
  trade([PROG, "nav", "--ly-per=50", "sol", "Shinrarta Dezhra"])
@@ -1,9 +1,9 @@
1
1
  import io
2
-
2
+ import os
3
3
  import pytest
4
+ import re
4
5
 
5
6
  from tradedangerous.cli import trade
6
-
7
7
  from .helpers import copy_fixtures, regex_findin, replace_stdin
8
8
 
9
9
  PROG = "trade"
@@ -15,50 +15,58 @@ def setup_module():
15
15
 
16
16
  class TestTradeRun:
17
17
  def test_run1(self, capsys):
18
- trade([PROG, "run", "--capacity=10", "--credits=10000", "--from=sol/abr", "--jumps-per=3", "--ly-per=10.5", "--no-planet"])
18
+ # Disable colour output for deterministic matching
19
+ os.environ["TD_NO_COLOR"] = "1"
20
+ trade([
21
+ PROG, "run",
22
+ "--capacity=10", "--credits=10000",
23
+ "--from=sol/abr", "--jumps-per=3",
24
+ "--ly-per=10.5", "--no-planet"
25
+ ])
19
26
  captured = capsys.readouterr()
20
27
  assert "Sol/Abraham Lincoln: 10 x Hydrogen Fuel," in captured.out
21
28
  assert "Sol/Burnell Station: 2 x Silver," in captured.out
22
29
  assert "560cr (213/ton)" in captured.out
23
-
30
+
24
31
  @pytest.mark.slow
25
32
  def test_run2(self, capsys):
33
+ os.environ["TD_NO_COLOR"] = "1"
26
34
  trade([
27
35
  PROG, "run", "-vv", "--progress", "--empty=82",
28
36
  "--cap=212", "--jumps=4", "--cr=2153796", "--from=sol/abr",
29
37
  "--hops=6", "--ls-m=8000", "--sup=10000",
30
- "--pad=L", "--ly=25", "--prune-hop=3", "--prune-sc=40"])
38
+ "--pad=L", "--ly=25", "--prune-hop=3", "--prune-sc=40"
39
+ ])
31
40
  captured = capsys.readouterr()
32
41
  assert regex_findin(r"=> est [\d\s,]+cr total", captured.out)
33
-
42
+
34
43
  @pytest.mark.slow
35
44
  def test_run3(self, capsys):
36
- """Testing --checklist
37
- """
38
- # monkeypatch.setattr('sys.stdin', io.StringIO('100'))
45
+ """Testing --checklist"""
46
+ os.environ["TD_NO_COLOR"] = "1"
39
47
  STEPS = 37
40
48
  with replace_stdin(io.StringIO('\n' * STEPS)):
41
49
  trade([
42
50
  PROG, "run", "-vv", "--progress", "--empty=82", "--checklist",
43
51
  "--cap=212", "--jumps=4", "--cr=2153796", "--from=sol/abr",
44
52
  "--hops=6", "--ls-m=8000", "--sup=10000",
45
- "--pad=L", "--ly=25", "--prune-hop=3", "--prune-sc=40"])
53
+ "--pad=L", "--ly=25", "--prune-hop=3", "--prune-sc=40"
54
+ ])
46
55
  captured = capsys.readouterr()
47
- # with capsys.disabled():
48
- # print("Here")
49
- # print(captured.out)
50
- # print("to Here")
51
56
  assert "BEGINNING CHECKLIST FOR Sol/Abraham Lincoln -> LHS 449/Fisher Point" in captured.out
52
- assert "35 : Sell 212 x Polymers"
53
-
57
+ assert "35 : Sell 212 x Polymers" in captured.out
58
+
54
59
  def test_run4(self, capsys):
55
- trade([PROG, "run", "--capacity=10", "--credits=10000", "--from=sol/abr", "--jumps-per=3", "--ly-per=10.5", "--start-jumps=2"])
60
+ os.environ["TD_NO_COLOR"] = "1"
61
+ trade([
62
+ PROG, "run",
63
+ "--capacity=10", "--credits=10000",
64
+ "--from=sol/abr", "--jumps-per=3",
65
+ "--ly-per=10.5", "--start-jumps=2"
66
+ ])
56
67
  captured = capsys.readouterr()
57
- # with capsys.disabled():
58
- # print("Here")
59
- # print(captured.out)
60
- # print("to Here")
68
+ # Legacy route verification (plain text, no ANSI)
61
69
  assert "Sol/Haberlandt Survey -> Sol/Durrance Camp" in captured.out
62
70
  assert " Sol/Haberlandt Survey: 5 x Reactive Armour," in captured.out
63
71
  assert " Sol/Ehrlich City: 10 x Building Fabricators," in captured.out
64
- assert " Sol/Durrance Camp +10 925cr (728/ton)"
72
+ assert re.search(r"Sol/Durrance Camp \+10,?925cr \(728/ton\)", captured.out)