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

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

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

Сообщение lihodeev » Пн апр 29, 2019 3:28 pm

При попытке редактирования названия продукта кнопка обновить не работает, и даже не пытается :-( хотя, с месяц назад все было в порядке.. это не связано с системой в целом? Или что то случилось с моей системой?
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
fandaymon
Сообщения: 1555
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Пн апр 29, 2019 3:45 pm

lihodeev писал(а):
Пн апр 29, 2019 3:28 pm
При попытке редактирования названия продукта кнопка обновить не работает, и даже не пытается :-( хотя, с месяц назад все было в порядке.. это не связано с системой в целом? Или что то случилось с моей системой?
Редактируй продукты через Приложения - в админке форма таб в табе и кнопка submit почему-то не отрабатывает как надо
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 08, 2019 4:21 am

fandaymon писал(а):
Чт янв 17, 2019 9:05 pm
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)

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

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

$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 такой код
СпойлерПоказать

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

# - *- 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()
Имейл и пароль подставить свой

По шаблону Удали купленное
СпойлерПоказать

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

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

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

sayreply($kupleno,2);
В файле /home/pi/keep_delete.py
СпойлерПоказать

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

# - *- 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. Логин и пароль корректные.
shop_list.txt заполняется символами, кодировка файла UTF-8.
Удалял файл, создавал вручную, все равно все без изменений.
Что делать, куда копать???
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Ср май 08, 2019 7:19 am

Пайтон установлен? При запуске из консоли скрипты отрабатывают?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
fandaymon
Сообщения: 1555
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Ср май 08, 2019 1:14 pm

ialtuhov писал(а):
Ср май 08, 2019 4:21 am


Сделал по вашему шаблону, но у меня не отправляет список на GoogleKeep. Логин и пароль корректные.
shop_list.txt заполняется символами, кодировка файла UTF-8.
Удалял файл, создавал вручную, все равно все без изменений.
Что делать, куда копать???
Исправление сделано?
вместо f=open('/var/www/shop_list.txt') написать f=open('/var/www/shop_list.txt','r', encoding='utf-8')
Правильная почта и пароль внесены?
В Google Keep создан список Список покупок?
Если просто запустить python /home/pi/keep.py - как отрабатывает?
Есть ли у пользователя под которым крутится МДМ права на запуск?
fandaymon
Сообщения: 1555
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Ср май 08, 2019 5:34 pm

lihodeev писал(а):
Пн апр 29, 2019 3:28 pm
При попытке редактирования названия продукта кнопка обновить не работает, и даже не пытается :-( хотя, с месяц назад все было в порядке.. это не связано с системой в целом? Или что то случилось с моей системой?
Нашел из-за чего это происходило - когда Сергей примет изменения, то должно всё исправиться
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 08, 2019 8:47 pm

fandaymon писал(а):
Ср май 08, 2019 1:14 pm
ialtuhov писал(а):
Ср май 08, 2019 4:21 am


Сделал по вашему шаблону, но у меня не отправляет список на GoogleKeep. Логин и пароль корректные.
shop_list.txt заполняется символами, кодировка файла UTF-8.
Удалял файл, создавал вручную, все равно все без изменений.
Что делать, куда копать???
Исправление сделано?
вместо f=open('/var/www/shop_list.txt') написать f=open('/var/www/shop_list.txt','r', encoding='utf-8')
Правильная почта и пароль внесены?
В Google Keep создан список Список покупок?
Если просто запустить python /home/pi/keep.py - как отрабатывает?
Есть ли у пользователя под которым крутится МДМ права на запуск?
Я совсем недавно начал заниматься всем этим и знаний у меня пока, можно сказать, нет.
Исправления сделал.
Почта и мыло корректное.
В Google Keep создал.

Пока писал это сообщение все еще раз проверил, ничего толком не исправил, но заработало, частично (отправляет):
По отработке python /home/pi/keep.py :
если f=open('/var/www/shop_list.txt')
то результат все ОК
если f=open('/var/www/shop_list.txt','r', encoding='utf-8')
то
root@ubuntu:~# python /home/mj/keep.py
Traceback (most recent call last):
File "/home/mj/keep.py", line 6, in <module>
f=open('/var/www/shop_list.txt','r', encoding='utf-8')

По отработке python /home/mj/keep_delete.py:
если f=open('/var/www/shop_list.txt')
то
Traceback (most recent call last):
File "/home/mj/keep_delete.py", line 11, in <module>
f.write(x.text[:len(x.text)-1].encode('UTF-8') + '\n')
если f=open('/var/www/shop_list.txt','r', encoding='utf-8')
то
Traceback (most recent call last):
File "/home/mj/keep_delete.py", line 6, in <module>
f=open('/var/www/shop_list.txt','r', encoding='utf-8')

По факту все отправляет, все хорошо.
Купленное (отмеченное в Google Keep) не убирает при запуске через Putty (не отрабатывает команда), через Мажора (шаблоном) зачищает вообще полностью, убирает все.
Что делать???
fandaymon
Сообщения: 1555
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Ср май 08, 2019 9:00 pm

ialtuhov писал(а):
Ср май 08, 2019 8:47 pm
fandaymon писал(а):
Ср май 08, 2019 1:14 pm
ialtuhov писал(а):
Ср май 08, 2019 4:21 am


Сделал по вашему шаблону, но у меня не отправляет список на GoogleKeep. Логин и пароль корректные.
shop_list.txt заполняется символами, кодировка файла UTF-8.
Удалял файл, создавал вручную, все равно все без изменений.
Что делать, куда копать???
Исправление сделано?
вместо f=open('/var/www/shop_list.txt') написать f=open('/var/www/shop_list.txt','r', encoding='utf-8')
Правильная почта и пароль внесены?
В Google Keep создан список Список покупок?
Если просто запустить python /home/pi/keep.py - как отрабатывает?
Есть ли у пользователя под которым крутится МДМ права на запуск?
Я совсем недавно начал заниматься всем этим и знаний у меня пока, можно сказать, нет.
Исправления сделал.
Почта и мыло корректное.
В Google Keep создал.

Пока писал это сообщение все еще раз проверил, ничего толком не исправил, но заработало, частично (отправляет):
По отработке python /home/pi/keep.py :
если f=open('/var/www/shop_list.txt')
то результат все ОК
если f=open('/var/www/shop_list.txt','r', encoding='utf-8')
то
root@ubuntu:~# python /home/mj/keep.py
Traceback (most recent call last):
File "/home/mj/keep.py", line 6, in <module>
f=open('/var/www/shop_list.txt','r', encoding='utf-8')

По отработке python /home/mj/keep_delete.py:
если f=open('/var/www/shop_list.txt')
то
Traceback (most recent call last):
File "/home/mj/keep_delete.py", line 11, in <module>
f.write(x.text[:len(x.text)-1].encode('UTF-8') + '\n')
если f=open('/var/www/shop_list.txt','r', encoding='utf-8')
то
Traceback (most recent call last):
File "/home/mj/keep_delete.py", line 6, in <module>
f=open('/var/www/shop_list.txt','r', encoding='utf-8')

По факту все отправляет, все хорошо.
Купленное (отмеченное в Google Keep) не убирает при запуске через Putty (не отрабатывает команда), через Мажора (шаблоном) зачищает вообще полностью, убирает все.
Что делать???
А питон-то какой?
python --version

А откуда в keep_delete взялось f=open('/var/www/shop_list.txt','r', encoding='utf-8') ?
Там должно быть или f=open('/var/www/shop_list.txt','w') или f=open('/var/www/shop_list.txt','w', encoding='utf-8')
В этом скрипте идёт запись купленного в файл shop_list.txt, поэтому нужно его открывать на запись
А так скрипт открывает файл на чтение, ничего не может туда записать, ну и шаблон соответственно удаляет всё что там раньше было
За это сообщение автора fandaymon поблагодарил:
ialtuhov (Ср май 08, 2019 10:31 pm)
Рейтинг: 1.16%
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 08, 2019 9:01 pm

fandaymon писал(а):
Ср май 08, 2019 9:00 pm
ialtuhov писал(а):
Ср май 08, 2019 8:47 pm
fandaymon писал(а):
Ср май 08, 2019 1:14 pm
ialtuhov писал(а):
Ср май 08, 2019 4:21 am


Сделал по вашему шаблону, но у меня не отправляет список на GoogleKeep. Логин и пароль корректные.
shop_list.txt заполняется символами, кодировка файла UTF-8.
Удалял файл, создавал вручную, все равно все без изменений.
Что делать, куда копать???
Исправление сделано?
вместо f=open('/var/www/shop_list.txt') написать f=open('/var/www/shop_list.txt','r', encoding='utf-8')
Правильная почта и пароль внесены?
В Google Keep создан список Список покупок?
Если просто запустить python /home/pi/keep.py - как отрабатывает?
Есть ли у пользователя под которым крутится МДМ права на запуск?
Я совсем недавно начал заниматься всем этим и знаний у меня пока, можно сказать, нет.
Исправления сделал.
Почта и мыло корректное.
В Google Keep создал.

Пока писал это сообщение все еще раз проверил, ничего толком не исправил, но заработало, частично (отправляет):
По отработке python /home/pi/keep.py :
если f=open('/var/www/shop_list.txt')
то результат все ОК
если f=open('/var/www/shop_list.txt','r', encoding='utf-8')
то
root@ubuntu:~# python /home/mj/keep.py
Traceback (most recent call last):
File "/home/mj/keep.py", line 6, in <module>
f=open('/var/www/shop_list.txt','r', encoding='utf-8')

По отработке python /home/mj/keep_delete.py:
если f=open('/var/www/shop_list.txt')
то
Traceback (most recent call last):
File "/home/mj/keep_delete.py", line 11, in <module>
f.write(x.text[:len(x.text)-1].encode('UTF-8') + '\n')
если f=open('/var/www/shop_list.txt','r', encoding='utf-8')
то
Traceback (most recent call last):
File "/home/mj/keep_delete.py", line 6, in <module>
f=open('/var/www/shop_list.txt','r', encoding='utf-8')

По факту все отправляет, все хорошо.
Купленное (отмеченное в Google Keep) не убирает при запуске через Putty (не отрабатывает команда), через Мажора (шаблоном) зачищает вообще полностью, убирает все.
Что делать???
А питон-то какой?
python --version

А откуда в keep_delete взялось f=open('/var/www/shop_list.txt','r', encoding='utf-8') ?
Там должно быть или f=open('/var/www/shop_list.txt','w') или f=open('/var/www/shop_list.txt','w', encoding='utf-8')
В этом скрипте идёт запись купленного в файл shop_list.txt, поэтому нужно его открывать на запись
А так скрипт открывает файл на чтение, ничего не может туда записать, ну и шаблон соответственно удаляет всё что там раньше было
Python 2.7.12
fandaymon
Сообщения: 1555
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Ср май 08, 2019 9:03 pm

ialtuhov писал(а):
Ср май 08, 2019 9:01 pm

Python 2.7.12
Во втором питоне должно без энкодинга работать, по крайней мере у меня так работает
Не забыть в начале скрипта вписать

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

 # - *- coding: utf- 8 - *-
Ответить