plotman
Advanced tools
+10
-1
@@ -8,6 +8,15 @@ # Change Log | ||
| ## [0.5.3] - 2021-09-19 | ||
| ### Fixed | ||
| - Regression in v0.5.2 where plotting processes that lack log files caused a traceback. | ||
| ([#926](https://github.com/ericaltendorf/plotman/pull/926)) | ||
| - Create the directory for the new disk spaces log file. | ||
| ([#929](https://github.com/ericaltendorf/plotman/pull/929)) | ||
| - Better handle non-interactive uses that had trouble while detecting the (non-existant) terminal size. | ||
| ([#918](https://github.com/ericaltendorf/plotman/pull/918)) | ||
| ## [0.5.2] - 2021-09-12 | ||
| ### Fixed | ||
| - Temp files are correctly identified for cleanup. | ||
| ([#912](https://github.com/ericaltendorf/plotman/pull/913)) | ||
| ([#912](https://github.com/ericaltendorf/plotman/pull/912)) | ||
| - Correct where trailing `/` on dst directories resulted in them being considered unused. | ||
@@ -14,0 +23,0 @@ ([#920](https://github.com/ericaltendorf/plotman/pull/920)) |
+1
-1
| Metadata-Version: 2.1 | ||
| Name: plotman | ||
| Version: 0.5.2 | ||
| Version: 0.5.3 | ||
| Summary: Chia plotting manager | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/ericaltendorf/plotman |
| Metadata-Version: 2.1 | ||
| Name: plotman | ||
| Version: 0.5.2 | ||
| Version: 0.5.3 | ||
| Summary: Chia plotting manager | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/ericaltendorf/plotman |
@@ -13,3 +13,7 @@ import os | ||
| def analyze( | ||
| logfilenames: typing.List[str], clipterminals: bool, bytmp: bool, bybitfield: bool | ||
| logfilenames: typing.List[str], | ||
| clipterminals: bool, | ||
| bytmp: bool, | ||
| bybitfield: bool, | ||
| columns: int, | ||
| ) -> None: | ||
@@ -169,5 +173,4 @@ data: typing.Dict[str, typing.Dict[str, typing.List[float]]] = {} | ||
| (rows, columns) = os.popen("stty size", "r").read().split() | ||
| tab.set_max_width(int(columns)) | ||
| s = tab.draw() | ||
| print(s) |
@@ -331,2 +331,3 @@ import contextlib | ||
| os.makedirs(os.path.dirname(self.application), exist_ok=True) | ||
| os.makedirs(os.path.dirname(self.disk_spaces), exist_ok=True) | ||
@@ -347,9 +348,2 @@ def create_plot_log_path(self, time: pendulum.DateTime) -> str: | ||
| def create_tdisk_space_log_path(self, time: pendulum.DateTime) -> str: | ||
| return self._create_log_path( | ||
| time=time, | ||
| directory=self.disk_spaces, | ||
| group="disk_space", | ||
| ) | ||
| def _create_log_path( | ||
@@ -356,0 +350,0 @@ self, time: pendulum.DateTime, directory: str, group: str |
+11
-5
@@ -7,2 +7,3 @@ import contextlib | ||
| from datetime import datetime | ||
| import sys | ||
| import typing | ||
@@ -109,3 +110,3 @@ | ||
| logfile: str = "" | ||
| logfile: typing.Optional[str] = None | ||
| job_id: int = 0 | ||
@@ -194,6 +195,7 @@ proc: psutil.Process | ||
| ) | ||
| # TODO: stop reloading every time... | ||
| with open(job.logfile, "rb") as f: | ||
| r = f.read() | ||
| job.plotter.update(chunk=r) | ||
| if job.logfile is not None: | ||
| # TODO: stop reloading every time... | ||
| with open(job.logfile, "rb") as f: | ||
| r = f.read() | ||
| job.plotter.update(chunk=r) | ||
| jobs.append(job) | ||
@@ -260,2 +262,6 @@ | ||
| def print_logs(self, follow: bool = False) -> None: | ||
| if self.logfile is None: | ||
| print("no log file available for this plotting process", file=sys.stderr) | ||
| return | ||
| with open(self.logfile, "r") as f: | ||
@@ -262,0 +268,0 @@ if follow: |
@@ -164,8 +164,12 @@ import argparse | ||
| def get_term_width() -> int: | ||
| try: | ||
| (rows_string, columns_string) = os.popen("stty size", "r").read().split() | ||
| columns = int(columns_string) | ||
| except: | ||
| columns = 120 # 80 is typically too narrow. TODO: make a command line arg. | ||
| def get_term_width(cfg: configuration.PlotmanConfig) -> int: | ||
| default_columns = 120 # 80 is typically too narrow. | ||
| if cfg.user_interface.use_stty_size: | ||
| try: | ||
| (rows_string, columns_string) = os.popen("stty size", "r").read().split() | ||
| columns = int(columns_string) | ||
| except: | ||
| columns = default_columns | ||
| else: | ||
| columns = default_columns | ||
| return columns | ||
@@ -297,3 +301,7 @@ | ||
| analyzer.analyze( | ||
| args.logfile, args.clipterminals, args.bytmp, args.bybitfield | ||
| args.logfile, | ||
| args.clipterminals, | ||
| args.bytmp, | ||
| args.bybitfield, | ||
| get_term_width(cfg), | ||
| ) | ||
@@ -322,3 +330,3 @@ | ||
| result = "{0}\n\n{1}\n\nUpdated at: {2}".format( | ||
| reporting.status_report(jobs, get_term_width()), | ||
| reporting.status_report(jobs, get_term_width(cfg)), | ||
| reporting.summary(jobs), | ||
@@ -341,3 +349,3 @@ datetime.datetime.today().strftime("%c"), | ||
| cfg.scheduling, | ||
| get_term_width(), | ||
| get_term_width(cfg), | ||
| ) | ||
@@ -344,0 +352,0 @@ ) |
@@ -6,10 +6,13 @@ # Default/example plotman.yaml configuration file | ||
| logging: | ||
| # One directory in which to store all plot job logs (the STDOUT/ | ||
| # STDERR of all plot jobs). In order to monitor progress, plotman | ||
| # reads these logs on a regular basis, so using a fast drive is | ||
| # recommended. | ||
| plots: /home/chia/chia/logs | ||
| # transfers: | ||
| # application: | ||
| #logging: | ||
| # # One directory in which to store all plot job logs (the STDOUT/ | ||
| # # STDERR of all plot jobs). In order to monitor progress, plotman | ||
| # # reads these logs on a regular basis, so using a fast drive is | ||
| # # recommended. | ||
| # # For Linux, these paths default to a directory under ~/.local/share/plotman/ | ||
| # plots: <directory> | ||
| # transfers: <directory> | ||
| # # For Linux, these paths default to a file at ~/.cache/plotman/log/ | ||
| # application: <file> | ||
| # disk_spaces: <file> | ||
@@ -16,0 +19,0 @@ # Options for display and rendering |
+1
-1
@@ -1,1 +0,1 @@ | ||
| 0.5.2 | ||
| 0.5.3 |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
788268
0.12%6667
0.17%