Comments 31
Сам код написан довольно весьма плохо:
В каждом файле стоит shebang, зачем?.. А так:
делать вообще плохо.
А помочь даже при желании нельзя: репозиторий недоступен. Выкладывайте на гитхаб/битбакет.
В каждом файле стоит shebang, зачем?.. А так:
def get_prodcals(locale):
pc = import_module('prodcal.prodcals.' + locale.lower())
return pc.NON_WORK_DAY_DICT, pc.WORK_DAY_DICT
делать вообще плохо.
А помочь даже при желании нельзя: репозиторий недоступен. Выкладывайте на гитхаб/битбакет.
+6
Плохо писать и не указывать что плохо.
На главной странице репозитория указано как принять участие.
На главной странице репозитория указано как принять участие.
-11
Так я написал что плохо. Могу подробнее:
По приведённой ссылке я увидел вот что:
Т.е. мне нужно пройти собеседование, чтобы как-то помочь? Спасибо, не надо.
Почему бы просто не завести репу в гитхабе? Там есть пулл-реквесты, issues, etc.
- 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.
+12
Спасибо за замечания я их учту в ближайшее время. Что касается формата работы с репозиторием, то как показывает практика для тех кому это интересно и нужно это не является препятствием, т.е. учитывая Ваши компетенции и общий тон комментариев, я уверен практически на 100 что Вы бы в этом проекте не участвовали. Если я не прав, то Вы знаете как со мной связаться.
-14
Зря вы так остро реагируете на критику. Человек ответил вам достаточно вежливо, комментарий о недостатках кода дал по делу. Обижаться тут не на что, на мой взгляд.
+9
Как показывает практика, если бы человек действительно хотел бы развивать проект и вовлечь в него людей, то он бы выложил код в публичный репозиторий. А пока что я вижу в этом посте лишь попытку порекламировать ваш сайт с обучающими курсами, ведь ссылка в статье ведёт нас именно на ваш сайт. Может быть я не прав и ищу скрытый смысл там, где его нет.
Компетенциями давайте не будем меряться. Я на питоне не писал уже давно, может подзабыл что-то. А вот от человека, который пишет на питоне 10 лет и учит ему за деньги других людей ожидаешь как минимум наличия юнит тестов и умения писать библиотеки под обе версии языка. Тем более, что с помощью six в таком некрупном проекте это делается тривиально.
И да, я бы не участвовал в проекте: просто в ближайшем будущем такая библиотека мне точно не пригодятся. А пару issue я уже отписал, но пока только в комменте, так как в вашем репозитории на гитхабе пусто.
К слову, если вы действительно намерены развивать проект: гитхаб же хорош не только сам по себе, но он ещё ценен сервисам с ним интегрирующимися. Например, есть сервис непрерывной интеграции, который может бесплатно запустить задачи для проекта, который хостится на гитхабе. Плюс, травис умеет интегрироваться с tox. Так что при наличии тестов можно было бы при каждом коммите (и пуше в гитхаб) сразу прогонять их на разных версиях языка и автоматически получать отчёт из трависа, что намного бы упростило дальнейшую разработку для всех участвующих.
Компетенциями давайте не будем меряться. Я на питоне не писал уже давно, может подзабыл что-то. А вот от человека, который пишет на питоне 10 лет и учит ему за деньги других людей ожидаешь как минимум наличия юнит тестов и умения писать библиотеки под обе версии языка. Тем более, что с помощью six в таком некрупном проекте это делается тривиально.
И да, я бы не участвовал в проекте: просто в ближайшем будущем такая библиотека мне точно не пригодятся. А пару issue я уже отписал, но пока только в комменте, так как в вашем репозитории на гитхабе пусто.
К слову, если вы действительно намерены развивать проект: гитхаб же хорош не только сам по себе, но он ещё ценен сервисам с ним интегрирующимися. Например, есть сервис непрерывной интеграции, который может бесплатно запустить задачи для проекта, который хостится на гитхабе. Плюс, травис умеет интегрироваться с tox. Так что при наличии тестов можно было бы при каждом коммите (и пуше в гитхаб) сразу прогонять их на разных версиях языка и автоматически получать отчёт из трависа, что намного бы упростило дальнейшую разработку для всех участвующих.
+3
Я использую питончик время от времени в довольно простых скриптах, многого не знаю, поясни пожалуйста, почему это плохо?
+2
Поддержу предыдущего оратора по поводу более доступной платформы.
Файл содержит два словаря: NON_WORK_DAY_DICT и WORK_DAY_DICT, они имеют одинаковую структуру, первый словарь описывает нерабочие дни (праздничные), а второй описывает переносы рабочих дней на выходные.
Из какого источника берутся «дефолтные» сведения о праздниках и прочих „выходных“?
Файл содержит два словаря: NON_WORK_DAY_DICT и WORK_DAY_DICT, они имеют одинаковую структуру, первый словарь описывает нерабочие дни (праздничные), а второй описывает переносы рабочих дней на выходные.
Из какого источника берутся «дефолтные» сведения о праздниках и прочих „выходных“?
+2
Выходные дни берутся из claendar с помощью метода weekday, а что касается самих данных о празниках, то в интернете полно об этом информации.
-2
Тоесть по дефолту надо самому «гуглить» праздники на конкретный год в конкретной стране?
+2
Да, верно. Потом готовить из них словарь и далее по тем пунктам что я описал, если бы был доступный способ получать актуальные данные смысла бы в данной библиотеке никакого не было.
-3
если бы был доступный способ получать актуальные данные смысла бы в данной библиотеке никакого не было.
Когда у меня стояла кубунта 14.04 в ней был виджет календаря, в котором показывались выходные дни (включая праздники) и всякие невыходные праздники, типа дня эколога и др. Откуда-то они берут данные. Увы, в свежей версии (15.10) всё похерили, виджет перестал показывать такое.
Но в целом, я за пару минут гугления нашёл производственный календарь с апи и вот такую штуку.
Я бы сделал так: завёл отдельный репозиторий с данными по странам с их календарями. Достаточно написать скрипт, который бы при запуске качал json с данными или парсил бы сайт с продкалендарями, перегонял бы данные в нужный формат, и обновлял бы модуль в pypi. Версионирование сделать по типу pytz: первое число — год, второе — номер фикса. Добавилась новая страна — увеличиваем вторую цифру. Добавился календарь на следующий год — увеличиваем первую.
В основном же пакете добавить зависимость от вышеописанного пакета с данными и оставить только логику по работе с датами. Таким образом, можно развивать сам календарь независимо от данных локали. И наоборот, фиксить данные календарей по странам можно не затрагивая пакет с логикой.
+2
Почему репозиторий требует авторизации? Почему код не в гитхабе? Что-то сделали, а посмотреть нельзя.
+4
Иван, потому доступ в этот репозиторий не для всех. Как показывает опыт от кода не гитхабе толка нет, так что решил сделать формат закрытого сообщества (в первую очередь по тому что для тех кому это нужно и интересно не будет являться препядствием личная коммуникация), посмотреть сам код можно и на PyPi и после установки, этому ничто не мешает.
-8
Как показывает, закрытая платформа отпугнет 90% людей, которые хотя бы глянули бы код. Если бы альтернатив не было бы, то это сработало бы, наверное, а так...
+1
Посмотреть сам код можно и на PyPi и после установки, этому ничто не мешает.
Если бы Вы действительно хотели глянуть, то наверно бы глянули, а не тратили время подобные комментарии.
Если бы Вы действительно хотели глянуть, то наверно бы глянули, а не тратили время подобные комментарии.
-6
Вы планируете построить сообщество вокруг модуля календаря?
+8
workdays? workcalendar? Чем они не подошли?
+1
Но ведь есть dateutil.
Возможности dateutil гораздо шире. И сообщество вокруг проекта немаленькое (33 разработчика, если верить гитхабу).
Там можно не только сформировать расписание выходных/рабочих дней (у вас всё равно это руками фактически задаётся, поэтому тут всё аналогично можно сделать), но и прикрутить туда рабочие часы и высчитать, например, +3 часа к текущему моменту с учётом рабочего времени и выходных.
А также узнать ближайшую рабочую пятницу или первый понедельник следующего месяца и кучу других интересных вещей.
Возможности dateutil гораздо шире. И сообщество вокруг проекта немаленькое (33 разработчика, если верить гитхабу).
Там можно не только сформировать расписание выходных/рабочих дней (у вас всё равно это руками фактически задаётся, поэтому тут всё аналогично можно сделать), но и прикрутить туда рабочие часы и высчитать, например, +3 часа к текущему моменту с учётом рабочего времени и выходных.
А также узнать ближайшую рабочую пятницу или первый понедельник следующего месяца и кучу других интересных вещей.
+4
UFO just landed and posted this here
Sign up to leave a comment.
Производственный календарь на Python