Compare commits

...

2 Commits

2 changed files with 18 additions and 10 deletions

View File

@ -2,29 +2,30 @@ import logging
import logging.handlers import logging.handlers
def setup_logging(): def setup_logging(name):
""" Создание логгера """ """ Создание логгера """
logger = logging.getLogger() logger = logging.getLogger()
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
""" Создание обработчика для записи логов в файл """ """ Создание обработчика для записи логов в файл """
file_handler = logging.handlers.RotatingFileHandler( file_handler = logging.FileHandler(
filename='mapping.log', filename=f"{name}.log",
maxBytes=1024*1024, mode='w'
backupCount=5 #maxBytes=1024*1024,
#backupCount=5
) )
file_handler.setLevel(logging.DEBUG) file_handler.setLevel(logging.DEBUG)
""" Создание обработчика для вывода логов на консоль """ """ Создание обработчика для вывода логов на консоль """
console_handler = logging.StreamHandler() console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG) console_handler.setLevel(logging.INFO)
""" Форматтер для вывода в файл """ """ Форматтер для вывода в файл """
file_formatter = logging.Formatter( file_formatter = logging.Formatter(
'%(asctime)s [%(levelname)s] [%(name)s] [%(request)s] [%(response)s] - %(message)s' '%(asctime)s [%(levelname)s] [%(name)s] - %(message)s'
) )
""" Форматтер для вывода на консоль """ """ Форматтер для вывода на консоль """

View File

@ -11,14 +11,17 @@ import requests
from logging_config import setup_logging from logging_config import setup_logging
logger = setup_logging() logger = setup_logging(__name__)
base_dir = os.path.dirname(os.path.realpath(__file__)) base_dir = os.path.dirname(os.path.realpath(__file__))
asana_data_json = os.path.join(base_dir, './data/data_asana.json') asana_data_json = os.path.join(base_dir, './data/data_asana.json')
users_data = os.path.join(base_dir, './data/users.mapping.asana2ya.csv') users_data = os.path.join(base_dir, './data/users.mapping.asana2ya.csv')
sys.stdin.reconfigure(encoding='utf-8')
sys.stdout.reconfigure(encoding='utf-8') sys.stdout.reconfigure(encoding='utf-8')
# ниже функция для случаев, когда не будет готового файла для импорта # ниже функция для случаев, когда не будет готового файла для импорта
# def get_data_from_asana(): # def get_data_from_asana():
# """ Получение данных из Asana """ # """ Получение данных из Asana """
@ -89,6 +92,8 @@ def create_tasks_in_tracker(data):
'X-Org-ID': '7095769', 'X-Org-ID': '7095769',
'Content-Type': 'appication/json', 'Content-Type': 'appication/json',
} }
datalen = len(data)
logger.info('Import started. Task count: %d', datalen)
for task in data: for task in data:
if task.get('assignee') and 'gid' in task['assignee']: if task.get('assignee') and 'gid' in task['assignee']:
ya_assignee = assignee.get(task['assignee']['gid'], 'dr.cyrill') ya_assignee = assignee.get(task['assignee']['gid'], 'dr.cyrill')
@ -110,7 +115,8 @@ def create_tasks_in_tracker(data):
# 'completedAt': task['completedAt'] # 'completedAt': task['completedAt']
} }
# logger.debug('Запрос: %s', json.dumps(payload))
logger.debug('Request: %s', json.dumps(payload))
response = requests.post( response = requests.post(
base_url, base_url,
@ -125,7 +131,8 @@ def create_tasks_in_tracker(data):
'Ошибка при создании задачи в ЯндексТрекер:', 'Ошибка при создании задачи в ЯндексТрекер:',
response.content, response.content,
) )
# logger.debug('Ответ: %s', response.content)
logger.debug('Response: %s', response.content)
ya_imported_task_response = response.json() ya_imported_task_response = response.json()
if task.get('parent'): if task.get('parent'):