Pull to refresh

Comments 31

Сам код написан довольно весьма плохо:
В каждом файле стоит shebang, зачем?.. А так:
def get_prodcals(locale):
    pc = import_module('prodcal.prodcals.' + locale.lower())
    return pc.NON_WORK_DAY_DICT, pc.WORK_DAY_DICT

делать вообще плохо.
А помочь даже при желании нельзя: репозиторий недоступен. Выкладывайте на гитхаб/битбакет.
Плохо писать и не указывать что плохо.

На главной странице репозитория указано как принять участие.
Так я написал что плохо. Могу подробнее:
  • shebang. Вы знаете, для чего он? Если да, то почему он в каждом файле?
  • использовать import_module — довольно плохая практика
  • path = self[day.year][day.month] — тоже плохо. Потому что ProdCal().is_work_day(2015, 2, 2) выдаст KeyError: 2015, а должен что-то другое
  • нет юникода: ProdCal().is_work_day(u'tomorrow') выдаст AttributeError: 'NoneType' object has no attribute 'year'
  • локаль надо по-умолчанию брать системную, а не хардкодить в конфиге.

На главной странице репозитория указано как принять участие

По приведённой ссылке я увидел вот что:
для доступа в репозиторий требуется пройти собеседование в скайпе sidsupport (Владимир Сидоров) или получить доступ слушателя в рамках одно из курсов

Т.е. мне нужно пройти собеседование, чтобы как-то помочь? Спасибо, не надо.
Почему бы просто не завести репу в гитхабе? Там есть пулл-реквесты, issues, etc.
Спасибо за замечания я их учту в ближайшее время. Что касается формата работы с репозиторием, то как показывает практика для тех кому это интересно и нужно это не является препятствием, т.е. учитывая Ваши компетенции и общий тон комментариев, я уверен практически на 100 что Вы бы в этом проекте не участвовали. Если я не прав, то Вы знаете как со мной связаться.
Зря вы так остро реагируете на критику. Человек ответил вам достаточно вежливо, комментарий о недостатках кода дал по делу. Обижаться тут не на что, на мой взгляд.
Как показывает практика, если бы человек действительно хотел бы развивать проект и вовлечь в него людей, то он бы выложил код в публичный репозиторий. А пока что я вижу в этом посте лишь попытку порекламировать ваш сайт с обучающими курсами, ведь ссылка в статье ведёт нас именно на ваш сайт. Может быть я не прав и ищу скрытый смысл там, где его нет.
Компетенциями давайте не будем меряться. Я на питоне не писал уже давно, может подзабыл что-то. А вот от человека, который пишет на питоне 10 лет и учит ему за деньги других людей ожидаешь как минимум наличия юнит тестов и умения писать библиотеки под обе версии языка. Тем более, что с помощью six в таком некрупном проекте это делается тривиально.
И да, я бы не участвовал в проекте: просто в ближайшем будущем такая библиотека мне точно не пригодятся. А пару issue я уже отписал, но пока только в комменте, так как в вашем репозитории на гитхабе пусто.
К слову, если вы действительно намерены развивать проект: гитхаб же хорош не только сам по себе, но он ещё ценен сервисам с ним интегрирующимися. Например, есть сервис непрерывной интеграции, который может бесплатно запустить задачи для проекта, который хостится на гитхабе. Плюс, травис умеет интегрироваться с tox. Так что при наличии тестов можно было бы при каждом коммите (и пуше в гитхаб) сразу прогонять их на разных версиях языка и автоматически получать отчёт из трависа, что намного бы упростило дальнейшую разработку для всех участвующих.
Я обновил ссылку на ГитХаб, идея как раз в развитии, а не в том чтобы сделать готовый продукт и представить его на суд читателей. За 6 дней проекта как мне кажется сделали не мало. До CI тоже руки дойдут. Ваши замечания учёл в течение получаса выложу их. Спасибо.
Я использую питончик время от времени в довольно простых скриптах, многого не знаю, поясни пожалуйста, почему это плохо?
Поддержу предыдущего оратора по поводу более доступной платформы.

Файл содержит два словаря: NON_WORK_DAY_DICT и WORK_DAY_DICT, они имеют одинаковую структуру, первый словарь описывает нерабочие дни (праздничные), а второй описывает переносы рабочих дней на выходные.

Из какого источника берутся «дефолтные» сведения о праздниках и прочих „выходных“?
Выходные дни берутся из claendar с помощью метода weekday, а что касается самих данных о празниках, то в интернете полно об этом информации.
Тоесть по дефолту надо самому «гуглить» праздники на конкретный год в конкретной стране?
Да, верно. Потом готовить из них словарь и далее по тем пунктам что я описал, если бы был доступный способ получать актуальные данные смысла бы в данной библиотеке никакого не было.
если бы был доступный способ получать актуальные данные смысла бы в данной библиотеке никакого не было.

Когда у меня стояла кубунта 14.04 в ней был виджет календаря, в котором показывались выходные дни (включая праздники) и всякие невыходные праздники, типа дня эколога и др. Откуда-то они берут данные. Увы, в свежей версии (15.10) всё похерили, виджет перестал показывать такое.
Но в целом, я за пару минут гугления нашёл производственный календарь с апи и вот такую штуку.
Я бы сделал так: завёл отдельный репозиторий с данными по странам с их календарями. Достаточно написать скрипт, который бы при запуске качал json с данными или парсил бы сайт с продкалендарями, перегонял бы данные в нужный формат, и обновлял бы модуль в pypi. Версионирование сделать по типу pytz: первое число — год, второе — номер фикса. Добавилась новая страна — увеличиваем вторую цифру. Добавился календарь на следующий год — увеличиваем первую.
В основном же пакете добавить зависимость от вышеописанного пакета с данными и оставить только логику по работе с датами. Таким образом, можно развивать сам календарь независимо от данных локали. И наоборот, фиксить данные календарей по странам можно не затрагивая пакет с логикой.
Спасибо за basicdata.ru/api/calend. Давно искал что-то подобное для планирования расходов.
Почему репозиторий требует авторизации? Почему код не в гитхабе? Что-то сделали, а посмотреть нельзя.
Иван, потому доступ в этот репозиторий не для всех. Как показывает опыт от кода не гитхабе толка нет, так что решил сделать формат закрытого сообщества (в первую очередь по тому что для тех кому это нужно и интересно не будет являться препядствием личная коммуникация), посмотреть сам код можно и на PyPi и после установки, этому ничто не мешает.
Как показывает, закрытая платформа отпугнет 90% людей, которые хотя бы глянули бы код. Если бы альтернатив не было бы, то это сработало бы, наверное, а так...
Посмотреть сам код можно и на PyPi и после установки, этому ничто не мешает.

Если бы Вы действительно хотели глянуть, то наверно бы глянули, а не тратили время подобные комментарии.
С телефона без редактора? На PyPi только архив
UFO just landed and posted this here
UFO just landed and posted this here
Владимир, нет проблем, ссылку обновил, залил на ГитХаб.
Вы планируете построить сообщество вокруг модуля календаря?
Видимо Вы прочитали статью по диагонали и не поняли основной идеи этого модуля.
Я не понял, почему в качестве ядра не был выбран один из этих моделей. Была ли на то причина?
Потому что у clendar есть метод weekday(). В остальном смысла нет.
Но ведь есть dateutil.
Возможности dateutil гораздо шире. И сообщество вокруг проекта немаленькое (33 разработчика, если верить гитхабу).
Там можно не только сформировать расписание выходных/рабочих дней (у вас всё равно это руками фактически задаётся, поэтому тут всё аналогично можно сделать), но и прикрутить туда рабочие часы и высчитать, например, +3 часа к текущему моменту с учётом рабочего времени и выходных.
А также узнать ближайшую рабочую пятницу или первый понедельник следующего месяца и кучу других интересных вещей.
Сегодня 6-й день существования проекта не судите строго, что касается других функций, то они будут добавлены по мере развития + в стандартном календаре это есть.
UFO just landed and posted this here
Ссылку уже обновил на ГитХаб.
Sign up to leave a comment.

Articles