• Как устранить ошибку "operator does not exist: integer = integer[]"?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    ANY вместо IN?
    CREATE OR REPLACE FUNCTION get_count(VARIADIC ids integer[]) RETURNS int AS $$
    	SELECT COUNT(*) FROM device 
    	-- WHERE device.id IN (ids)
    	WHERE device.id = ANY (ids)
    $$ LANGUAGE SQL
    Ответ написан
    2 комментария
  • Как найти множество файлов по названию?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вариант на Python:
    import os
    
    # path to main directory
    path = '/your/path'
    
    # table
    files = {
        'file_1.txt': 'dir_1',
        'file_2.txt': 'dir_1/dir_2',
        'file_3.txt': 'dir_1/dir_2/dir_3'
        # others
    }
    
    # moving files
    for file, directory in files.items():
        path_file = os.path.join(path, file)
        path_dir = os.path.join(path, directory)
    
        # checking for existence and creating directories if needed
        if not os.path.exists(path_dir):
            os.makedirs(path_dir)
    
        # checking for existence of the file in the target directory
        if os.path.exists(os.path.join(path_dir, file)):
            print(f"File {file} already exists in directory {directory}, skip.")
        else:
            os.rename(path_file, os.path.join(path_dir, file))
            print(f"The {file} file has been moved to a folder {directory}, success.")
    
    # example moving:
    #
    # /your/path
    # |-- /dir_1/file_1.txt
    # |-- /dir_1/dir_2/file_2.txt
    # |-- /dir_1/dir_2/dir_3/file_3.txt

    1. Возьмет данные из таблицы files.
    2. Переместит файлы (не существующие директории будут созданы, а уже существующие файлы не будет перезаписаны).

    Файлы необходимо разместить по адресу из переменной path.
    Ответ написан
    1 комментарий
  • Как мне обрабатывать ошибку jspybridge?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Я могу как-то отследить эту ошибку (не в определенной части кода, а вообще где угодно), в положительном случае

    Exceptions Python:
    from jspybridge import JSPyBridge
    
    bridge = JSPyBridge()
    
    try:
        # код, который отработает без ошибок
    except jspybridge.JSPyBridgeError as e:
        # код, который выбросит исключение, например, при краше Nodejs
        print(f"ОшибкО: {e}")

    Exceptions JS:
    import {JSPyBridge, JSPyBridgeError} from 'jspybridge';
    
    const bridge = new JSPyBridge();
    
    try {
        // код, который отработает без ошибок
    } catch (error) {
        if (error instanceof JSPyBridgeError) {
            // код, который выбросит исключение, например, при краше Nodejs
            console.error(`ОшибкО: ${error.message}`);
        }
    }

    я могу ее просто игнорировать или нужно как-то перезапустить код?

    Краш процесса ноды обычно является серьезным событием и требует перезапуска js скрипта.
    Либо возможно как-то избавиться от этой ошибки?

    Можно написать код без ошибок.
    Ответ написан
  • Почему не стартует проект на react?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    npm start
    Ответ написан
    1 комментарий
  • Import в скрипте вызывает ошибку консоли. Wordpress. Как решить?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Но сейчас я использую wordpress и wp_enqueue_script. Можно ли как-то добавить "module" к wp_enqueue_script?

    Попробуйте так:
    function my_scripts() {
      wp_enqueue_script('unique_script_id', get_template_directory_uri() . '/path/script.js', [], null, true);
      wp_script_add_data('unique_script_id', 'type', 'module');
    }
    
    add_action('wp_enqueue_scripts', 'my_scripts');
    Ответ написан
  • Как изменить итернет трафик спомощу python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как добавить ссылку с изображения javascript?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting


    Но я бы так написал:
    Ответ написан
  • Как быть, если мой сайт предназначен не на ру аудиторию?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как быть, если мой сайт предназначен не на ру аудиторию?

    Если обработка ПД происходит с использованием автоматизации (т.е. не руками на бумаге), то становиться оператором ПД и спрашивать согласие. Если будите хранить ПД россиян, то бд с оригинальными ПД должна быть на территории РФ.
    Можно ли как-то иначе это сделать или только такой вариант?

    Можно зарегать ИП, тогда пишем ИП Иванов Иван Иванович ОГРН ИНН. Можно зарегать ооо, там только название ОГРН и ЕГРЮЛ, соответсвенно это уже не прописка физика. Можно не становится оператором ПД и ждать, когда начнется забег из суда в суд и обратно. Не захотите бегать по судам? Будите бегать от приставов.
    И еще вариант, может быть так, если я делаю сайт с доменом .com и он предназначен исключительно не на Ру аудиторию т.к там даже перевода на русский не будет, то я могу использовать зарубежный хостинг и ничего не делать для локализации данных в рф? Тип, если у меня целевая аудитория другая

    Если Вы осуществляете деятельность на территории РФ и к Вам случайно зайдёт посетитель из РФ и Вы не сохраните его ПД на территории РФ - штраф. Вы обязаны вычислить геолокацию данного посетителя собственными силами, чтобы предотвратить нарушение закона.
    Ответ написан
    Комментировать
  • Код на Python написан правильно но вот система постоянна выдаёт ошибку пробовал обновлять все билиотеки но ошибка остаётся?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting

    File "C:\Peton\python\.venv\lib\site-packages\aiogram\dispatcher\__init__.py", line 2
    IndentationError: expected an indented block after class definition on line 1

    Похоже, что внутри __init__.py (aiogram\dispatcher) проблемы с табуляцией.
    Ответ написан
    1 комментарий
  • Как проскролить в определенной облачи экран в selenium?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Переход в дискорд.
    2. Ручная авторизация.
    3. Клик по кнопке с друзьями, для открытия боковой панели.
    4. Перемещение курсора и скролл боковой панели с друзьями путем внедрений js скрипта конкретному элементу (не настоящий скролл колесиком или свайпом).
    5. Выход.

    Если элемент не будет найден, то будет выброшено исключение и распечатана соответствующая ошибка, а значит необходимо будет подкорректировать xpath до этого элемента.

    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.common.by import By
    from selenium.common.exceptions import NoSuchElementException
    import time
    
    url = 'https://discord.com/channels/1097401827202445382/1097674067601010709'
    
    # driver
    driver = webdriver.Chrome()
    driver.get(url)
    
    print('your manual authorization, the script is waiting for 30 seconds')
    time.sleep(30)
    
    try:
        print('find and click element button friends')
        button_element = driver.find_element(By.XPATH, '//*[@id="app-mount"]/div[2]/div[1]/div[1]/div/div[2]/div/div/div/div/div[3]/section/div/div[2]/div[4]')
        button_element.click()
    except NoSuchElementException:
        print('error: element button friends not found')
        time.sleep(5)
        driver.quit()
        exit()
    
    time.sleep(5)
    
    try:
        print('find scroll element')
        element = driver.find_element(By.XPATH, '//*[@id="app-mount"]/div[2]/div[1]/div[1]/div/div[2]/div/div/div/div/div[3]/div[2]/div[2]/aside/div')
    except NoSuchElementException:
        print('error: scroll element not found')
        time.sleep(5)
        driver.quit()
        exit()
    
    print('move cursor to element')
    action = ActionChains(driver)
    action.move_to_element(element).perform()
    
    print('scroll down')
    driver.execute_script('arguments[0].scrollTop += 300', element)
    
    print('mission complete, thanks to Uncle Misha')
    time.sleep(5)
    
    print('exit')
    driver.quit()
    
    # your manual authorization, the script is waiting for 30 seconds
    # find and click element button friends
    # find scroll element
    # move cursor to element
    # scroll down
    # mission complete, thanks to Uncle Misha
    exit
    Ответ написан
    5 комментариев
  • На чем лучше запускать сервер Flask с большой нагрузкой на CPU?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть ли варианты как это правильно можно сделать?

    Использовать Celery для выноса тяжелых задач в очередь, без блокирования основного потока Flask.
    Ответ написан
  • Как правильно преобразовать в обьект python скачанный json файл?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Нужно читать не сам объект, а его содержимое, например json() методом. Добавил заголовок, т.к. сервер блочил ответ без них с кодом 403:
    import requests
    
    url = "http://detailing69.ru/wb_cookies.json"
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    
    res = requests.get(url, headers=headers)
    
    if res.status_code == 200:
        print(res.json())
    else:
        print(f"ОшибкО: {res.status_code}")
    
    # [{'seller': 'Оксана ', 'cookies': {'general': '1', 'statistics': '2', 'supplies': '3', 'advertisement': '4'}}]
    Ответ написан
  • Что использовать для админки на React?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    60 Best React Admin Dashboard Templates in 2023
    Но я бы с нуля писал, используя Mantine.
    Ответ написан
    8 комментариев
  • Автоматизация гостиницы — реальность или фантазия?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Возможно, вопрос лишь в деньгах и рациональности, ибо преждевременная оптимизация не всегда хорошо, т.к. порой эффективнее нанять 10 рабочих вместо 1 робота, и наоборот.
    Ответ написан
    4 комментария
  • Что такое микрокод и ISA?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - ISA (Instruction set architecture) - часть архитектуры ЭВМ, описание предопределённого набора машинных команд и видимой программисту части архитектуры процессора, необходимой ему для написания программы, – абстрагирует для программиста интерфейс между аппаратурой компьютера и нижним уровнем программного обеспечения. Этот уровень архитектуры компьютера называют также уровнем машинного языка. Если проще, то - это как список команд, которые Ваш компьютер понимает и может выполнить. Эти команды используются программистами при написании программ.

    - Микрокод — программа, реализующая набор инструкций процессора. Так же, как одна инструкция языка высокого уровня преобразуется в серию машинных инструкций, в процессоре, использующем микрокод, каждая машинная инструкция реализуется в виде серии микроинструкций — микропрограммы, микрокода. Если проще, то - это набор внутренних инструкций внутри процессора, который помогает выполнить эти команды. Это как "переводчик" между сложными командами, которые Вы даете компьютеру, и тем, что процессор может выполнить. Обычный программист изменить микрокод не может.
    Ответ написан
    1 комментарий
  • Почему не получается заполнить базу данных sqlite через телеграмм бота?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    У Вас создается таблица login_id, но затем, Вы используете user_id... Так же, в таблице всего 1 столбец id, так и задумано?
    Ответ написан
    1 комментарий
  • Как узнать на каком этапе присваиваются cookies?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    было бы неплохо понять на каком этапе присваиваются эти ключи и перезаписать имеющиеся куки на новые

    Можно сравнивать старые с новыми печеньками, т.к. у нас python в тегах, то буду использовать лишь его (а не внешние инструменты):
    import requests
    from http.cookiejar import CookieJar
    
    # initial cookies
    initial_cookies = {}
    
    session = requests.Session()
    session.cookies = CookieJar()
    
    # set cookies
    session.cookies.update(initial_cookies)
    
    # post
    response = session.post(
        'https://seller-supply.wildberries.ru/ns/sm-supply/supply-manager/api/v1/supply/listSupplies',
        headers=headers,
        json=json_data,
    )
    
    # get updated cookies
    updated_cookies = session.cookies.get_dict()
    
    # check new cookies
    if initial_cookies != updated_cookies:
        print("Свежее печенье.")
        print("Старье:", initial_cookies)
        print("Новье:", updated_cookies)
    else:
        print("Свежее печенье не завозилось, расходимся.")

    был бы рад если кто-нибудь объяснит как в принципе присваиваются куки

    1. Запрос к серверу > возврат данных (html, json итп.) + возврат печенек (заголовок Set-Cookie).
    2. Повторный запрос (повторяем п1), но уже с печеньками. Если сервер сочтет, что пора обновить печеньки (авторизация, например), то вернет новые с заголовком Set-Cookie, соответственно приложение (отправившее запрос) мониторит такой заголовок.
    HTTP-куки
    Ответ написан
    4 комментария
  • Как применять разные настройки Django в зависимости откуда был запрос?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как с помощью джанго на бэке вычислять из какого домена был послан запрос и в зависимости от ответа применять те или иные настройки?

    Как вариант, можно создать новый класс в middleware с проверкой источника запроса и использованием другого конфига по условию. В wsgi.py (если используется wsgi) пишем примерно так:
    class CustomMiddleware:
        def __init__(self, get_response):
            self.get_response = get_response
    
        def __call__(self, request):
            d = request.get_host().split(':')[0]
    
            if d == 'www.prod.com':
                settings = importlib.import_module('project.config_prod')
            elif d == 'www.test.com':
                settings = importlib.import_module('project.config_test')
            else:
                settings = importlib.import_module('project.config')
    
            request.settings = settings
    
            response = self.get_response(request)
            return response

    Django не рекомендует изменять настройки в рантайме (после запуска Django), так как это может привести к нестабильной работе и непредсказуемым результатам, особенно в многопоточной среде. А так же, импортирование разных настроек внутри middleware не обязательно повлияет на уже инициализированные компоненты Django, такие как модели, представления и т.д., так как большинство настроек читается Django один раз при запуске.
    Ответ написан
  • Как отменить правила в .htaccess для Logout ( Wordpress )?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как сделать исключение для Logout?

    Отменяем любые правила, если обнаружен url /wp-login.php:
    # .htaccess
    RewriteEngine On
    
    # if url /wp-login.php
    RewriteCond %{QUERY_STRING} action=logout [NC]
    RewriteRule ^wp-login\.php$ - [L]
    
    # else other rulles
    RewriteCond %{THE_REQUEST} \?
    RewriteCond %{QUERY_STRING} !^p=
    RewriteCond %{REQUEST_URI} !^/wp-admin
    RewriteRule .? https://site.com%{REQUEST_URI}? [R=301,L]
    Ответ написан
    2 комментария
  • Как реализовать часть сайта на react (корзина избранные сравнения)?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть потребность сделать часть функционала сайта на react, реализуется такое вообще или нет?)

    Реализуется, Add React to an Existing Project и еще пример. В моем случае частая связка WordPress + часть функционала на React.
    Ответ написан
    1 комментарий