Pull to refresh
11
0
Яновец Сергей @Yanovets

Программист

Send message

Запустил скрипт - работает.
Что-то не получилось?

Ага. Спасибо! Что скажете насчёт точности этого сервиса погоды?
Спасибо! Интересная статья. Только перевод местами запутывает.
«Ваш сотрудник хочет монитор побольше? Купите ему один».
А если сотрудник попросит два? Не покупать?
В оригинале написано так: «Does your employee want a bigger monitor? Buy them one».
Т.е. «купите им его». Здесь слово «one» использовано в качестве местоимения.
Спасибо за дельное замечание. Исправлено. Так что о животных можете не волноваться )
Спасибо, asd111! Действительно, в ответ на запрос «weather» пришёл description на русском: «небольшой снегопад»! Что, кстати, полностью соответствует действительности — за окошком идет снег (в Питере).
Там есть такая штука: http://openweathermap.org/history
Только эта информация платная. «Historical data is available for 1 month previous in Starter account ($40), for 1 year previous in Medium accounts ($180), and is 5 and more year previous in Advanced accounts ($470)». Если нужна информация годичной давности, то подписка стоит $180 в месяц.
Шёл 2016-й. А некоторые люди всё ещё только учатся ходить.
Вы умеете api? Это очень хорошо! Так научите меня тому, что Вы умеете. Чему я научился, тем и делюсь. Много материала, где есть общие идеи, намёки, а мне, который учится ходить, хотелось бы поподробнее, с объяснением деталей. Это вот я, как для себя и написал. Или, как если бы я это сыну объяснял. По-моему такой стиль изложения вполне имеет право на жизнь.
Вот спасибо! По ссылке есть код на python'е! Используются две библиотеки urllib и json. И я тоже сначала этот вариант использовал. Но потом нашел более симпатичную альтернативу — библиотеку requests. И ещё подробно описан процесс регистрации. Ну, и недостаток моего кода решён — сделан перевод на русский текстов с описанием погоды. Хотя, думаю, красивее было бы использовать не if'ы, а dictionary для этой цели. Спасибо за полезный вклад!
Прикольная штука. Спасибо! В Linux'е в командной строке нужно исполнить
$curl wttr.in
И в терминалке появится красивая картинка, показывающая погоду в Питере. Вот такого вида.
Ура! Карма вернулась! Теперь смог плюсик Вам поставить за библиотеку pyowm :)
Интересно будет посмотреть Вашу реализацию с forecast.io. Спасибо! Насчёт точности openweathermap — не знаю. Судя по статье от 2012 года, на российской территории станций маловато, поэтому и с точностью должны быть проблемы. Вряд ли за 4 года ситуация кардинальным образом изменилась. А вот западнее — насчёт Европы — точность должна быть лучше. Там с метео-станциями всё очень неплохо.
Спасибо! Интересно будет попробовать.
Проверил — Ваш скрипт работает. Пришлось, правда, поставить утилитку jq, которой у меня не оказалось. И заработало. Спасибо за вклад в дело получения метео. Только я не вполне понял Ваши вопросы насчёт юнит-тестов, бэкэнда и пр. Я то зашёл в эту тему из python'а. Узнал, что есть такой сервис OpenWeatherMap, удалось получить текущую температуру, которая на удивление соответствовала окружающей меня действительности. В python'е нашлась хорошая библиотека requests, которая позволила не только запрос сделать, а ещё и распарсить JSON-формат. Подумал, что кому-нибудь ещё может быть интересно, что 1) существует такой общественный сервис, в который каждый желающий может выложить собственную метео-информацию о погоде (идея сама по себе интересная); 2) сервисом OpenWeatherMap можно воспользоваться для получения разного вида информации (в том числе на bash'е), и это достаточно просто делается; 3) примитивный, но работающий код на python'е. И ещё подумал, что, может, кому-нить это может быть интересно, поэтому этим всем я решил поделиться. Где-то есть прокол в моих соображениях?
А сервис погоды был этот же — openweathermap.org?
Разделитель "/" будет работать в Windows, Linux, OS-X. Согласен, что в идеальном коде нужно использовать os.sep. Но в неидеальном одноразовом коде, когда закопипастить путь (как я и сделал в приведенном коде) проще, чем составлять путь из кусочков. Наглядность, кстати, тоже пострадала бы, если бы я использовал не слэши (на мой взгляд). Хотя, конечно, пути лучше в коде не хранить, держать их где-нить в конфигах. Тогда отпадет необходимость в использовании слэшей в коде. Так что принципиально с замечанием согласен.

<<код должен быть красивым и понятным, если его показывать людям.
если код красивый и понятный, его можно понять и через год.>> — золотые слова!!! подписываюсь под каждой буквой!
не опечатался — именно два одинаковых символа \x0A
Да, это Вы хорошо подметили — насчёт концов строк. Посмотрел. Tesseract выдает текст в кодировке utf-8. Перевод строк — два символа \x0A+\x0A. Там, где в результате работы tesseract слова без пробела — один символ \x0A. Ну, с этой проблемой легко справился LanguageTool. Спасибо за замечание!
Приведённый текст — это часть странички, которую tesseract должен был преобразовать. Может, tesseract лучше отрабатывает, если ему скармливать меньше текста? Загадка.
1) А чем плох разделитель путей '/'? Этот-то как раз более кроссплатформенный, чем такой — '\\'. И ещё вот такой '/' лучше, потому что не требует «запутывающего экранирования». Так что отметаю полностью это Ваше замечание. Пока не представите более убедительные доказательства ужасности прямого слэша.
2) Насчёт одинарных кавычек — согласен. Можно было. Мне просто привычнее двойные.
Имеется ввиду, как я понимаю, такое использование кавычек:
sCmd = '"C:/Program Files (x86)/Tesseract-OCR/tesseract.exe" {} {} -l rus'
3) И насчёт with — в принципе согласен. С файлами лучше использовать его. Даже в коде на скорую руку. По крайней мере потому, что вызов close тогда не нужен. Имеется ввиду такой код:
with open(sFileOut, "ab") as fOut:
Так не было намерений написать красивый, в рюшечках код. И, возможно, у нас с Вами разные представления о том, что такое ужасно, а что такое прекрасно :). Это ж дело вкуса. Возможно, если Вы выложите здесь пример Вашего совершенного кода, он может показаться кому-то ужасным. То, что я написал — это одноразовый код — написал, получил результат и забыл. Если у Вас есть желание его повторно использовать, и сделать кроссплатформенным с обработкой исключений — пожалуйста. Только это потребует дополнительных строчек кода, а значит — времени. Может, это не очень красивый код, зато это код проверенный и работающий. Вы можете его использовать прям сходу для решения целевой задачи. Ну, и что там говорить — в python'e это мои первые шаги, поэтому где-то могу писать не оптимально.
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity