Страница 20 из 26

Re: Модуль Продукты

Добавлено: Чт окт 04, 2018 11:44 am
fandaymon
webms писал(а): Чт окт 04, 2018 8:57 am Ничего себе, теперь не нужно заниматься этим извращением?)

Код: Выделить всё

вклю(чи|чить)
и тп?!)
Ну в самом шаблоне всё равно придётся варианты ставить, чтобы шаблон включился. А дальше - да, умный дом попытается разбить продиктованный список на продукты

Re: Модуль Продукты

Добавлено: Сб ноя 17, 2018 7:30 am
maksimka
webms писал(а): Вт апр 24, 2018 5:11 pm
ARTik писал(а): Вт апр 24, 2018 4:05 pm Какие симпотные иконки, можно их тоже как то заполучить?
Пожалуйста https://yadi.sk/d/TDnf21U03Uj45x
Ссылочка битая. Тоже хочу такие иконки. Продублируйте плииз.

Re: [Модуль] Продукты (app_products)

Добавлено: Сб дек 29, 2018 11:02 am
Jilber
Я правильно понимаю, что эти таблицы остались от модуля "Продукты" и при его отсутствии их можно спокойно удалить ?
SPOILERSPOILER_SHOW
Таблицы.jpg
Таблицы.jpg (20.99 КБ) 6046 просмотров

Re: [Модуль] Продукты (app_products)

Добавлено: Сб дек 29, 2018 12:31 pm
nick7zmail
Jilber писал(а): Сб дек 29, 2018 11:02 am Я правильно понимаю, что эти таблицы остались от модуля "Продукты" и при его отсутствии их можно спокойно удалить ?
SPOILERSPOILER_SHOW
Таблицы.jpg
Да, правильно

Re: [Модуль] Продукты (app_products)

Добавлено: Чт янв 17, 2019 4:42 pm
newz20
Может плохо читал ветку, а как ведется расход. Пример добавки в корзину видел, правда он без кол-ва. но не беда, в магазе разберусь. Нет фразы яиц осталось 5, и остаток ставится на 5? Или минус 2 яйца и остаток уменьшается на 2?

Re: [Модуль] Продукты (app_products)

Добавлено: Чт янв 17, 2019 7:10 pm
fandaymon
newz20 писал(а): Чт янв 17, 2019 4:42 pm Может плохо читал ветку, а как ведется расход. Пример добавки в корзину видел, правда он без кол-ва. но не беда, в магазе разберусь. Нет фразы яиц осталось 5, и остаток ставится на 5? Или минус 2 яйца и остаток уменьшается на 2?
Имеется в виду - расход голосом? Если да, то никак не ведётся. Поскольку и у меня и lanketa схема работы другая. Когда жена видит, что что-то закончилось она говорит умному дому что это что-то надо купить (Напомни купить 10 штук яиц 2 бутылки пива белого хлеба, например) - продукт добавляется в список покупок. Дальше по команде Отправь список покупок, список покупок отправляется в GoogleKeep на наши телефоны, там есть удобный список с отмечанием что куплено. После похода в магазин, по команде - Удали купленное, все отмеченные в GoogleKeep продукты удаляются из Списка покупок
Можно конечно реализовать голосом и изначальную схему, т.е. с заканчивающимися продуктами, но конкретно в нашей семье она не приживётся.

Re: [Модуль] Продукты (app_products)

Добавлено: Чт янв 17, 2019 8:19 pm
webms
fandaymon писал(а): Чт янв 17, 2019 7:10 pm Дальше по команде Отправь список покупок, список покупок отправляется в GoogleKeep на наши телефоны, там есть удобный список с отмечанием что куплено. После похода в магазин, по команде - Удали купленное, все отмеченные в GoogleKeep продукты удаляются из Списка покупок
подскажи пожалуйста, а как ты это реализовал?
очень круто!

Re: [Модуль] Продукты (app_products)

Добавлено: Чт янв 17, 2019 9:05 pm
fandaymon
webms писал(а): Чт янв 17, 2019 8:19 pm
fandaymon писал(а): Чт янв 17, 2019 7:10 pm Дальше по команде Отправь список покупок, список покупок отправляется в GoogleKeep на наши телефоны, там есть удобный список с отмечанием что куплено. После похода в магазин, по команде - Удали купленное, все отмеченные в GoogleKeep продукты удаляются из Списка покупок
подскажи пожалуйста, а как ты это реализовал?
очень круто!
Под питон есть неофициальный клиент GoogleKeep - https://github.com/kiwiz/gkeepapi (где-то в недрах темы я про него писал)
На малинку ставится при помощи пипа - pip install gkeepapi
Далее сделал в Keep New List и обозвал его Список покупок (сделал его Pinned для удобства)
Список покупок расшарил и для жены (Collaborators)

По шаблону Отправь список покупок у меня вызывается такой код
SPOILERSPOILER_SHOW

Код: Выделить всё

$items=SQLSelect("SELECT * FROM shopping_list_items JOIN products WHERE products.ID = shopping_list_items.PRODUCT_ID");
$total=count($items);
$handle=fopen('shop_list.txt','w');

if ($total) {
 //в корзине что-то есть
 //формируем список
 $list='';
 for ($i=0;$i<$total;$i++) {
  if ($items[$i]['List_Qty']>1) {
  $list=$items[$i]['TITLE']. "(" . $items[$i]['List_Qty'] . " " . $items[$i]['Ed_Izm'] . ")\n";
  }
  else {
  $list=$items[$i]['TITLE']."\n";
  } 
  fwrite($handle,$list);
 }

 fclose($handle);
 exec('python /home/pi/keep.py');
 sayreply('Список отправлен!',2);
}
В /home/pi/keep.py такой код
SPOILERSPOILER_SHOW

Код: Выделить всё

# - *- coding: utf- 8 - *-
import gkeepapi
keep = gkeepapi.Keep()
keep.login('email', 'password')

f=open('/var/www/shop_list.txt')
gnotes=keep.find(func=lambda x: x.title == u'Список покупок')
for glist in gnotes :
  for x in glist.items :
    x.delete()

  for line in f:
    glist.add(line, False)

f.close()
keep.sync()
Имейл и пароль подставить свой

По шаблону Удали купленное
SPOILERSPOILER_SHOW

Код: Выделить всё

sayreply('Минуточку',2);
exec('python /home/pi/keep_delete.py');
$content = file('shop_list.txt');
$kupleno='Я удалила из списка покупок ';

//Перебираем все элементы массива в цикле
sayreply('Минуточку',2);
exec('python /home/pi/keep_delete.py');
$content = file('shop_list.txt');
$kupleno='Я удалила из списка покупок ';

//Перебираем все элементы массива в цикле
foreach ($content as $string) {
    $product=substr($string,0,-1);
    $i=mb_strpos($product,'(');
    if ($i>0) {
     $product=mb_substr($product,0,$i);
    } 
    $kupleno.= $product . '.' ;
    SQLExec("delete from shopping_list_items where TITLE='" . $product . "'");
}

sayreply($kupleno,2);

sayreply($kupleno,2);
В файле /home/pi/keep_delete.py
SPOILERSPOILER_SHOW

Код: Выделить всё

# - *- coding: utf- 8 - *-
import gkeepapi
keep = gkeepapi.Keep()
keep.login('email', 'password')

f=open('/var/www/shop_list.txt','w')
gnotes=keep.find(func=lambda x: x.title == u'Список покупок')
for glist in gnotes :
  for x in glist.items:
    if x.checked :
      f.write(x.text[:len(x.text)-1].encode('UTF-8') + '\n')

f.close()
keep.sync()
Примерно так выглядит список покупок в кипе
GoogleKeep.jpg
GoogleKeep.jpg (23.56 КБ) 5939 просмотров

Re: [Модуль] Продукты (app_products)

Добавлено: Чт янв 17, 2019 9:10 pm
webms
Спасибо ОГРОМНОЕ. Завтра попробую и у себя это реализовать

Re: [Модуль] Продукты (app_products)

Добавлено: Пт янв 18, 2019 12:20 am
webms
А как исправить вот это?
Кодировку файла менял, но не помогает. ТОчнее не запускается файл питона под виндой