[Модуль] Simple Calendar (app_calendar)
Модератор: immortal
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Календарь/менеджер задач
Можно попробовать парсить производственный календарь (например http://www.superjob.ru/proizvodstvennyj_kalendar/2014/), и тогда уже определять выходной день или рабочий. Давно уже думаю об этом, но пока как-то руки не дошли.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
-
- Сообщения: 66
- Зарегистрирован: Пт июл 11, 2014 11:08 am
- Благодарил (а): 16 раз
- Поблагодарили: 9 раз
Re: Календарь/менеджер задач
Производственный календарь - это конечно хорошо, но зависимости возникают. Напр. зависимость от наличия интернета на момент парсинга, от авторов сайта (вдруг формат поменяют?). Этот календарь удобен для определения "плавающих" выходных - пасха, например, или перенесённых выходных. А большую часть - "стационарные" я бы просто вбил в систему.
Я когда-то давно писал небольшую прогу-скедуллер для запуска разных сервисов в разное время в зависимости от дня недели и от дат. Там всё организовал просто - папка с файлами расписаний для понедельника-воскресенья с именами напр. mon.txt, tue.txt и т.д. и отдельно для дат 1_1.txt, 3_8.txt (т.е первое января, 8-е марта .....)
Тут тоже можно что-то похожее сделать для "стационарных", но проще было-бы дёргать скрипт.
Я когда-то давно писал небольшую прогу-скедуллер для запуска разных сервисов в разное время в зависимости от дня недели и от дат. Там всё организовал просто - папка с файлами расписаний для понедельника-воскресенья с именами напр. mon.txt, tue.txt и т.д. и отдельно для дат 1_1.txt, 3_8.txt (т.е первое января, 8-е марта .....)
Тут тоже можно что-то похожее сделать для "стационарных", но проще было-бы дёргать скрипт.
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Календарь/менеджер задач
Так парсить можно один раз в год, и допустим просто в календаре праздники обновлять . А по поводу изменения формата, это да. Хотя я уже года три пользуюсь этим календарем на работе и формат еще не изменился.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
-
- Сообщения: 66
- Зарегистрирован: Пт июл 11, 2014 11:08 am
- Благодарил (а): 16 раз
- Поблагодарили: 9 раз
Re: Календарь/менеджер задач
Перенесённые выходные за год обычно никто не определяет, а насчёт формата, то я имел в виду внутренний формат html-ки. Accuweather, например раньше частенько страдал всякими мелкими изменениями, после которых парсер отказывался работать. Тег, например поменяли, а я как-раз на него опирался при поиске.
Сделать определение плавающих и перенесённых было-бы, конечно, просто замечательно, но пока не понятно как.
Посмотрим что Сергей по этому поводу скажет - может хоть стационарные встроенными средствами получится прикрутить...
Сделать определение плавающих и перенесённых было-бы, конечно, просто замечательно, но пока не понятно как.
Посмотрим что Сергей по этому поводу скажет - может хоть стационарные встроенными средствами получится прикрутить...
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Календарь/менеджер задач
Так я насколько знаю, производственный календарь составляется на год вперед, вот сейчас например за 2015 год доступен уже. Хотя может я и ошибаюсь. Но допустим даже раз в неделю парсить можно, или раз в день. А по поводу формата я понял, я и говорю о том, что он у меня уже на работе года 3 на атс парситься при звонке, для определения рабочего дня.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
-
- Сообщения: 66
- Зарегистрирован: Пт июл 11, 2014 11:08 am
- Благодарил (а): 16 раз
- Поблагодарили: 9 раз
Re: Календарь/менеджер задач
О, действительно, всё уже расписано наперед, даже переносы! Надо парсер делать!
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Календарь/менеджер задач
Примерно так можно распарсить, может кто исправит, написал на скорую руку.
Код: Выделить всё
$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];
}
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Календарь/менеджер задач
Я скоро выложу синхронизатор гугл календаря. Прелесть его в том что можно подключать любой сторонний календарь разных празников стран итд. Там есть и производственный.
Причем формат там один и Апи гугловское. Если что то поменяют то нужно заменить только библиотеку
Причем формат там один и Апи гугловское. Если что то поменяют то нужно заменить только библиотеку
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 43
- Зарегистрирован: Пт дек 26, 2014 6:37 pm
- Благодарил (а): 10 раз
- Поблагодарили: 1 раз
Re: Календарь/менеджер задач
ждем... очень надо )Ivan писал(а):Я скоро выложу синхронизатор гугл календаря.
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Календарь/менеджер задач
Это скорей будет импорт. Еще в календаре есть категории но они не выводятся. Их какраз и буду использовать для разных календарей. Еще хочется более красивый и функциональный вывод. Чего сейчас нет
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4