<?php
/*
Template Name: Корма
*/
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Корма</title>
<link rel="icon" href="<?php echo bloginfo('template_url'); ?>/assets/images/logolink.png">
<?php
wp_head();
?>
</head>
<body>
<a href="http://animalfeed/" class="esc_common_btn">
<img class="check_mark" src="<?php echo bloginfo('template_url'); ?>/assets/images/check_mark.png" alt=">">
<div id="esc_text_btn_id" class="esc_text_btn">Вернуться на главную</div>
</a>
<div class="advice_searcher_element"></div>
<div class="Default_item">Совпадений не найдено</div>
<div class="main_search_element">
<input id="input_of_searcher_id" type="text" class="input_of_searcher" >
<label class="label_input_of_searcher" for="input_of_searcher_id"></label>
<button class="button_of_searcher" >
<img src="<?php echo bloginfo('template_url'); ?>/assets/images/lupa.png" alt="" class="lupa">
</button>
</div>
<h1 class="name_current_page">
Корма для животных
</h1>
<h2 class="name_current_page name_current_feed_type">
Корма для собак
</h2>
<section class = "feed_section">
<?php
$my_posts = get_posts( array(
'numberposts' => -1,
'category_name' => 'dogs_feeds_feed-page',
'orderby' => 'date',
'order' => 'ASC',
'post_type' => 'post',
'suppress_filters' => true,
) );
foreach( $my_posts as $post ){
setup_postdata( $post );
?>
<a href="<?php echo get_permalink()?>" style="background: url('<?php the_field('kartinka_posta'); ?>') center no-repeat; background-size: cover;" class="feed_section_element main_section_element" >
<span class="productPreview Item"><?php the_title();?></span>
</a>
<?php
}
wp_reset_postdata(); // сброс
?>
</section>
<h2 class="name_current_page name_current_feed_type">
Корма для кошек
</h2>
<section class = "feed_section">
<?php
$my_posts = get_posts( array(
'numberposts' => -1,
'category_name' => 'cats_feeds_feed-page',
'orderby' => 'date',
'order' => 'ASC',
'post_type' => 'post',
'suppress_filters' => true,
) );
foreach( $my_posts as $post ){
setup_postdata( $post );
?>
<a href="<?php echo get_permalink()?>" style="background: url('<?php the_field('kartinka_posta'); ?>') center no-repeat; background-size: cover;" class="feed_section_element main_section_element" >
<span class="productPreview Item"><?php the_title();?></span>
</a>
<?php
}
wp_reset_postdata(); // сброс
?>
<div class="feed_section_element main_section_element"></div>
</section>
<?php
get_footer();
?>
</body>
</html>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Описание товара</title>
<link rel="icon" href="<?php echo bloginfo('template_url'); ?>/assets/images/logolink.png">
<?php
wp_head();
?>
</head>
<body>
<a href="javascript:history.go(-1)" class="esc_common_btn">
<img class="check_mark" src="<?php echo bloginfo('template_url'); ?>/assets/images/check_mark.png" alt=">">
<div id="esc_text_btn_id" class="esc_text_btn">Вернуться назад</div>
</a>
<div style="text-align:center;">
</div>
<h1 class="descr_information_title"><? the_title()?></h1>
<div class="generation_slider_wrapper">
<div class="generation_slider_img_wrapper">
<?php foreach(get_field('Galery_for_Infinity_slider') as $image):?>
<img src="<?php echo $image['url']; ?>" alt="" class="generation_slider_img">
<?php endforeach; ?>
</div>
<div class="generation_slider_buttons">
<div class="generation_slider_button left_generation_button"></div>
<div class="generation_slider_button right_generation_button"></div>
</div>
</div>
<div class="information_description">
<?php the_field('tekst_posta') ?>
</div>
</div>
<?
get_footer();
?>
<script src="./js/InfinitySlider.js"></script>
</body>
</html>
import threading
import time
import signal
import keyboard
flag = True
Array = []
def globalTime():
while True:
timing = time.time()
yield timing
firtstThread = threading.Thread(target=globalTime)
firtstThread.start()
firtstThread.join()
def cycle(Array):
for i in range(1, len(Array)):
if Array[i]-Array[i-1] <= 2:
exit()
def callback(type, frame):
global flag, Array
if keyboard.is_pressed('ctrl + c') or flag == True:
for thetime in globalTime():
flag = False
Array.append(thetime)
cycle(Array)
break
while True:
signal.signal(signal.SIGINT, callback)
import threading
import time
import signal
import keyboard
flag = True
Array = []
#здесь 2 потока: стандартный и добавленный мной, функция ниже использует новый поток, для того чтобы #временной цикл был независим и мы могли получить текущее время в любой момент. Функция имеет тип #генератора, чтобы использоваться МНОГОРАЗОВО.
def globalTime():
while True:
timing = time.time()
yield timing
#здесь стандартный запуск потока, далее перемещаемся к началу программы, это по факту только объявление #переменных
firtstThread = threading.Thread(target=globalTime)
firtstThread.start()
firtstThread.join()
#3 по счёту кусок кода. Если вы дочитали до сюда, объяснение не требуется.
def cycle(Array):
for i in range(1, len(Array)):
if Array[i]-Array[i-1] <= 2:
exit()
#Сюда идёт программа после первого прерывания. type - номер исключения в данном(тип), во frame не углублялся, #но возвращает нераспарсенный объект, я так понял что это стандартное описание прерывания(лог), но не уверен, #поправьте если что . Эти переменные не используются.
def callback(type, frame):
global flag, Array
#signal постоянно отправляет левые данные, после начала работы, поэтому отсеиваем только нужный нам, тут #интересная вещь: возникает проблема. при первом нажатии ctrl + c сигнал просто начинает работу, но сам первый #сигнал не отсылает, поэтому используем flag
if keyboard.is_pressed('ctrl + c') or flag == True:
#далее всё просто. Стартует генератор, из которого нам нужно только один конкретный момент времени
for thetime in globalTime():
#флаг больше не нужен
flag = False
#добавляем все временные интервалы нажатия в список.
Array.append(thetime)
cycle(Array)
#break используем от переполнения стека, ведь из генератора нам нужно 1 число, а не мильон. Без него программа #тупо перестаёт работать.
break
#Здесь начало программы, использовал сигнал, чтобы отловить и предотвратить KeyboardInterrupt. SIGINT - как раз #имеет тип прерывания. Заключено в бесконечный. Если по простому, то это и есть работающий except в цикле #while, только куда менее удобный.(Лично для меня)
while True:
signal.signal(signal.SIGINT, callback)
def NewArr(M, N):
Elements = []
Elem = [0]*M
for i in range(N):
Elements.append(Elem.copy())
return Elements
class cell:
def __init__(self, cross):
self.cross = cross
def output(self):
return self.cross
M, N = int(input('Enter M: ')), int(input('Enter N: '))
# M, N =2,2
# Points = [[0,0]]
Elements = []
elem = ''
Points = []
while elem != 'stop':
elem = input('enter next point: ')
Points.append([int(i) for i in elem.split() if elem != 'stop'])
del Points[-1]
for i in range(M):
Elements.append([])
for j in range(N):
if i == elem[0] and j == elem[1]:
Elements[i].append(cell(cross='crossed'))
else:
Elements[i].append(cell(cross='uncrossed'))
for i in range(M):
for j in range(N):
print(Elements[i][j].cross)