Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
45 changes: 45 additions & 0 deletions homeworks/ErmolaevDenis/6/my-awesome-script/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import argparse
from pygments import highlight
from pygments.formatters import TerminalFormatter
from pygments.lexers import PythonLexer
from cowpy import cow
from datetime import datetime
import pytz

def highligh_func(text: str):
print(highlight(text, PythonLexer(), TerminalFormatter()))


def cowsay(text: str):
print(cow.milk_random_cow(text))


def time(timezone):
local_date = datetime.now(pytz.timezone(timezone))
print("{0} {1}".format(local_date.date(), local_date.time()))

def main():
parse_input()

comands_dict = {'highlight': highligh_func, 'cowsay': cowsay, 'time': time}


def parse_input():
parser = argparse.ArgumentParser()
parser.add_argument('operation', type=str,
choices=['highlight', 'cowsay', 'time'],
help='Enter comand from this list'
)
parser.add_argument('param', type=str,
help='''Enter <text> for highlight or cowsay,
or <Region/City> for time'''
)
args = parser.parse_args()
use_comand(args.operation, args.param)


def use_comand(comand, param):
comands_dict[comand](param)

if __name__ == '__main__':
main()
145 changes: 145 additions & 0 deletions homeworks/ErmolaevDenis/6/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 24 additions & 0 deletions homeworks/ErmolaevDenis/6/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[tool.poetry]
name = "my-awesome-script"
version = "0.1.0"
description = ""
authors = ["ErmolaevDenis <den.ermolaev.2003@mail.ru>"]
readme = "README.md"
packages = [{include = "my-awesome-script"}]

[tool.poetry.dependencies]
python = "^3.10"
pygments = "^2.13.0"
pytz = "^2022.5"
cowpy = "^1.1.5"
argparse = "^1.4.0"
datetime = "^4.7"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


[tool.poetry.scripts]
my-awesome-script = "my-awesome-script.__main__:main"