diff --git a/homeworks/Zakharov Ilya/hw1/.idea/.gitignore b/homeworks/Zakharov Ilya/hw1/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/homeworks/Zakharov Ilya/hw1/.idea/hw1.iml b/homeworks/Zakharov Ilya/hw1/.idea/hw1.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/.idea/hw1.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw1/.idea/inspectionProfiles/profiles_settings.xml b/homeworks/Zakharov Ilya/hw1/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw1/.idea/misc.xml b/homeworks/Zakharov Ilya/hw1/.idea/misc.xml new file mode 100644 index 0000000..dc9ea49 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw1/.idea/modules.xml b/homeworks/Zakharov Ilya/hw1/.idea/modules.xml new file mode 100644 index 0000000..fc3e4a5 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw1/.idea/vcs.xml b/homeworks/Zakharov Ilya/hw1/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw1/main.py b/homeworks/Zakharov Ilya/hw1/main.py new file mode 100644 index 0000000..8c7379f --- /dev/null +++ b/homeworks/Zakharov Ilya/hw1/main.py @@ -0,0 +1,30 @@ +x = int(0) +answer = input("Какая версия языка сейчас актуальна? ") +if answer.upper() == 'PYTHON3': + print("ответ " + answer + " верен") + x = x + 1 +else: + print("неверный ответ") + +answer = input("Какая кодировка используется в строках? ") +if answer.upper() == 'UTF8': + print("ответ " + answer + " верен") + x = x + 1 +else: + print("неверный ответ") + +answer = input("Какой оператор сравнения нужно использовать для работы с None и bool? ") +if answer.upper() == 'IS': + print("ответ " + answer + " верен") + x = x + 1 +else: + print("неверный ответ") + +answer = input("Сколько значений есть у bool? ") +if answer.upper() == '2': + print("ответ " + answer + " верен") + x = x + 1 +else: + print("неверный ответ") + +print("было дано 4 ответа, правильно из них", x) \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw2/.idea/.gitignore b/homeworks/Zakharov Ilya/hw2/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw2/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/homeworks/Zakharov Ilya/hw2/.idea/hw2.iml b/homeworks/Zakharov Ilya/hw2/.idea/hw2.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw2/.idea/hw2.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw2/.idea/inspectionProfiles/profiles_settings.xml b/homeworks/Zakharov Ilya/hw2/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw2/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw2/.idea/misc.xml b/homeworks/Zakharov Ilya/hw2/.idea/misc.xml new file mode 100644 index 0000000..dc9ea49 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw2/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw2/.idea/modules.xml b/homeworks/Zakharov Ilya/hw2/.idea/modules.xml new file mode 100644 index 0000000..b3c4100 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw2/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw2/main.py b/homeworks/Zakharov Ilya/hw2/main.py new file mode 100644 index 0000000..7089673 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw2/main.py @@ -0,0 +1,29 @@ +class Array(object): + def __init__(self, *item): + super().__init__() + self._data = [*item] + + def append(self, item): + self._data.append(item) + + def index(self, obj): + if obj in self._data: + return(self._data.index(obj)) + return -1 + + def __len__(self): + return len(self._data) + + +array0 = Array() +array1 = Array(7) +array2 = Array(0, 1, 2) +array1.append(123) +array0._data = array1._data + array2._data +print(array0._data) +len(array0) +print(array0.index(123)) +print(array0.index(321)) +for element in array0._data: + print(element) +print(array0._data[1]) \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw4/.idea/.gitignore b/homeworks/Zakharov Ilya/hw4/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw4/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/homeworks/Zakharov Ilya/hw4/.idea/hw4.iml b/homeworks/Zakharov Ilya/hw4/.idea/hw4.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw4/.idea/hw4.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw4/.idea/inspectionProfiles/profiles_settings.xml b/homeworks/Zakharov Ilya/hw4/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw4/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw4/.idea/misc.xml b/homeworks/Zakharov Ilya/hw4/.idea/misc.xml new file mode 100644 index 0000000..dc9ea49 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw4/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw4/.idea/modules.xml b/homeworks/Zakharov Ilya/hw4/.idea/modules.xml new file mode 100644 index 0000000..94ad33c --- /dev/null +++ b/homeworks/Zakharov Ilya/hw4/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw4/main.py b/homeworks/Zakharov Ilya/hw4/main.py new file mode 100644 index 0000000..929ae7d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw4/main.py @@ -0,0 +1,30 @@ +class ContractError(Exception): + def contract(arg_types=None, return_type=None): + def func_decorator(func): + def check(*args, **kwargs): + if arg_types is None: + pass + else: + for i, arg_type in enumerate(arg_types): + if type(args[i]) != arg_type: + raise ContractError("Ошибка типизации") + if args[1] == 0: + raise ZeroDivisionError("Ошибка типизации") + if return_type is None: + pass + else: + if type(func(*args, **kwargs)) != return_type: + raise ContractError("Ошибка типизации") + return func(*args, **kwargs) + + return check + + return func_decorator + Any = object() + + @contract(arg_types=(float, int), return_type=float) + def add_two_numbers(first, second): + return first / second + + +print(ContractError.add_two_numbers(3.3, 3)) \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/.idea/.gitignore b/homeworks/Zakharov Ilya/hw6/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/homeworks/Zakharov Ilya/hw6/.idea/hw6.iml b/homeworks/Zakharov Ilya/hw6/.idea/hw6.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/.idea/hw6.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/.idea/inspectionProfiles/profiles_settings.xml b/homeworks/Zakharov Ilya/hw6/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/.idea/misc.xml b/homeworks/Zakharov Ilya/hw6/.idea/misc.xml new file mode 100644 index 0000000..38cfacf --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/.idea/modules.xml b/homeworks/Zakharov Ilya/hw6/.idea/modules.xml new file mode 100644 index 0000000..165f137 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/.idea/vcs.xml b/homeworks/Zakharov Ilya/hw6/.idea/vcs.xml new file mode 100644 index 0000000..68e4d82 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/main.py b/homeworks/Zakharov Ilya/hw6/main.py new file mode 100644 index 0000000..d06c224 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/main.py @@ -0,0 +1,37 @@ +from colorama import Fore +import pytz +from datetime import datetime +import argparse +from cowpy import cow + + +def main(): + def animal(text): + cheese = cow.DragonAndCow() + msg = cheese.milk(text) + print(msg) + + def color(text): + print(Fore.RED + text) + + def dttime(timezone): + ist_time = pytz.timezone(timezone) + print(datetime.now(tz=ist_time)) + + parser = argparse.ArgumentParser() + parser.add_argument('-cs','--cowsay', help="Creates an animal with your text", default=None) + parser.add_argument('-hl','--highligh', help="Highlights your text", default=None) + parser.add_argument('-tm','--time', help="Shows the time In the selected time zone", default=None, + choices=['Europe/Warsaw', 'America/Nuuk', 'America/Vancouver', 'Antarctica/Mawson', + 'Atlantic/South_Georgia']) + args = parser.parse_args() + if args.cowsay != None: + animal(args.cowsay) + if args.highligh != None: + color(args.highligh) + if args.time != None: + dttime(args.time) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw6/poetry.lock b/homeworks/Zakharov Ilya/hw6/poetry.lock new file mode 100644 index 0000000..254df11 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/poetry.lock @@ -0,0 +1,383 @@ +[[package]] +name = "argparse" +version = "1.4.0" +description = "Python command-line parsing library" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "certifi" +version = "2022.9.24" +description = "Python package for providing Mozilla's CA Bundle." +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "charset-normalizer" +version = "2.1.1" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "dev" +optional = false +python-versions = ">=3.6.0" + +[package.extras] +unicode-backport = ["unicodedata2"] + +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" + +[[package]] +name = "cowpy" +version = "1.1.5" +description = "" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "datetime" +version = "4.7" +description = "This package provides a DateTime data type, as known from Zope. Unless you need to communicate with Zope APIs, you're probably better off using Python's built-in datetime module." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +pytz = "*" +"zope.interface" = "*" + +[[package]] +name = "dparse" +version = "0.6.2" +description = "A parser for Python dependency files" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +packaging = "*" +toml = "*" + +[package.extras] +conda = ["pyyaml"] +pipenv = ["pipenv"] + +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[package]] +name = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "dev" +optional = false +python-versions = ">=3.6.8" + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytz" +version = "2022.5" +description = "World timezone definitions, modern and historical" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "requests" +version = "2.28.1" +description = "Python HTTP for Humans." +category = "dev" +optional = false +python-versions = ">=3.7, <4" + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<3" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "ruamel-yaml" +version = "0.17.21" +description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" +category = "dev" +optional = false +python-versions = ">=3" + +[package.dependencies] +"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} + +[package.extras] +docs = ["ryd"] +jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] + +[[package]] +name = "ruamel-yaml-clib" +version = "0.2.7" +description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "safety" +version = "2.3.1" +description = "Checks installed dependencies for known vulnerabilities and licenses." +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +Click = ">=8.0.2" +dparse = ">=0.6.2" +packaging = ">=21.0" +requests = "*" +"ruamel.yaml" = ">=0.17.21" +setuptools = ">=19.3" + +[package.extras] +github = ["jinja2 (>=3.1.0)", "pygithub (>=1.43.3)"] +gitlab = ["python-gitlab (>=1.3.0)"] + +[[package]] +name = "setuptools" +version = "65.5.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "urllib3" +version = "1.26.12" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "zope-interface" +version = "5.5.0" +description = "Interfaces for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +setuptools = "*" + +[package.extras] +docs = ["Sphinx", "repoze.sphinx.autointerface"] +test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] +testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.10" +content-hash = "0da8e2f622baf4c968699b6f254edc7a1043d6c4d7d0940429a1cc981f777da4" + +[metadata.files] +argparse = [ + {file = "argparse-1.4.0-py2.py3-none-any.whl", hash = "sha256:c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314"}, + {file = "argparse-1.4.0.tar.gz", hash = "sha256:62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4"}, +] +certifi = [ + {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"}, + {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"}, +] +charset-normalizer = [ + {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"}, + {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, +] +click = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +cowpy = [ + {file = "cowpy-1.1.5-py3-none-any.whl", hash = "sha256:de5ae7646dd30b4936013666c6bd019af9cf411cc3b377c8538cfd8414262921"}, + {file = "cowpy-1.1.5.tar.gz", hash = "sha256:089172db1d88c30a2e1b741b18945ee84170bd943a3ca71948e4ae3a3255e554"}, +] +datetime = [ + {file = "DateTime-4.7-py2.py3-none-any.whl", hash = "sha256:b8d2d605cfb5fed0da86f9ad64d0973c6f84b21939d49265e135811b33ee8113"}, + {file = "DateTime-4.7.tar.gz", hash = "sha256:7ff7c4a857f08b73db17a85fc54f102d065ad16e7db0133e699c5f1b37e41478"}, +] +dparse = [ + {file = "dparse-0.6.2-py3-none-any.whl", hash = "sha256:8097076f1dd26c377f30d4745e6ec18fef42f3bf493933b842ac5bafad8c345f"}, + {file = "dparse-0.6.2.tar.gz", hash = "sha256:d45255bda21f998bc7ddf2afd5e62505ba6134756ba2d42a84c56b0826614dfe"}, +] +idna = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pyparsing = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] +pytz = [ + {file = "pytz-2022.5-py2.py3-none-any.whl", hash = "sha256:335ab46900b1465e714b4fda4963d87363264eb662aab5e65da039c25f1f5b22"}, + {file = "pytz-2022.5.tar.gz", hash = "sha256:c4d88f472f54d615e9cd582a5004d1e5f624854a6a27a6211591c251f22a6914"}, +] +requests = [ + {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"}, + {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"}, +] +ruamel-yaml = [ + {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, + {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, +] +ruamel-yaml-clib = [ + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, + {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, +] +safety = [ + {file = "safety-2.3.1-py3-none-any.whl", hash = "sha256:8f098d12b607db2756886280e85c28ece8db1bba4f45fc5f981f4663217bd619"}, + {file = "safety-2.3.1.tar.gz", hash = "sha256:6e6fcb7d4e8321098cf289f59b65051cafd3467f089c6e57c9f894ae32c23b71"}, +] +setuptools = [ + {file = "setuptools-65.5.0-py3-none-any.whl", hash = "sha256:f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356"}, + {file = "setuptools-65.5.0.tar.gz", hash = "sha256:512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17"}, +] +toml = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] +urllib3 = [ + {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, + {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, +] +zope-interface = [ + {file = "zope.interface-5.5.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:2cb3003941f5f4fa577479ac6d5db2b940acb600096dd9ea9bf07007f5cab46f"}, + {file = "zope.interface-5.5.0-cp27-cp27m-win32.whl", hash = "sha256:8c791f4c203ccdbcda588ea4c8a6e4353e10435ea48ddd3d8734a26fe9714cba"}, + {file = "zope.interface-5.5.0-cp27-cp27m-win_amd64.whl", hash = "sha256:3eedf3d04179774d750e8bb4463e6da350956a50ed44d7b86098e452d7ec385e"}, + {file = "zope.interface-5.5.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:58a66c2020a347973168a4a9d64317bac52f9fdfd3e6b80b252be30da881a64e"}, + {file = "zope.interface-5.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da7912ae76e1df6a1fb841b619110b1be4c86dfb36699d7fd2f177105cdea885"}, + {file = "zope.interface-5.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:423c074e404f13e6fa07f4454f47fdbb38d358be22945bc812b94289d9142374"}, + {file = "zope.interface-5.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7bdcec93f152e0e1942102537eed7b166d6661ae57835b20a52a2a3d6a3e1bf3"}, + {file = "zope.interface-5.5.0-cp310-cp310-win32.whl", hash = "sha256:03f5ae315db0d0de668125d983e2a819a554f3fdb2d53b7e934e3eb3c3c7375d"}, + {file = "zope.interface-5.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:8b9f153208d74ccfa25449a0c6cb756ab792ce0dc99d9d771d935f039b38740c"}, + {file = "zope.interface-5.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeac590cce44e68ee8ad0b8ecf4d7bf15801f102d564ca1b0eb1f12f584ee656"}, + {file = "zope.interface-5.5.0-cp35-cp35m-win32.whl", hash = "sha256:7d9ec1e6694af39b687045712a8ad14ddcb568670d5eb1b66b48b98b9312afba"}, + {file = "zope.interface-5.5.0-cp35-cp35m-win_amd64.whl", hash = "sha256:d18fb0f6c8169d26044128a2e7d3c39377a8a151c564e87b875d379dbafd3930"}, + {file = "zope.interface-5.5.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:0eb2b3e84f48dd9cfc8621c80fba905d7e228615c67f76c7df7c716065669bb6"}, + {file = "zope.interface-5.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df6593e150d13cfcce69b0aec5df7bc248cb91e4258a7374c129bb6d56b4e5ca"}, + {file = "zope.interface-5.5.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9dc4493aa3d87591e3d2bf1453e25b98038c839ca8e499df3d7106631b66fe83"}, + {file = "zope.interface-5.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5c6023ae7defd052cf76986ce77922177b0c2f3913bea31b5b28fbdf6cb7099e"}, + {file = "zope.interface-5.5.0-cp36-cp36m-win32.whl", hash = "sha256:a69c28d85bb7cf557751a5214cb3f657b2b035c8c96d71080c1253b75b79b69b"}, + {file = "zope.interface-5.5.0-cp36-cp36m-win_amd64.whl", hash = "sha256:85dd6dd9aaae7a176948d8bb62e20e2968588fd787c29c5d0d964ab475168d3d"}, + {file = "zope.interface-5.5.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:970661ece2029915b8f7f70892e88404340fbdefd64728380cad41c8dce14ff4"}, + {file = "zope.interface-5.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e3495bb0cdcea212154e558082c256f11b18031f05193ae2fb85d048848db14"}, + {file = "zope.interface-5.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:3f68404edb1a4fb6aa8a94675521ca26c83ebbdbb90e894f749ae0dc4ca98418"}, + {file = "zope.interface-5.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:740f3c1b44380658777669bcc42f650f5348e53797f2cee0d93dc9b0f9d7cc69"}, + {file = "zope.interface-5.5.0-cp37-cp37m-win32.whl", hash = "sha256:006f8dd81fae28027fc28ada214855166712bf4f0bfbc5a8788f9b70982b9437"}, + {file = "zope.interface-5.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:43490ad65d4c64e45a30e51a2beb7a6b63e1ff395302ad22392224eb618476d6"}, + {file = "zope.interface-5.5.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f70726b60009433111fe9928f5d89cbb18962411d33c45fb19eb81b9bbd26fcd"}, + {file = "zope.interface-5.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa614d049667bed1c737435c609c0956c5dc0dbafdc1145ee7935e4658582cb"}, + {file = "zope.interface-5.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:58a975f89e4584d0223ab813c5ba4787064c68feef4b30d600f5e01de90ae9ce"}, + {file = "zope.interface-5.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:37ec9ade9902f412cc7e7a32d71f79dec3035bad9bd0170226252eed88763c48"}, + {file = "zope.interface-5.5.0-cp38-cp38-win32.whl", hash = "sha256:be11fce0e6af6c0e8d93c10ef17b25aa7c4acb7ec644bff2596c0d639c49e20f"}, + {file = "zope.interface-5.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:cbbf83914b9a883ab324f728de869f4e406e0cbcd92df7e0a88decf6f9ab7d5a"}, + {file = "zope.interface-5.5.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:26c1456520fdcafecc5765bec4783eeafd2e893eabc636908f50ee31fe5c738c"}, + {file = "zope.interface-5.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47ff078734a1030c48103422a99e71a7662d20258c00306546441adf689416f7"}, + {file = "zope.interface-5.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:687cab7f9ae18d2c146f315d0ca81e5ffe89a139b88277afa70d52f632515854"}, + {file = "zope.interface-5.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d80f6236b57a95eb19d5e47eb68d0296119e1eff6deaa2971ab8abe3af918420"}, + {file = "zope.interface-5.5.0-cp39-cp39-win32.whl", hash = "sha256:9cdc4e898d3b1547d018829fd4a9f403e52e51bba24be0fbfa37f3174e1ef797"}, + {file = "zope.interface-5.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:6566b3d2657e7609cd8751bcb1eab1202b1692a7af223035a5887d64bb3a2f3b"}, + {file = "zope.interface-5.5.0.tar.gz", hash = "sha256:700ebf9662cf8df70e2f0cb4988e078c53f65ee3eefd5c9d80cf988c4175c8e3"}, +] diff --git a/homeworks/Zakharov Ilya/hw6/pyproject.toml b/homeworks/Zakharov Ilya/hw6/pyproject.toml new file mode 100644 index 0000000..b8df4ef --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/pyproject.toml @@ -0,0 +1,22 @@ +[tool.poetry] +name = "pack" +version = "0.1.0" +description = "" +authors = ["AirRomantic "] +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.10" +colorama = "^0.4.6" +cowpy = "^1.1.5" +pytz = "^2022.5" +argparse = "^1.4.0" +datetime = "^4.7" + + +[tool.poetry.group.dev.dependencies] +safety = "^2.3.1" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/homeworks/Zakharov Ilya/hw6/setup.py b/homeworks/Zakharov Ilya/hw6/setup.py new file mode 100644 index 0000000..b965923 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw6/setup.py @@ -0,0 +1,10 @@ +from setuptools import setup + +setup( + name='my-awesome-scipt', + entry_points={ + 'console_scripts': [ + 'my-awesome-scipt = main:main', + ], + } +) \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/.idea/.gitignore b/homeworks/Zakharov Ilya/hw7/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/homeworks/Zakharov Ilya/hw7/.idea/.name b/homeworks/Zakharov Ilya/hw7/.idea/.name new file mode 100644 index 0000000..4420514 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/.name @@ -0,0 +1 @@ +HW7 \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/.idea/HW7.iml b/homeworks/Zakharov Ilya/hw7/.idea/HW7.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/HW7.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/.idea/inspectionProfiles/profiles_settings.xml b/homeworks/Zakharov Ilya/hw7/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/.idea/misc.xml b/homeworks/Zakharov Ilya/hw7/.idea/misc.xml new file mode 100644 index 0000000..38cfacf --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/.idea/modules.xml b/homeworks/Zakharov Ilya/hw7/.idea/modules.xml new file mode 100644 index 0000000..072fc53 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/.idea/vcs.xml b/homeworks/Zakharov Ilya/hw7/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/data.csv b/homeworks/Zakharov Ilya/hw7/data.csv new file mode 100644 index 0000000..16630b5 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/data.csv @@ -0,0 +1,3 @@ +Shanna@melissa.tv +Julianne.OConner@kory.org +Telly.Hoeger@billy.biz \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/main.py b/homeworks/Zakharov Ilya/hw7/main.py new file mode 100644 index 0000000..071e0cf --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/main.py @@ -0,0 +1,93 @@ +import csv +import requests +import json +import xml.etree.ElementTree as ET +from loguru import logger +import datetime as dt +import os + +@logger.catch +def openpars(link, filik): + dtn = dt.datetime.now() + res = requests.get(link) + logger.info('lead time to {site} is {time}',site=link, time=dt.datetime.now() - dtn) + mylist = [] + obj = json.loads(res.text) + # Спросить у преподователя насчёт open + with open(filik) as file: + reader = csv.reader(file) + for row in reader: + for modul in obj: + if row[0] == modul['email']: + mydatadict = {} + mydatadict['id'] = modul['id'] + mydatadict['email'] = row[0] + mylist.append(mydatadict) + logger.info('number of users {}', len(mylist)) + return mylist +@logger.catch +def parsingsite(link, Attribute, list): + mylist = [] + dtn = dt.datetime.now() + row = requests.get(link) + logger.info('lead time to {site} is {time}',site=link, time=dt.datetime.now() - dtn) + objlink = json.loads(row.text) + for modul in objlink: + for i in list: + if i['id'] == modul['id']: + logger.info('Starts parsing for {email} in {site}', email=i['email'], site=link) + i[Attribute] = modul + mylist.append(i) + return mylist +@logger.catch +def genetratexml(fileName, dict): + trunk = ET.Element('User') + ET.SubElement(trunk, 'id').text = f"{dict['id']}" + ET.SubElement(trunk, 'email').text = f"{dict['email']}" + posts0 = ET.SubElement(trunk, 'posts') + if 'posts' in dict: + posts = ET.SubElement(posts0, 'post') + dictposts = dict['posts'] + ET.SubElement(posts, 'id').text = f"{dictposts['id']}" + ET.SubElement(posts, 'title').text = f"{dictposts['title']}" + ET.SubElement(posts, 'body').text = f"{dictposts['body']}" + else: + posts0.text = ' ' + albums0 = ET.SubElement(trunk, 'albums') + if 'albums' in dict: + albums = ET.SubElement(albums0, 'album') + dictalbums = dict['albums'] + ET.SubElement(albums, 'id').text = f"{dictalbums['id']}" + ET.SubElement(albums, 'title').text = f"{dictalbums['title']}" + else: + albums0.text = ' ' + todos0 = ET.SubElement(trunk, 'todos') + if 'todos' in dict: + todos = ET.SubElement(todos0, 'todo') + dicttodos = dict['todos'] + ET.SubElement(todos, 'id').text = f"{dicttodos['id']}" + ET.SubElement(todos, 'title').text = f"{dicttodos['title']}" + ET.SubElement(todos, 'completed').text = f"{dicttodos['completed']}" + else: + todos0.text = ' ' + tree = ET.ElementTree(trunk) + with open(fileName, 'wb') as file: + ET.indent(tree, space="\t", level=0) + tree.write(file) + os.replace(fileName, f"Users/{fileName}") + + + +if __name__ == '__main__': + myfistlist = openpars('https://jsonplaceholder.typicode.com/users/', 'data.csv') + parsingsite('https://jsonplaceholder.typicode.com/users/1/posts', 'posts', myfistlist) + parsingsite('https://jsonplaceholder.typicode.com/users/1/albums', 'albums', myfistlist) + parsingsite('https://jsonplaceholder.typicode.com/users/1/todos', 'todos', myfistlist) + if not os.path.isdir('users'): + os.mkdir('users') + for mydict in myfistlist: + genetratexml(f"{mydict['id']}.xml", mydict) + + + + diff --git a/homeworks/Zakharov Ilya/hw7/poetry.lock b/homeworks/Zakharov Ilya/hw7/poetry.lock new file mode 100644 index 0000000..44daa8d --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/poetry.lock @@ -0,0 +1,64 @@ +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" + +[[package]] +name = "cowpy" +version = "1.1.5" +description = "" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "loguru" +version = "0.6.0" +description = "Python logging made (stupidly) simple" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} +win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} + +[package.extras] +dev = ["Sphinx (>=4.1.1)", "black (>=19.10b0)", "colorama (>=0.3.4)", "docutils (==0.16)", "flake8 (>=3.7.7)", "isort (>=5.1.1)", "pytest (>=4.6.2)", "pytest-cov (>=2.7.1)", "sphinx-autobuild (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)", "tox (>=3.9.0)"] + +[[package]] +name = "win32-setctime" +version = "1.1.0" +description = "A small Python utility to set file creation time on Windows" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.10" +content-hash = "0a9008086113283a229c418e7de69dd0469d7629cf20650006a4b288f6021ac2" + +[metadata.files] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +cowpy = [ + {file = "cowpy-1.1.5-py3-none-any.whl", hash = "sha256:de5ae7646dd30b4936013666c6bd019af9cf411cc3b377c8538cfd8414262921"}, + {file = "cowpy-1.1.5.tar.gz", hash = "sha256:089172db1d88c30a2e1b741b18945ee84170bd943a3ca71948e4ae3a3255e554"}, +] +loguru = [ + {file = "loguru-0.6.0-py3-none-any.whl", hash = "sha256:4e2414d534a2ab57573365b3e6d0234dfb1d84b68b7f3b948e6fb743860a77c3"}, + {file = "loguru-0.6.0.tar.gz", hash = "sha256:066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c"}, +] +win32-setctime = [ + {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, + {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, +] diff --git a/homeworks/Zakharov Ilya/hw7/pyproject.toml b/homeworks/Zakharov Ilya/hw7/pyproject.toml new file mode 100644 index 0000000..44ae93e --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/pyproject.toml @@ -0,0 +1,16 @@ +[tool.poetry] +name = "testt" +version = "0.1.0" +description = "" +authors = ["AirRomantic "] +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.10" +loguru = "^0.6.0" +cowpy = "^1.1.5" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/homeworks/Zakharov Ilya/hw7/users/2.xml b/homeworks/Zakharov Ilya/hw7/users/2.xml new file mode 100644 index 0000000..a52ee0c --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/users/2.xml @@ -0,0 +1,27 @@ + + 2 + Shanna@melissa.tv + + + 2 + qui est esse + est rerum tempore vitae +sequi sint nihil reprehenderit dolor beatae ea dolores neque +fugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis +qui aperiam non debitis possimus qui neque nisi nulla + + + + + 2 + sunt qui excepturi placeat culpa + + + + + 2 + quis ut nam facilis et officia qui + False + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/users/4.xml b/homeworks/Zakharov Ilya/hw7/users/4.xml new file mode 100644 index 0000000..608276f --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/users/4.xml @@ -0,0 +1,27 @@ + + 4 + Julianne.OConner@kory.org + + + 4 + eum et est occaecati + ullam et saepe reiciendis voluptatem adipisci +sit amet autem assumenda provident rerum culpa +quis hic commodi nesciunt rem tenetur doloremque ipsam iure +quis sunt voluptatem rerum illo velit + + + + + 4 + non esse culpa molestiae omnis sed optio + + + + + 4 + et porro tempora + True + + + \ No newline at end of file diff --git a/homeworks/Zakharov Ilya/hw7/users/7.xml b/homeworks/Zakharov Ilya/hw7/users/7.xml new file mode 100644 index 0000000..2f71941 --- /dev/null +++ b/homeworks/Zakharov Ilya/hw7/users/7.xml @@ -0,0 +1,27 @@ + + 7 + Telly.Hoeger@billy.biz + + + 7 + magnam facilis autem + dolore placeat quibusdam ea quo vitae +magni quis enim qui quis quo nemo aut saepe +quidem repellat excepturi ut quia +sunt ut sequi eos ea sed quas + + + + + 7 + quibusdam autem aliquid et et quia + + + + + 7 + illo expedita consequatur quia in + False + + + \ No newline at end of file