x: None
, тогда можно будет вызывать функцию без аргументов:from typing import overload, Union
@overload
def Func(a: int) -> int: ...
@overload
def Func(a: bool) -> bool: ...
@overload
def Func() -> None: ...
def Func(x: Union[int, bool, None] = None) -> Union[int, bool, None]:
if x is None:
return None
elif isinstance(x, bool):
return x
elif isinstance(x, int):
return 333
else:
raise ValueError("Invalid argument type.")
print(Func(10)); # 333
print(Func(True)); # True
print(Func()); # None
print(Func('kek')); # ValueError: Invalid argument type.
А при добавлении картинок с бд они все идут в один столбец.
include("bd.php");
mysqli_query($bd, "SET NAMES utf8 COLLATE utf8_unicode_ci");
$res = mysqli_query($bd, "SELECT * FROM kat");
echo '<div class="container">';
echo '<div class="row">';
while($row = mysqli_fetch_array($res)) {
echo '<div class="col-6 col-sm-6 col-md-4 col-lg-3 col-xl-2">';
echo '<img src=img/tovar/' . $row['img'] . ' class="img-fluid"/>';
echo '</div>';
}
echo '</div>';
echo '</div>';
import json
def on_message(ws, message):
data = json.loads(message)
s = data.get("s")
p = data.get("p")
if p:
_p = float(p)
if _p > 51500:
print(f"Монета {s} больше 51500, текущая цена: {_p}")
else:
print(f"Монета {s} меньше или равна 51500, текущая цена: {_p}")
def sort_pair(a, b):
def sort_pair(pair):
a, b = pair
if a <= b:
return (a, b)
else:
return (b, a)
print(sort_pair((5, 1))) # (1, 5)
print(sort_pair((2, 2))) # (2, 2)
print(sort_pair((7, 8))) # (7, 8)
from typing import Tuple
def sort_pair(pair: Tuple[int, int]) -> Tuple[int, int]:
a, b = pair
if a <= b:
return (a, b)
else:
return (b, a)
print(sort_pair((5, 1))) # (1, 5)
print(sort_pair((2, 2))) # (2, 2)
print(sort_pair((7, 8))) # (7, 8)
SELECT
comment.*,
COALESCE(users.avatarInGames, usersCache.avatarInGames) AS avatarInGames,
COALESCE(users.gameId, usersCache.gameId) AS gameId
FROM comment
LEFT JOIN users ON comment.UID = users.userId
LEFT JOIN usersCache ON comment.UID = usersCache.userId
WHERE comment.status = 1
ORDER BY comment.OID DESC;
Как заблюрить товары на страницах для незарегистрированных пользователей?
// functions.php:
function test() {
if (!is_user_logged_in()) {
wp_add_inline_style('woocommerce-general', '.product {filter: blur(5px)}');
}
}
add_action('wp_enqueue_scripts', 'test');
А также есть вопрос по закрытию доступа к заказу из корзины, если пользователь не авторизован.
// functions.php:
function test() {
if (!is_user_logged_in()) {
wp_redirect(get_permalink(wc_get_page_id('myaccount')));
exit;
}
}
add_action('woocommerce_before_checkout_form', 'test');
Вот сама ошибка(походу что-то я сделал не так и огроомная ошибка поменялась в маленькую):
C:\Users\akrav\Desktop\машынки\main.py:183: RuntimeWarning: coroutine 'get_cards' was never awaited
get_cards(message)
# def new_card(message: types.Message):
# get_cards(message)
async def card_handler(message: types.Message):
await get_cards(message)
position: absolute;
top: 1px;
left: 1px;
right: 1px;
bottom: 1px;
add_action('init', function() {
$limit = 140;
$count_users = count_users();
$total_users = $count_users['total_users'];
if($total_users > $limit) {
update_option('users_can_register', false);
} else {
update_option('users_can_register', true);
}
});
В 2016-м году, делали нечто, что потом начали люди называть SPA - но за счёт аяксов, которые грузят что нужно. При этом сохраняется структура страниц на сервере, и нет и не было проблем с индексацией.
Вот от фронтовых фреймворков верстки - профит заметен был (тот же фаундейшн, бутстрап и тд) - действительно ускоряло и упрощало жизнь.
1. Стильно, модно, молодёжно. Других не могу придумать. Вроде бы как должно работать быстрее, но практика этого не показывает (или настолько незначительно, что конечному пользователю - пофиг, будет работать аякс или вьюшная реактивность).
Собственно, а зачем это всё нужно, если профит, кажется - нулевой