mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-08 15:28:26 +01:00
* use logger.getChild from `dvc.log` instead of `logging.getLogger` I got tired adding `# type: ignore[attr-defined]` while using `logger.trace`. So, now you need to import logger from `from dvc.log import logger` and create a child logger using `logger.getChild(__name__)`. `logger.getChild` will return a logger type-hinted as a logger having a `trace` method. So, from now on, instead of: ```python import logging logger = logging.getogger(__name__) ``` you'll have to do following: ```python from dvc.log import logger logger = logger.getChild(__name__) ``` * remove all dvc imports from dvc.logger * use Tqdm back
42 lines
781 B
Python
42 lines
781 B
Python
import os
|
|
from abc import ABC, abstractmethod
|
|
from typing import TYPE_CHECKING, Any
|
|
|
|
from dvc.log import logger
|
|
|
|
if TYPE_CHECKING:
|
|
from dvc.config import Config
|
|
|
|
logger = logger.getChild(__name__)
|
|
|
|
|
|
class CmdBase(ABC):
|
|
UNINITIALIZED = False
|
|
|
|
def __init__(self, args: Any):
|
|
from dvc.repo import Repo
|
|
|
|
os.chdir(args.cd)
|
|
|
|
self.repo: "Repo" = Repo(uninitialized=self.UNINITIALIZED)
|
|
self.config: "Config" = self.repo.config
|
|
self.args = args
|
|
|
|
def do_run(self):
|
|
with self.repo:
|
|
return self.run()
|
|
|
|
@abstractmethod
|
|
def run(self):
|
|
pass
|
|
|
|
|
|
class CmdBaseNoRepo(CmdBase):
|
|
def __init__(self, args):
|
|
self.args = args
|
|
|
|
os.chdir(args.cd)
|
|
|
|
def do_run(self):
|
|
return self.run()
|