Страница 2 из 38
Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 2:06 pm
Dark_Veter
Можно попробовать парсить производственный календарь (например
http://www.superjob.ru/proizvodstvennyj_kalendar/2014/), и тогда уже определять выходной день или рабочий. Давно уже думаю об этом, но пока как-то руки не дошли.
Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 2:30 pm
LocalBrownie
Производственный календарь - это конечно хорошо, но зависимости возникают. Напр. зависимость от наличия интернета на момент парсинга, от авторов сайта (вдруг формат поменяют?). Этот календарь удобен для определения "плавающих" выходных - пасха, например, или перенесённых выходных. А большую часть - "стационарные"

я бы просто вбил в систему.
Я когда-то давно писал небольшую прогу-скедуллер для запуска разных сервисов в разное время в зависимости от дня недели и от дат. Там всё организовал просто - папка с файлами расписаний для понедельника-воскресенья с именами напр. mon.txt, tue.txt и т.д. и отдельно для дат 1_1.txt, 3_8.txt (т.е первое января, 8-е марта .....)
Тут тоже можно что-то похожее сделать для "стационарных", но проще было-бы дёргать скрипт.
Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 2:32 pm
Dark_Veter
Так парсить можно один раз в год, и допустим просто в календаре праздники обновлять

. А по поводу изменения формата, это да. Хотя я уже года три пользуюсь этим календарем на работе и формат еще не изменился.
Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 2:45 pm
LocalBrownie
Перенесённые выходные за год обычно никто не определяет, а насчёт формата, то я имел в виду внутренний формат html-ки. Accuweather, например раньше частенько страдал всякими мелкими изменениями, после которых парсер отказывался работать. Тег, например поменяли, а я как-раз на него опирался при поиске.
Сделать определение плавающих и перенесённых было-бы, конечно, просто замечательно, но пока не понятно как.
Посмотрим что Сергей по этому поводу скажет - может хоть стационарные встроенными средствами получится прикрутить...
Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 2:51 pm
Dark_Veter
Так я насколько знаю, производственный календарь составляется на год вперед, вот сейчас например за 2015 год доступен уже. Хотя может я и ошибаюсь. Но допустим даже раз в неделю парсить можно, или раз в день. А по поводу формата я понял, я и говорю о том, что он у меня уже на работе года 3 на атс парситься при звонке, для определения рабочего дня.
Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 3:04 pm
LocalBrownie
О, действительно, всё уже расписано наперед, даже переносы! Надо парсер делать!

Re: Календарь/менеджер задач
Добавлено: Пт дек 26, 2014 4:28 pm
Dark_Veter
Примерно так можно распарсить, может кто исправит, написал на скорую руку.
Код: Выделить всё
$year = date('Y');
$month = getMonthName();
$day = date('d');
$url = 'http://www.superjob.ru/proizvodstvennyj_kalendar/' . $year . '/';
$result = file_get_contents($url);
preg_match_all('/<td class="pk_container">(.*)<\/td>/isU', $result, $matches, PREG_PATTERN_ORDER);
foreach ($matches[1] as $value) {
if (strripos($value, '<div class="pk_header">' . $month . '</div>')) {
break;
}
}
preg_match_all('/<div class="(.?)">' . $day . '<\/div>/isU', $value, $matches, PREG_PATTERN_ORDER);
if ($matches[1][0] == '') {
print_r('Рабочий');
}
elseif ($matches[1][0] == 'pk_holiday pie') {
print_r('Выходной');
}
elseif ($matches[1][0] == 'pk_preholiday pie') {
print_r('Предпраздничный');
}
function getMonthName() {
$mN = date('m');
$monthAr = array(
1 => 'Январь',
2 => 'Февраль',
3 => 'Март',
4 => 'Апрель',
5 => 'Май',
6 => 'Июнь',
7 => 'Июль',
8 => 'Август',
9 => 'Сентябрь',
10 => 'Октябрь',
11 => 'Ноябрь',
12 => 'Декабрь'
);
return $monthAr[(int) $mN];
}
Re: Календарь/менеджер задач
Добавлено: Вс дек 28, 2014 5:43 pm
Ivan
Я скоро выложу синхронизатор гугл календаря. Прелесть его в том что можно подключать любой сторонний календарь разных празников стран итд. Там есть и производственный.
Причем формат там один и Апи гугловское. Если что то поменяют то нужно заменить только библиотеку
Re: Календарь/менеджер задач
Добавлено: Вс дек 28, 2014 5:53 pm
jeks0n
Ivan писал(а):Я скоро выложу синхронизатор гугл календаря.
ждем... очень надо )
Re: Календарь/менеджер задач
Добавлено: Вс дек 28, 2014 5:55 pm
Ivan
Это скорей будет импорт. Еще в календаре есть категории но они не выводятся. Их какраз и буду использовать для разных календарей. Еще хочется более красивый и функциональный вывод. Чего сейчас нет
