Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
programming:python:new_project [2019/09/30 18:41] charon |
programming:python:new_project [2021/03/30 13:05] (поточний) charon |
||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| Template | Template | ||
| - | | + | <code python start.py> |
| - | # coding: utf-8 | + | # |
| + | # coding: utf-8 | ||
| + | |||
| + | import sys | ||
| + | import argparse | ||
| + | import time | ||
| + | import logging | ||
| + | import locale | ||
| + | |||
| + | LOG_LEVEL = logging.DEBUG | ||
| + | |||
| + | |||
| + | def do(): | ||
| + | pass | ||
| + | |||
| + | |||
| + | def main(**kwargs): | ||
| + | logger = _get_logger(name=__file__) | ||
| + | start = time.time() | ||
| + | logger.info(" | ||
| + | try: | ||
| + | defined_params = {k: v for k, v in kwargs.items() if v is not None} | ||
| + | file_name = defined_params.pop(" | ||
| + | do() | ||
| + | except Exception as e: | ||
| + | logger.error(f" | ||
| + | return 1 | ||
| + | else: | ||
| + | end = time.time() | ||
| + | logger.info(f" | ||
| + | return 0 | ||
| + | |||
| + | |||
| + | def _get_logger(name=__name__, | ||
| + | logger = logging.getLogger(name) | ||
| + | try: | ||
| + | locale.setlocale(locale.LC_ALL, | ||
| + | except locale.Error as e: | ||
| + | logger.debug(" | ||
| + | try: | ||
| + | logger.setLevel(LOG_LEVEL) | ||
| + | except NameError: | ||
| + | logger.setLevel(logging.INFO) | ||
| + | if not len(logger.handlers): | ||
| + | handler = handler | ||
| + | formater = logging.Formatter( | ||
| + | " | ||
| + | handler.setFormatter(formater) | ||
| + | logger.addHandler(handler) | ||
| + | return logger | ||
| + | |||
| + | |||
| + | def _parse_args(): | ||
| + | parser = argparse.ArgumentParser( | ||
| + | description=" | ||
| + | epilog=f" | ||
| + | parser.add_argument( | ||
| + | ' | ||
| + | args = parser.parse_args() | ||
| + | return vars(args) | ||
| + | |||
| + | |||
| + | if __name__ == " | ||
| + | | ||
| + | </ | ||
| + | |||
| + | <code ini .editorconfig> | ||
| + | # https:// | ||
| | | ||
| - | import sys | + | root = true |
| - | import argparse | + | |
| - | import time | + | [*] |
| - | import logging | + | insert_final_newline |
| - | import locale | + | trim_trailing_whitespace |
| - | + | end_of_line | |
| - | LOG_LEVEL | + | charset |
| - | + | ||
| - | + | # Docstrings and comments use max_line_length | |
| - | def do(): | + | [*.py] |
| - | pass | + | indent_style |
| - | + | indent_size | |
| - | + | max_line_length | |
| - | + | ||
| - | def main(**kwargs): | + | [*.sh] |
| - | | + | indent_style = tab |
| - | | + | indent_size = 4 |
| - | | + | |
| - | try: | + | # The JSON files contain newlines inconsistently |
| - | defined_params | + | [*.json] |
| - | | + | indent_size |
| - | | + | insert_final_newline |
| - | | + | |
| - | | + | [*.{yml,yaml}] |
| - | | + | indent_style |
| - | end = time.time() | + | indent_size |
| - | | + | |
| - | return 0 | + | # Markdown Files |
| - | + | [*.md] | |
| - | + | trim_trailing_whitespace | |
| - | def _get_logger(name=__name__, handler=logging.StreamHandler(sys.stdout)): | + | </ |
| - | | + | |
| - | try: | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | try: | + | |
| - | | + | |
| - | | + | |
| - | logger.setLevel(logging.INFO) | + | |
| - | if not len(logger.handlers): | + | |
| - | handler | + | |
| - | | + | |
| - | " | + | |
| - | | + | |
| - | logger.addHandler(handler) | + | |
| - | return logger | + | |
| - | + | ||
| - | + | ||
| - | def _parse_args(): | + | |
| - | parser = argparse.ArgumentParser( | + | |
| - | description=" | + | |
| - | epilog=f" | + | |
| - | | + | |
| - | ' | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | + | ||
| - | if __name__ | + | |
| - | | + | |