Skip to content
This repository has been archived by the owner on Aug 13, 2021. It is now read-only.

Commit

Permalink
Merge pull request #3 from chrismaille/develop
Browse files Browse the repository at this point in the history
Version 1.1.1
  • Loading branch information
chrismaille committed Feb 21, 2018
2 parents bdf21ae + 0e57ff2 commit cb4ec8d
Show file tree
Hide file tree
Showing 5 changed files with 177 additions and 85 deletions.
2 changes: 1 addition & 1 deletion buzio/__init__.py
Expand Up @@ -13,7 +13,7 @@

init()

__version__ = "1.1.0"
__version__ = "1.1.1"

console = Console()
formatStr = Console(format_only=True)
69 changes: 36 additions & 33 deletions buzio/cli.py
Expand Up @@ -142,12 +142,16 @@ def _humanize(self, obj, **kwargs):
else:
ret = obj.isoformat()
elif isinstance(obj, list) or isinstance(obj, tuple):
ret = ", ".join([
humanize_list = [
self._humanize(data, **kwargs)
for data in obj
])
]
if self.transform and 'breakline' in self.transform:
ret = "\n".join(humanize_list)
else:
ret = ", ".join(humanize_list)
elif isinstance(obj, dict):
if kwargs.pop('show_counters', False):
if self.transform and 'show_counters' in self.transform:
ret = "\n".join([
"({}) {}: {}".format(
i + 1,
Expand Down Expand Up @@ -180,7 +184,10 @@ def _print(self, linebreak=False):
Description
"""
if self.prefix:
self.text = "{}: {}".format(self.prefix, self.text)
if self.transform and 'breakline' in self.transform:
self.text = "{}:\n{}".format(self.prefix, self.text)
else:
self.text = "{}: {}".format(self.prefix, self.text)

if self.transform:
if 'title' in self.transform:
Expand All @@ -203,10 +210,18 @@ def _print(self, linebreak=False):
]

if not self.format_only:
print("\n".join(self.text), end="\n" if linebreak else "")
print("\n".join(self.text), end="\n" if linebreak else "" + "\n")

string = "{}".format("\n" if linebreak else "")
return string.join(self.text)
return format(string.join(self.text))

def _run_style(self, obj, theme, transform,
use_prefix, prefix, humanize, **kwargs):
self.transform = transform
self.text = self._humanize(obj, **kwargs) if humanize else obj
self.prefix = prefix if use_prefix else ""
self.theme = theme
return self._print()

def success(
self,
Expand All @@ -229,11 +244,8 @@ def success(
Returns:
TYPE: Description
"""
self.text = self._humanize(obj, **kwargs) if humanize else obj
self.prefix = prefix if use_prefix else ""
self.theme = theme
self.transform = transform
return self._print()
return self._run_style(obj, theme, transform,
use_prefix, prefix, humanize, **kwargs)

def info(
self,
Expand All @@ -256,11 +268,8 @@ def info(
Returns:
TYPE: Description
"""
self.text = self._humanize(obj, **kwargs) if humanize else obj
self.prefix = prefix if use_prefix else ""
self.theme = theme
self.transform = transform
return self._print()
return self._run_style(obj, theme, transform,
use_prefix, prefix, humanize, **kwargs)

def warning(
self,
Expand All @@ -283,11 +292,8 @@ def warning(
Returns:
TYPE: Description
"""
self.text = self._humanize(obj, **kwargs) if humanize else obj
self.prefix = prefix if use_prefix else ""
self.theme = theme
self.transform = transform
return self._print()
return self._run_style(obj, theme, transform,
use_prefix, prefix, humanize, **kwargs)

def error(
self,
Expand All @@ -310,11 +316,8 @@ def error(
Returns:
TYPE: Description
"""
self.text = self._humanize(obj, **kwargs) if humanize else obj
self.prefix = prefix if use_prefix else ""
self.theme = theme
self.transform = transform
return self._print()
return self._run_style(obj, theme, transform,
use_prefix, prefix, humanize, **kwargs)

def section(
self,
Expand All @@ -339,6 +342,7 @@ def section(
Returns:
TYPE: Description
"""
self.transform = transform
self.text = self._humanize(obj, **kwargs) if humanize else obj
if transform and 'center' in transform:
format_text = "> {:^{num}} <"
Expand Down Expand Up @@ -368,7 +372,6 @@ def section(
)
self.prefix = prefix if use_prefix else ""
self.theme = theme
self.transform = transform
return self._print()

def box(self, obj, theme="box", transform=None, humanize=True, **kwargs):
Expand All @@ -389,6 +392,7 @@ def box(self, obj, theme="box", transform=None, humanize=True, **kwargs):
Returns:
TYPE: Description
"""
self.transform = transform
self.text = self._humanize(obj, **kwargs) if humanize else obj
line_sizes = [
len(line)
Expand All @@ -413,7 +417,6 @@ def box(self, obj, theme="box", transform=None, humanize=True, **kwargs):
horizontal_line
)
self.theme = theme
self.transform = transform
self.prefix = None
return self._print()

Expand Down Expand Up @@ -442,6 +445,7 @@ def confirm(
if default is not None and not isinstance(default, bool):
raise ValueError("Default must be a boolean")

self.transform = transform
if obj:
self.text = self._humanize(obj, **kwargs) if humanize else obj
else:
Expand All @@ -452,7 +456,6 @@ def confirm(
_("(y/n)"),
"[{}]".format(self._humanize(default, **kwargs)[0])
if default is not None else "")
self.transform = transform
self.prefix = None
self.theme = theme
self._print(linebreak=False)
Expand Down Expand Up @@ -508,6 +511,7 @@ def choose(
else:
default_index = None

self.transform = transform
i = 1
self.text = ""
for choice in choices:
Expand All @@ -518,7 +522,6 @@ def choose(
i += 1
answered = False
self.theme = theme
self.transform = transform
self.prefix = False
self._print()
if self.format_only:
Expand Down Expand Up @@ -562,12 +565,12 @@ def unitext(self, obj, theme=None, transform=None,
Returns:
TYPE: Description
"""
self.transform = transform
self.text = self._humanize(obj, **kwargs) if humanize else obj
if hasattr(str, 'decode'):
self.text = self.text.decode("utf-8")
self.text = unidecode(self.text)
self.theme = theme
self.transform = transform
self.prefix = False
return self._print()

Expand Down Expand Up @@ -662,9 +665,9 @@ def ask(
Raises:
ValueError: Description
"""
self.transform = transform
self.text = self._humanize(obj, **kwargs) if humanize else obj
self.theme = theme
self.transform = transform
self.prefix = None
self.text = "{}{}".format(
self.text,
Expand Down Expand Up @@ -730,6 +733,7 @@ def select(self,
obj[default]
except (ValueError, IndexError):
raise ValueError("Select default not valid")
self.transform = None
options = [
self._humanize(item, **kwargs) if humanize else item
for item in obj
Expand All @@ -746,7 +750,6 @@ def select(self,

answered = False
self.theme = theme
self.transform = None
self.prefix = False
self.text = "{}: {}{}".format(
question if question else _("Select"),
Expand Down

0 comments on commit cb4ec8d

Please sign in to comment.