Да, уже померили, спасибо. До ассемблера не дошли. Но перешли на analogread для совместимости с намуром. Следущей оптимизацией может быть запоминание типа счетчика, чтобы если он геркон, то digitalread, если намур — analogread делать. Правда, не факт, что в 4кб уложимся.
analogread в tinycore оптимальный, digitalread нет, поэтому там битами поработал.
Простите, я правильно понял, что вуз размещает на официальном сайте литературу по учебе, просмотр бесплатный, а скачивание платное?! о_0
А сколько рублей, если не секрет, за методичку по предмету?
Вот так я считаю комиссию Алиэкспресса и комиссию партнерской программы:
Цикл по каждому товару в заказе:
for dto in data['child_order_list']['global_aeop_tp_child_order_dto']:
g = Good()
g.name = self.parse_name_from_attr(dto)
g.sum = float(dto['init_order_amt']['amount'])
g.quantity = int(dto['product_count'])
g.price = float(dto['product_price']['amount'])
if 'afflicate_fee_rate' in dto:
# партнерская комиссия, рублей
g.affiliate_commission = g.price * g.quantity * float(dto['afflicate_fee_rate'])
if 'escrow_fee_rate' in dto:
# комиссия Алиэкспресса
g.ali_commission = g.price * g.quantity * float(dto['escrow_fee_rate'])
if 'refund_info' in dto and dto['refund_info']:
amt = dto['refund_info']['refund_cash_amt']
# если был возврат товара
g.refund = 1.0 * amt['cent'] / amt['cent_factor']
p.s. да, я знаю, что лучше в копейках считать
А вот здесь парсинг цвета товара:
def parse_name_from_attr(self, dto):
attr = json.loads(dto['product_attributes'])
if 'sku' in attr: # для тестов
for a in attr['sku']:
if 'selfDefineValue' in a:
return a['selfDefineValue']
#if attr['pName'] == 'Color':
# if attr['pValue'] == 'White':
# elif attr['pValue'] == 'Blue':
# elif attr['pValue'] == 'YELLOW':
for a in attr['sku']:
if 'pName' in a and a['pName'] == 'Color':
if a['pValue'] == 'Black':
return 'Ватериус'
Кажется у меня что-то работает «не так», раз я не обновляю сессионный ключ уже полгода…
Я описал его получение у себя в ЖЖ:
sessionkey — Ключ, который мы должны получить после авторизации. Есть 2 пути его получения: авторизация через OAuth 2.0 или «браузер». Т.к. пока есть цель написать локальный Питон скрипт без сервера, выберем 2й вариант.
Откроем в браузере oauth.aliexpress.com/authorize?response_type=token&client_id=111111111&state=1212&view=web&sp=ae, где 111111111 — ваш appKey
Соглашаемся с Соглашением и видим access_token. Его и пишем в sessionkey.
Китайский SDK еще с 3м Питоном не работал, я переписал ядро. По ссылке скрипт для получения заказов.
Вот так, например, я записываю трек номера Почты России в заказы на Алиэкспресс:
def send_track_id(order_id, track_id):
"""
Отправка номера отправления в заказ на Алиэкспресс
:param order_id: номер заказа
:param track_id: номер отправления
:return:
"""
req = api.AliexpressSolutionOrderFulfillRequest(url, port)
req.set_app_info(appinfo(ALIEXPRESS_APPKEY, ALIEXPRESS_SECRET))
#req.description = 'Почта России в регионы'
req.service_name = 'RUSSIAN_POST_RU_PROVINCE_RUB' #'Почта России в регионы'
req.tracking_website = 'https://www.pochta.ru/tracking'
req.out_ref = str(order_id)
req.send_type = 'all'
req.logistics_no = str(track_id)
try:
resp = req.getResponse(ALIEXPRESS_SESSION_KEY)
if resp['aliexpress_solution_order_fulfill_response']['result']['result_success']:
return True
except TopException as err:
if err.errorcode == 15:
if '该交易订单已填写发货通知' in err.submsg:
raise Exception('Трек номер уже заполнен')
raise err
Всё так.
Добавлю: НАМУР — это 2-х проводный интерфейс. Там параллельно и последовательно стоит по резистору. 4 провода производители счётчиков сделали, чтобы было оба интерфейса сразу.
Когда я ковырял С2000-ПП, то кажется не все регистры отзывались на функции единичного/множественного чтения…
Год назад видел датчик газа… — Этих российских датчиков с проприетарными протоколами столько, что пора делать фестивали протоколов и присуждать премии по номинациям =/.
Месяц назад знакомый показал комментарий со страницы мониторинга воздуха в Капотне:
"При превышении уровня ставим прочерк
При отрицательном уровне ставим 0" http://www.mosecom.ru/kapotnya
Офигенно! Жду продолжения!
p.s. То чувство, когда родной Политехнический музей настолько музей, что даже шкафы для экспонатов стали экспонатами =)
analogread в tinycore оптимальный, digitalread нет, поэтому там битами поработал.
А сколько рублей, если не секрет, за методичку по предмету?
Цикл по каждому товару в заказе:
p.s. да, я знаю, что лучше в копейках считать
А вот здесь парсинг цвета товара:
Я описал его получение у себя в ЖЖ:
Китайский SDK еще с 3м Питоном не работал, я переписал ядро.
По ссылке скрипт для получения заказов.
Вот так, например, я записываю трек номера Почты России в заказы на Алиэкспресс:
Добавлю: НАМУР — это 2-х проводный интерфейс. Там параллельно и последовательно стоит по резистору. 4 провода производители счётчиков сделали, чтобы было оба интерфейса сразу.
Спасибо! Буду благодарен за репост в соцсетях :)
Вместо батареек запихните: Модуль DC-DC преобразователя AMS1117 (с 6–12 V в 5 V)
Год назад видел датчик газа… — Этих российских датчиков с проприетарными протоколами столько, что пора делать фестивали протоколов и присуждать премии по номинациям =/.
Код обещают открыть после официальных поставок устройства.
Есть в продаже сертифицированные датчики РМ2.5? Я полагаю они должны быть в реестре средств измерений РФ.
Может MagicAir сертифицирован?
p.s. посмотрел видео Пивоварова про Красноярск и бомбит от чиновника, тыкающего в сертификацию у волонтеров.
Месяц назад знакомый показал комментарий со страницы мониторинга воздуха в Капотне:
"При превышении уровня ставим прочерк
При отрицательном уровне ставим 0"
http://www.mosecom.ru/kapotnya
В ноябре уже удалили. Но все помнит вебархив: http://web.archive.org/web/20181020042513/http://www.mosecom.ru/kapotnya/