• Как извлечь текст из bitrix24 с помощью Python?

    @leshchenko
    1. Создаете вебхук в Битрикс24 : Приложения -> Ещё -> Вебхуки

    2. Используете пакет fast_bitrix24 для доступа к Битрикс24 REST API.

    pip install fast_bitrix24

    3. Пишете на Питоне:

    from fast_bitrix24 import Bitrix
    b = Bitrix('адрес вашего вебхука')
    deals = b.get_all('crm.deal.list')
    comments = b.get_by_ID('crm.deal.comment.items.get', 
        [d['ID'] for d in deals])


    Получаете кортеж, где каждый элемент имеет вид

    (ID сделки, [{свойства комментария 1}, {свойства комментария 2},....])

    В этом списке можно найти интересующие вас комментарии и сделки:

    filtered_deal_IDs = []
    for deal_id, deal_comments in comments:
        if "Изготовить оригинальное клише" in [c['TITLE'] for c in deal_comments]:
            filtered_deal_ID.append(deal_id)


    Теперь `filtered_deal_IDs` у вас содержит список ID искомых сделок.
    Ответ написан
    Комментировать
  • Почему выдается ошибка в данном коде?

    Astrohas
    @Astrohas
    Python/Django Developer
    Замените условие на
    if not b and ( c=='mod' or c=='/' or c=='div'):
        print("Делеение на ноль")

    или лучше на
    if not b and c in ['/','%', 'mod', 'div']:
        print("Делеение на ноль")


    а так пара других вариантов

    a = float(input())
    b = float(input())
    c = input()
    z_div = 'Деление на ноль!"
    OPERATORS = {
        "+": a + b,
        "-": a - b,
        "*": a * b,
        "/": a / b if b else z_div,
        "mod": a % b if b else z_div,
        "div": a // b if b else z_div,
        "pow": a ** b 
    }
    print(OPERATORS[c])

    более понятный вариант, но придется вычислять все варианты.
    Более python way :
    a = float(input())
    b = float(input())
    c = input()
    z_div = 'Деление на ноль!'
    OPERATORS = {
        "+": lambda x, y: x + y,
        "-": lambda x, y: x - y,
        "*": lambda x, y: x * y,
        "/": lambda x, y: x / y if y else None,
        "mod": lambda x, y: x % y if y else None,
        "div": lambda x, y: x // y if y else None,
        "pow": lambda x, y: x ** y 
    }
    print(OPERATORS[c](a, b))

    АНАЛог с eval :
    a =  input()
    b =  input()
    c = input()
    
    OPERATORS = {
        "+": "+",
        "-": "-",
        "*": "*",
        "/": "/",
        "mod": "%",
        "div": "//",
        "pow": "**"
    }
    
    if not float(b) and c in ['/','%', 'mod', 'div']:
        print('Деление на ноль!')
    else:
        print(
            eval(
                a + OPERATORS[c] + b
            )
        )
    Ответ написан
    3 комментария
  • Как извлечь текст из bitrix24 с помощью Python?

    В Битрикс 24 есть REST API. И с ним пофиг на чём работать. Но нужна знать то, на чём работаешь.
    Авторизуемся.
    Делаем запросы на получение сделок.
    Делаем то что нам нужно со сделками.
    Ответ написан
    1 комментарий