<?php
namespace Models;

class Cd_python  {
	public $f3, $sets, $web, $method='POST';

	public function __construct($f3, $sets) {
		$this->f3=$f3;
		$this->sets=$sets;
		$this->web=\Web::instance();
	}

	// Тест сервера
	function test($driver, $restart=true) {
		// Тестовый запрос
		$url=$this->sets['url'];
		$options = array(
			'timeout'=>3,
    		'method'  => $this->method,
    		'content' => "data=test;\n"
		);
		$res=$this->web->request($url, $options);
		// Если в ответ не пришел код ответа 200, то надо запустить сервер
		if(mb_strpos($res['headers'][0], '200')===false) {
			if($driver!='') {
				if($restart) {
					$script=$driver.'/server.py';
					//include('drivers/start.php');
					$this->test($driver, false);
				}
				else {
					echo "Не удается запустить драйвер дисплея покупателя";
					return;
				}
			}
			else {
				echo "Сервер дисплея покупателя не доступен";
				return;
			}
		}
	}

	// Печать на дисплее покупателя
	function print($txt, $timeout=3) {
		//$this->test($this->sets['driver']);
		$url=$this->sets['url'];
		$options = array(
			'timeout'=>$timeout,
    		'method'  => $this->method,
    		'content' => 'data='.$txt
		);
		$res=$this->web->request($url, $options);
	}

}
