tradedangerous 10.16.9__py3-none-any.whl → 10.16.11__py3-none-any.whl
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.
- tradedangerous/cache.py +2 -2
- tradedangerous/plugins/eddblink_plug.py +6 -6
- tradedangerous/plugins/spansh_plug.py +1 -1
- tradedangerous/tradeenv.py +99 -32
- tradedangerous/version.py +1 -1
- {tradedangerous-10.16.9.dist-info → tradedangerous-10.16.11.dist-info}/METADATA +1 -1
- {tradedangerous-10.16.9.dist-info → tradedangerous-10.16.11.dist-info}/RECORD +11 -11
- {tradedangerous-10.16.9.dist-info → tradedangerous-10.16.11.dist-info}/LICENSE +0 -0
- {tradedangerous-10.16.9.dist-info → tradedangerous-10.16.11.dist-info}/WHEEL +0 -0
- {tradedangerous-10.16.9.dist-info → tradedangerous-10.16.11.dist-info}/entry_points.txt +0 -0
- {tradedangerous-10.16.9.dist-info → tradedangerous-10.16.11.dist-info}/top_level.txt +0 -0
tradedangerous/cache.py
CHANGED
|
@@ -919,7 +919,7 @@ def buildCache(tdb, tdenv):
|
|
|
919
919
|
|
|
920
920
|
tdenv.NOTE(
|
|
921
921
|
"Rebuilding cache file: this may take a few moments.",
|
|
922
|
-
|
|
922
|
+
stderr=True,
|
|
923
923
|
)
|
|
924
924
|
|
|
925
925
|
dbPath = tdb.dbPath
|
|
@@ -963,7 +963,7 @@ def buildCache(tdb, tdenv):
|
|
|
963
963
|
tdenv.NOTE(
|
|
964
964
|
"Missing \"{}\" file - no price data.",
|
|
965
965
|
pricesPath,
|
|
966
|
-
|
|
966
|
+
stderr=True,
|
|
967
967
|
)
|
|
968
968
|
|
|
969
969
|
tempDB.commit()
|
|
@@ -179,6 +179,7 @@ class ImportPlugin(plugins.ImportPluginBase):
|
|
|
179
179
|
|
|
180
180
|
self.tdenv.NOTE("Downloading file '{}'.", path)
|
|
181
181
|
transfers.download(self.tdenv, url, localPath)
|
|
182
|
+
os.utime(localPath, (dumpModded, dumpModded))
|
|
182
183
|
return True
|
|
183
184
|
|
|
184
185
|
def purgeSystems(self):
|
|
@@ -469,10 +470,6 @@ class ImportPlugin(plugins.ImportPluginBase):
|
|
|
469
470
|
|
|
470
471
|
# Download required files and update tables.
|
|
471
472
|
buildCache = False
|
|
472
|
-
if self.getOption("purge"):
|
|
473
|
-
self.purgeSystems()
|
|
474
|
-
self.commit()
|
|
475
|
-
|
|
476
473
|
if self.getOption("upgrade"):
|
|
477
474
|
if self.downloadFile(self.upgradesPath) or self.getOption("force"):
|
|
478
475
|
self.downloadFile(self.FDevOutfittingPath)
|
|
@@ -512,14 +509,17 @@ class ImportPlugin(plugins.ImportPluginBase):
|
|
|
512
509
|
if buildCache:
|
|
513
510
|
cache.buildCache(self.tdb, self.tdenv)
|
|
514
511
|
|
|
512
|
+
if self.getOption("purge"):
|
|
513
|
+
self.purgeSystems()
|
|
514
|
+
# self.commit()
|
|
515
|
+
|
|
515
516
|
if self.getOption("listings"):
|
|
516
517
|
if self.downloadFile(self.listingsPath) or self.getOption("force"):
|
|
517
518
|
self.importListings(self.listingsPath)
|
|
518
519
|
if self.downloadFile(self.liveListingsPath) or self.getOption("force"):
|
|
519
520
|
self.importListings(self.liveListingsPath)
|
|
520
521
|
|
|
521
|
-
self.commit()
|
|
522
|
-
|
|
522
|
+
# self.commit()
|
|
523
523
|
self.tdb.close()
|
|
524
524
|
|
|
525
525
|
if self.getOption("listings"):
|
|
@@ -218,7 +218,7 @@ class ImportPlugin(plugins.ImportPluginBase):
|
|
|
218
218
|
self.execute('COMMIT')
|
|
219
219
|
self.tdb.close()
|
|
220
220
|
# Need to make sure cached tables are updated
|
|
221
|
-
for table in [ "Item", "Station", "System"
|
|
221
|
+
for table in [ "Item", "Station", "System" ]:
|
|
222
222
|
_, path = csvexport.exportTableToFile( self.tdb, self.tdenv, table )
|
|
223
223
|
|
|
224
224
|
self.print(
|
tradedangerous/tradeenv.py
CHANGED
|
@@ -1,18 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
# The runtime environment TD tools are expected to run with is encapsulated
|
|
2
|
+
# into a single object, the TradeEnv. See TradeEnv docstring for more.
|
|
3
|
+
from __future__ import annotations
|
|
2
4
|
|
|
3
5
|
import os
|
|
4
|
-
import traceback
|
|
5
6
|
import sys
|
|
7
|
+
import traceback
|
|
8
|
+
import typing
|
|
9
|
+
from contextlib import contextmanager
|
|
10
|
+
|
|
11
|
+
# Import some utilities from the 'rich' library that provide ways to colorize and animate
|
|
12
|
+
# the console output, along with other useful features.
|
|
13
|
+
# If the user has 'EXCEPTIONS' defined to something in the environment, then we can
|
|
14
|
+
# immediately benefit from beautified stacktraces.
|
|
15
|
+
from rich.console import Console
|
|
16
|
+
from rich.traceback import install as install_rich_traces
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
if typing.TYPE_CHECKING:
|
|
20
|
+
from typing import Any, Dict, Iterator
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
_ROOT = os.path.abspath(os.path.dirname(__file__))
|
|
7
24
|
|
|
8
25
|
|
|
9
|
-
|
|
26
|
+
# Create a single instance of the console for everyone to use, unless they really
|
|
27
|
+
# want to do something unusual.
|
|
28
|
+
CONSOLE = Console()
|
|
29
|
+
STDERR = Console(stderr=True)
|
|
30
|
+
|
|
31
|
+
if os.getenv("EXCEPTIONS"):
|
|
32
|
+
# This makes call stacks show additional context and do syntax highlighting
|
|
33
|
+
# that can turn reading a callstack from hours into seconds.
|
|
34
|
+
install_rich_traces(console=STDERR, show_locals=False, extra_lines=1)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class TradeEnv:
|
|
10
38
|
"""
|
|
11
|
-
Container for a TradeDangerous "environment", which is a
|
|
12
|
-
collection of operational parameters.
|
|
39
|
+
Container for a TradeDangerous "environment", which is a collection of operational parameters.
|
|
13
40
|
|
|
14
|
-
To print debug lines, use DEBUG<N>, e.g. DEBUG0, which
|
|
15
|
-
takes a format() string and parameters, e.g.
|
|
41
|
+
To print debug lines, use DEBUG<N>, e.g. DEBUG0, which takes a format() string and parameters, e.g.
|
|
16
42
|
|
|
17
43
|
DEBUG1("hello, {world}{}", "!", world="world")
|
|
18
44
|
|
|
@@ -35,51 +61,90 @@ class TradeEnv(object):
|
|
|
35
61
|
'csvDir': os.environ.get('TD_CSV') or os.environ.get('TD_DATA') or os.path.join(os.getcwd(), 'data'),
|
|
36
62
|
'tmpDir': os.environ.get('TD_TMP') or os.path.join(os.getcwd(), 'tmp'),
|
|
37
63
|
'templateDir': os.path.join(_ROOT, 'templates'),
|
|
38
|
-
'cwDir': os.getcwd()
|
|
64
|
+
'cwDir': os.getcwd(),
|
|
65
|
+
'console': CONSOLE,
|
|
66
|
+
'stderr': STDERR,
|
|
39
67
|
}
|
|
40
68
|
|
|
41
69
|
encoding = sys.stdout.encoding
|
|
70
|
+
|
|
42
71
|
if str(sys.stdout.encoding).upper() != 'UTF-8':
|
|
43
|
-
|
|
44
|
-
|
|
72
|
+
def uprint(self, *args, stderr: bool = False, style: str = None, **kwargs) -> None:
|
|
73
|
+
""" unicode-handling print: when the stdout stream is not utf-8 supporting,
|
|
74
|
+
we do a little extra io work to ensure users don't get confusing unicode
|
|
75
|
+
errors. When the output stream *is* utf-8, tradeenv replaces this method
|
|
76
|
+
with a less expensive method.
|
|
77
|
+
:param stderr: report to stderr instead of stdout
|
|
78
|
+
:param style: specify a 'rich' console style to use when the stream supports it
|
|
79
|
+
"""
|
|
80
|
+
console = self.stderr if stderr else self.console
|
|
45
81
|
try:
|
|
46
|
-
print
|
|
82
|
+
# Attempt to print; the 'file' argument isn't spuported by rich, so we'll
|
|
83
|
+
# need to fall-back on old print when someone specifies it.
|
|
84
|
+
console.print(*args, style=style, **kwargs)
|
|
85
|
+
|
|
47
86
|
except UnicodeEncodeError as e:
|
|
87
|
+
# Characters in the output couldn't be translated to unicode.
|
|
48
88
|
if not self.quiet:
|
|
49
|
-
print(
|
|
50
|
-
"CAUTION: Your terminal/console couldn't handle some "
|
|
89
|
+
self.stderr.print(
|
|
90
|
+
"[orange3][bold]CAUTION: Your terminal/console couldn't handle some "
|
|
51
91
|
"text I tried to print."
|
|
52
92
|
)
|
|
53
93
|
if 'EXCEPTIONS' in os.environ:
|
|
54
94
|
traceback.print_exc()
|
|
55
95
|
else:
|
|
56
|
-
print(
|
|
96
|
+
self.stderr.print(e)
|
|
97
|
+
|
|
98
|
+
# Try to translate each ary into a viable stirng using utf error-replacement.
|
|
57
99
|
strs = [
|
|
58
|
-
str(arg)
|
|
59
|
-
encode(TradeEnv.encoding, errors
|
|
60
|
-
decode(TradeEnv.encoding)
|
|
100
|
+
str(arg)
|
|
101
|
+
.encode(TradeEnv.encoding, errors="replace")
|
|
102
|
+
.decode(TradeEnv.encoding)
|
|
61
103
|
for arg in args
|
|
62
104
|
]
|
|
63
|
-
print(*strs, **kwargs)
|
|
105
|
+
console.print(*strs, style=style, **kwargs)
|
|
64
106
|
|
|
65
107
|
else:
|
|
66
|
-
uprint =
|
|
108
|
+
def uprint(self, *args, stderr: bool = False, style: str = None, **kwargs) -> None:
|
|
109
|
+
""" unicode-handling print: when the stdout stream is not utf-8 supporting,
|
|
110
|
+
this method is replaced with one that tries to provide users better support
|
|
111
|
+
when a unicode error appears in the wild.
|
|
112
|
+
|
|
113
|
+
:param file: [optional] stream to write to (disables styles/rich support)
|
|
114
|
+
:param style: [optional] specify a rich style for the output text
|
|
115
|
+
"""
|
|
116
|
+
console = self.stderr if stderr else self.console
|
|
117
|
+
console.print(*args, style=style, **kwargs)
|
|
67
118
|
|
|
68
|
-
|
|
69
|
-
|
|
119
|
+
|
|
120
|
+
def __init__(self, properties: Optional[Union[argparse.Namespace, Dict]] = None, **kwargs) -> None:
|
|
121
|
+
# Inject the defaults into ourselves in a dict-like way
|
|
70
122
|
self.__dict__.update(self.defaults)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
123
|
+
|
|
124
|
+
# If properties is a namespace, extract the dictionary; otherwise use it as-is
|
|
125
|
+
if properties and hasattr(properties, '__dict__'): # which arparse.Namespace has
|
|
126
|
+
properties = properties.__dict__
|
|
127
|
+
# Merge into our dictionary
|
|
128
|
+
self.__dict__.update(properties or {})
|
|
129
|
+
|
|
130
|
+
# Merge the kwargs dictionary
|
|
131
|
+
self.__dict__.update(kwargs or {})
|
|
132
|
+
|
|
133
|
+
# When debugging has been enabled on startup, enable slightly more
|
|
134
|
+
# verbose rich backtraces.
|
|
135
|
+
if self.__dict__['debug']:
|
|
136
|
+
install_rich_traces(console=STDERR, show_locals=True, extra_lines=2)
|
|
137
|
+
|
|
138
|
+
def __getattr__(self, key: str) -> Any:
|
|
77
139
|
""" Return the default for attributes we don't have """
|
|
140
|
+
|
|
141
|
+
# The first time the DEBUG attribute is referenced, register a method for it.
|
|
78
142
|
if key.startswith("DEBUG"):
|
|
79
143
|
|
|
80
144
|
# Self-assembling DEBUGN functions
|
|
81
145
|
def __DEBUG_ENABLED(outText, *args, **kwargs):
|
|
82
|
-
|
|
146
|
+
# Give debug output a less contrasted color.
|
|
147
|
+
self.console.print(f"[dim]#{outText.format(*args, **kwargs)}[/dim]")
|
|
83
148
|
|
|
84
149
|
def __DEBUG_DISABLED(*args, **kwargs):
|
|
85
150
|
pass
|
|
@@ -96,10 +161,11 @@ class TradeEnv(object):
|
|
|
96
161
|
|
|
97
162
|
if key == "NOTE":
|
|
98
163
|
|
|
99
|
-
def __NOTE_ENABLED(outText, *args,
|
|
164
|
+
def __NOTE_ENABLED(outText, *args, stderr: bool = False, **kwargs):
|
|
100
165
|
self.uprint(
|
|
101
166
|
"NOTE:", str(outText).format(*args, **kwargs),
|
|
102
|
-
|
|
167
|
+
style="bold",
|
|
168
|
+
stderr=stderr,
|
|
103
169
|
)
|
|
104
170
|
|
|
105
171
|
def __NOTE_DISABLED(*args, **kwargs):
|
|
@@ -115,10 +181,11 @@ class TradeEnv(object):
|
|
|
115
181
|
|
|
116
182
|
if key == "WARN":
|
|
117
183
|
|
|
118
|
-
def _WARN_ENABLED(outText, *args,
|
|
184
|
+
def _WARN_ENABLED(outText, *args, stderr: bool = False, **kwargs):
|
|
119
185
|
self.uprint(
|
|
120
186
|
"WARNING:", str(outText).format(*args, **kwargs),
|
|
121
|
-
|
|
187
|
+
style="orange3",
|
|
188
|
+
stderr=stderr,
|
|
122
189
|
)
|
|
123
190
|
|
|
124
191
|
def _WARN_DISABLED(*args, **kwargs):
|
tradedangerous/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tradedangerous
|
|
3
|
-
Version: 10.16.
|
|
3
|
+
Version: 10.16.11
|
|
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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
tradedangerous/__init__.py,sha256=5ZeypoZaM8hlh6c-yTkD8x5hZYP8q3Q8a3bVeicHr90,1122
|
|
2
|
-
tradedangerous/cache.py,sha256=
|
|
2
|
+
tradedangerous/cache.py,sha256=PvXo4EaKVUcU-h5akCFQpClK_zVxNu0BzGEIJf5ffB0,33848
|
|
3
3
|
tradedangerous/cli.py,sha256=ycGkzMszwpP9OrngFIyhQbYoZ2wzRhJMTDCW1YhLrNI,4727
|
|
4
4
|
tradedangerous/corrections.py,sha256=QMs-7MKLw2imFgIHthnwcpqWT1yJTb3CrABJw9LaKLA,1441
|
|
5
5
|
tradedangerous/csvexport.py,sha256=OcOKe_VIgafw6rCvG3k5tM11KwwoYXMNY5DSSfCC0mU,8705
|
|
@@ -16,12 +16,12 @@ tradedangerous/tools.py,sha256=pp-4WtA12SVaaQHFJFOMTF7EDFRCU2mQeOhC4xoXmEk,1331
|
|
|
16
16
|
tradedangerous/trade.py,sha256=vBEJZR3Bybesw9FMelcHOTRA7KqKeH-4_wqbJ4VMB_E,1779
|
|
17
17
|
tradedangerous/tradecalc.py,sha256=GyuYZNuyfn0y0eoPbxDEI7dxTJtHmRXAKFMpiR0Z1iU,42004
|
|
18
18
|
tradedangerous/tradedb.py,sha256=6JzoSAiW1WJjkWxeGMJkN63GHTBp9RA0dkfRviuEHeM,73515
|
|
19
|
-
tradedangerous/tradeenv.py,sha256=
|
|
19
|
+
tradedangerous/tradeenv.py,sha256=8uByR4m-xzZxNSBLQnDHS4uJMPohf3mP5R_rsXnhmds,7887
|
|
20
20
|
tradedangerous/tradeexcept.py,sha256=aZ-Y31MbkjF7lmAzBAbaMsPPE7FEEfuf4gaX2GvriDk,368
|
|
21
21
|
tradedangerous/tradegui.py,sha256=JbGFnsWupgesk6hrcUgKSdD9NNDyo0U9gh6m3DccAwU,782
|
|
22
22
|
tradedangerous/transfers.py,sha256=NmXXk2aF88YkAvYqc9Syt_aO6d2jJjC-OxoRFoOyQH4,9923
|
|
23
23
|
tradedangerous/utils.py,sha256=PUPvAEqUyxYGqqQa0b_yfLAvq8YVUxK6HfdS-CxM-Lo,5186
|
|
24
|
-
tradedangerous/version.py,sha256=
|
|
24
|
+
tradedangerous/version.py,sha256=BV5It3d62BF5GhEeSfIzL1rZ7TJs5UsvyfMfrDKf4lc,648
|
|
25
25
|
tradedangerous/commands/TEMPLATE.py,sha256=7oXL124aqxGHwnb0h9yRylUiwc6M5QrRrGVrubwI1gg,2124
|
|
26
26
|
tradedangerous/commands/__init__.py,sha256=6B0WuqkFBOll5Hj67yKDAnhmyr5ZAnHc6nzUNEUh384,9640
|
|
27
27
|
tradedangerous/commands/buildcache_cmd.py,sha256=oJvP06fA8svnHrfrpWkHKR16cba8GIhHdMOyZqds18Y,2332
|
|
@@ -62,18 +62,18 @@ tradedangerous/misc/progress.py,sha256=-_V7E51sIYUtSxeeA1cphBEW4A_OBuH1guEDxUjik
|
|
|
62
62
|
tradedangerous/plugins/__init__.py,sha256=zCEVbTem1CAM1cOV9r96H3ikjqza3dd-XoaubE5_xkc,7868
|
|
63
63
|
tradedangerous/plugins/edapi_plug.py,sha256=IQxfDGM9IqwuJbDZRL8RFIyGMWzd0YmeJVWUVPDA3Ik,42275
|
|
64
64
|
tradedangerous/plugins/edcd_plug.py,sha256=ZPtRzLhcQZEiwEo3AoPyk3Uy4UmRLM6gv2Qi1s7K_Vs,14469
|
|
65
|
-
tradedangerous/plugins/eddblink_plug.py,sha256=
|
|
65
|
+
tradedangerous/plugins/eddblink_plug.py,sha256=7lqUjXQrZFuEBsXZNNmX6lQvGuqZeWrVSJI_nzAIqys,22033
|
|
66
66
|
tradedangerous/plugins/edmc_batch_plug.py,sha256=3Ptr-SZqaZFR8ViIIrp9Ak7rvfU3zl11AZYBhIceN7s,4224
|
|
67
67
|
tradedangerous/plugins/journal_plug.py,sha256=K1oIeI7E3mb04fvYLXyoAh7fOTyM9NBelibTI88MIDQ,23696
|
|
68
68
|
tradedangerous/plugins/netlog_plug.py,sha256=Gw_HSZWpN17D--OIYEM3Vo8y9SvDOv9UwAUfY24kz28,13460
|
|
69
|
-
tradedangerous/plugins/spansh_plug.py,sha256=
|
|
69
|
+
tradedangerous/plugins/spansh_plug.py,sha256=WOpTm9C4oXPfFeEaSQtcu82OqX1uAuNGNy8wVY4iw_I,21792
|
|
70
70
|
tradedangerous/templates/Added.csv,sha256=8o54civQCcS9y7_DBo0GX196XWRbbREQqKDYTKibsgQ,649
|
|
71
71
|
tradedangerous/templates/Category.csv,sha256=8xwUDcBZE25T6x6dZGlRUMTCqeDLt3a9LXU5h6hRHV8,250
|
|
72
72
|
tradedangerous/templates/RareItem.csv,sha256=F1RhRnTD82PiwrVUO-ai2ErGH2PTqNnQaDw5mcgljXs,10483
|
|
73
73
|
tradedangerous/templates/TradeDangerous.sql,sha256=kHZ7JBSY5lh2DnqayAxoO-apvXKB510SqhAzkT21YHY,8138
|
|
74
|
-
tradedangerous-10.16.
|
|
75
|
-
tradedangerous-10.16.
|
|
76
|
-
tradedangerous-10.16.
|
|
77
|
-
tradedangerous-10.16.
|
|
78
|
-
tradedangerous-10.16.
|
|
79
|
-
tradedangerous-10.16.
|
|
74
|
+
tradedangerous-10.16.11.dist-info/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
|
|
75
|
+
tradedangerous-10.16.11.dist-info/METADATA,sha256=3ABvfKWRpcrTpz8weaPffXQJ5eTllqRD1R6XkzPUFb0,4422
|
|
76
|
+
tradedangerous-10.16.11.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
77
|
+
tradedangerous-10.16.11.dist-info/entry_points.txt,sha256=pSwa-q0ob443uiKux7xFKYQl8uen66iDTnjdrQhNLx8,92
|
|
78
|
+
tradedangerous-10.16.11.dist-info/top_level.txt,sha256=bF29i-oEltmNICgElEKxNsg83oahJvxg3a7YrxZi9Rk,15
|
|
79
|
+
tradedangerous-10.16.11.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|