LINUX.ORG.RU

LORA. Linux.org.ru console client

 , , ,


3

11

Версия 0.2:

Убрали ненавистный парсинг на sed, впилили ненавистный парсинг на питоне via lxml. Системные требования повысились: требует, кроме стандартных системных приблуд типа awk и sed теперь еще и python-lxml. Вы знаете, как это установить.

[23:45:48][alex][~/Git/LORA]: ./lora.sh
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Добро пожаловать в систему консольного доступа “LORA” v. 0.2                                                                    │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
┍━ Справка ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Введите ваши логин и пароль для авторизации.                                                                                    │
│ вы можете оставить поле пустым для анонимного входа и                                                                           │
│ использовать команду “login” для авторизации позже.                                                                             │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
Логин: AlexCones
Пароль: 
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Успешная авторизация пользователем AlexCones.                                                                                   │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LORA> help
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Для справки по определенной команде введите 'help команда'                                                                      │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Доступные команды:                                                                                                              │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│     exit            : Выход                                                                                                     │
│     end             : Выход                                                                                                     │
│     greet           : Показать приветствие                                                                                      │
│     motd            : Показать приветствие                                                                                      │
│     help            : Показать список команд                                                                                    │
│     h               : Показать список команд                                                                                    │
│     ?               : Показать список команд                                                                                    │
│     login           : Логин на ЛОРе                                                                                             │
│     logout          : Разлогиниться                                                                                             │
│     tracker         : Показать трекер                                                                                           │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LORA> help tracker
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Команда tracker:                                                                                                                │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Показать список последних сообщений на сайте http://linux.org.ru.                                                               │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LORA> tracker
┍━ Индекс ━ Группа ━━━━━━━━ Заголовок ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ 7684413   Talks             В продолжении поттеринготредов                                                                      │
│ 7677853   Скриншоты         Почему Ubuntu 12.04 таки няша.                                                                      │
│ 7673670   Linux General     Релиз Zimbra 7.2                                                                                    │
│ 7676612   Talks             Разработка астероидов                                                                               │
│ 7680022   Игры              Unknown Horizons 2012.1                                                                             │
│ 7678934   Linux-org-ru      Тенденции развития дизайна ЛОРа...                                                                  │
│ 7662370   Development       присвоение внутри if                                                                                │
│ 7683956   Linux General     Линус Торвальдс получил премию Millennium Technology Prize                                          │
│ 7681173   Talks             Безопасность домашнего сервера                                                                      │
│ 7684316   Talks             первотег об остальных тегах                                                                         │
│ 7681043   Скриншоты, не под Xfce4 @ iPod touch 4G                                                                               │
│ 7683965   Talks             Apple сожрет всех                                                                                   │
│ 7683015   Web-development   php-шный loadHTML неверно работает с JS                                                             │
│ 7681879   Talks             старые компьютеры и линукс                                                                          │
│ 7681722   Admin             Проблема при подключении к некоторым сайтам                                                         │
│ 7680419   Talks             Идет портирование Steam и Source Engine на Linux                                                    │
│ 7684410   Linux-hardware    Пробовал кто нибудь ковырять медиаплееры на основе андроида? Можно ли туда поставить нормальный lin │
│ 7676271   Development       J теперь можно использовать на устройствах с OS Android                                             │
│ 7684328   General           Синие рожи                                                                                          │
│ 7684530   Admin             CentOS. Win7 намертво виснет при попытке записи файла.                                              │
│ 7681152   Development       Qt + MAC адрес                                                                                      │
│ 7681897   Talks             Хостел на неделю в Москве                                                                           │
│ 7682622   Games             LORLANDIA                                                                                           │
│ 7683021   Talks             Left 4 Dead 2 на Ubuntu - фото из офиса Valve                                                       │
│ 7678072   Desktop           Как пискнуть системным динамиком из консоли?                                                        │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LORA> tracker 3
┍━ Индекс ━ Группа ━━━━━━━━ Заголовок ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ 7684570   Desktop           Поле ввода захватывает фокус                                                                        │
│ 7684413   Talks             В продолжении поттеринготредов                                                                      │
│ 7677853   Скриншоты         Почему Ubuntu 12.04 таки няша.                                                                      │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LORA> exit
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Помните, anonymous любит вас.                                                                                                   │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
[23:46:47][alex][~/Git/LORA]: 

Ссылка: github. Рекомендуем качать из раздела downloads
Спасибо следующим господам: AITap, router, kim-roader, sdio, maxcom и конечно anonymous

* * *
Ищем разработчиков на python, которые страстно желают запилить себя в этот проект. Также ищем людей, которые не убегают из комнаты при словах «запили мне документацию». Если хотите помочь, форкните проект и пошлите нам пулл реквест с каким-нибудь полезным исправлением, чтобы мы знали, что вы с нами. Короче, вы знаете, что делать

Перемещено maxcom из talks

★★★

Последнее исправление: AlexCones (всего исправлений: 6)

С Emacs интегрируется?:)

fang90 ★★★★★
()
Ответ на: комментарий от AlexCones

Да это дауны, на сайт книгу от сканировали и не проверили правильность.
Там не типографские кавычки, а знаки < >. И работают они как выравнивание только если первый символ @ или другой управляющий. В общем нормально там всё.

TDrive ★★★★★
()

парсить страницы - гиблая затея, сколько уже вас таких было - и не упомнишь

lazyklimm ★★★★★
()

Обновили клиент, отрефакторили код. Обновил ОП-пост. Спасибо товарищу, который прикрепил топик, ежели бы он еще себя назвал :)

AlexCones ★★★
() автор топика
Ответ на: комментарий от qnikst

Ты забыл добавить «который никогда не обновляется». А из всего списка верно только «конкретного сайта».

Да и вообще, с регэкспами баттхёрта много на ровном месте.

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

обновление и html парсер (xml-парсер восстанавливающий или ловящий ошибки присущие html) успешно поломать может.

Согласен, но всё же иногда они могут давать производительность лучше, чем DOM парсер и быть проще, чем SAX парсер, хотя возможно я последнее не умею готовить.

qnikst ★★★★★
()

класс, годно =) надо будет потыкать

BattleCoder ★★★★★
()

у меня под 100% правильными данными выдает:

Не удалось авторизоваться, активирован анонимный вход.

Komintern ★★★★★
()
Ответ на: комментарий от Komintern
[23:36:19][alex][~/Git/LORA]: ./lora.sh 
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Добро пожаловать в систему консольного доступа “LORA” v. 0.1                               │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
┍━ Справка ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Введите ваши логин и пароль для авторизации.                                               │
│ вы можете оставить поле пустым для анонимного входа и                                      │
│ использовать команду “login” для авторизации позже.                                        │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
Логин: AlexCones
Пароль: 
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Успешная авторизация пользователем AlexCones.                                              │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LORA> 

Проверяйте данные.

AlexCones ★★★
() автор топика
Ответ на: комментарий от AlexCones

[code]
$ wget -qO/dev/null --post-data=«nick=Komintern&passwd=password» --save-cookies=./cookies www.linux.org.ru/login.jsp
$ cat ./cookies
# HTTP cookie file.
# Generated by Wget on 2012-04-24 07:58:03.
# Edit at your own risk.

www.linux.org.ru FALSE / FALSE 1367384283 profile Komintern
www.linux.org.ru FALSE / FALSE 1399525083 password тут-хеш-пароля
[/code]

Komintern ★★★★★
()
Ответ на: комментарий от AlexCones

да нет, не содержит.
вопрос в другом - wget без -qO/dev/null нормально отдает страницу, где я авторизирован. специально проверил.

Komintern ★★★★★
()

Теперь проект использует питоновский парсер LXML, радуйтесь - ненавистники регулярных выражений

derlafff ★★★★★
()
Ответ на: комментарий от derlafff

Я сопротивлялся введению питона в проект, но он запер меня в шкафу и сделал коммит. :P
__________________
И да, если кто-то горит желанием помочь, но знает только питон - работа (теперь) найдется.

AlexCones ★★★
() автор топика
Ответ на: комментарий от uin

надо было LORT назвать,

Типа «LORT - ЛОР как всегда не торт?»

ЛОРА - типа девичье имя, значит программа автоматически получает право глючить, сопротивляться и ломаться.

P.S. На самом деле это LOR + буковка моего имени.

AlexCones ★★★
() автор топика
Ответ на: комментарий от AlexCones

Нет, он изходя из текущей функциональности скрипта - LOR Tracker

derlafff ★★★★★
()
Ответ на: комментарий от AlexCones

Типа «LORT - ЛОР как всегда не торт?»

типа - Linux.org.ru Terminal Client..

и да - как может в голову придти что «ЛОР - не торт» сидя в клиенте с таким названием? (лорт! же), но главное глядя не в унылый хромиум и(или) разжиревший огнелис (с вконтактиками/хабрами и тытрубами на соседних вкладках), а в теплую ламповую, радующую ASCII артом сверкающие рубином глаза и ласкающую их mono шрифтами - консоль! (по соседству с GNU nano и башем на тех_же вкладках)

ЛОРА - типа девичье имя, значит программа автоматически получает право глючить, сопротивляться и ломаться.

значит когда пользователю будет «надо» - у нее Header видите ли «data is missing», но обязательно пропишется в автозапуске и будет назойливо стартовать когда оно как раз таки не_надо ?...

P.S. На самом деле это LOR + буковка моего имени.

/Просто мне однажды в голову взбрело сделать LOR Dark-style тему оформления для текст. редактора (позже и для терминала тоже) - фон/шрифты/цвета итп., назвал профиль почему_то «LORA» (первое что в голову пришло, хз почему не Tango..) - вот у меня и ассоциации с редактором..

uin ★★★
()
Ответ на: комментарий от uin

но обязательно пропишется в автозапуске и будет назойливо стартовать когда оно как раз таки не_надо ?...

А еще будет постоянно спрашивать, не пользовались ли вы ЛОРом через другой браузер.

AlexCones ★★★
() автор топика
Ответ на: комментарий от AlexCones

Двадцать_пять_причин_почему_файрфокс_лучше_чем_девушка_s01_e01.мкв

Xenesz ★★★★
()
28 июня 2012 г.
Ответ на: комментарий от Cancellor

PrDir=«$(dirname $(readlink -f $0))»

readlink /proc/self/cwd, и пусть бздя с ее НЕДОproc помрет от зависти.

red_eyed_peguin
()
Ответ на: комментарий от qnikst

тебя хлебом не корми, дай на хаскелле покодить... Хотя я бы взглянул на код, хоть и очень плохо знаю хаскелль, интересуюсь...

Pinkbyte ★★★★★
()
Ответ на: комментарий от derlafff

Ну я issue уже накатал один. Как будет время - тоже может гляну, коммитну чего, но не обещаю - предстоящий месяц без напарника(он в отпуске) на работе обещает быть тяжелым :-/

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

ещё бы опыта то набираться надо, правда это не лучшее место для тренировки, только если искусственно сделать over-дизайн, типа dsl для выдачи результатов и high-level api чтобы можно было другие сайты цеплять.

qnikst ★★★★★
()
Ответ на: комментарий от AlexCones

Может лучше сделать liblor и набор фронт-эндов?

KivApple ★★★★★
()
Ответ на: комментарий от derlafff

okay, постараюсь накатать Makefile и запилить pull request

Pinkbyte ★★★★★
()

Не троллинга ради: Правда обидно, что такая клёвая штука требует жирный (да, именно жирный - i386-раритеты, на которых действительно LORA была бы спасением и встраиваемые решения пролетают) python только потому, что пришло новое поколение программистов, не видящих никакого смысла в UNIX-way подходе и в термине KISS. Без обид, ребята.

Stage1 ★★
()
Ответ на: комментарий от Stage1

Предложи что-нибудь столь же эффективное и удобное

derlafff ★★★★★
()
Ответ на: комментарий от Stage1

Я с самого начала был против питона. Но была такая фраза: «что ты будешь делать со своим парсером, когда maxcom еще раз сломает ЛОР?». Она решила исход не в мою пользу.

AlexCones ★★★
() автор топика
Ответ на: комментарий от AlexCones

Я ни разу не программист, просто обычный пользователь генты. Так что не буду ничего предлогать.

Но чисто логически помыслив выходит список положений:

- сама идея проекта для особенных людей, которые почему-то не хотят запускать для ЛОРа браузер.

- проект пишется под консоль, а не под графику, следовательно скорее всего стараются экономить ресурсы

- проект ориентирован на интерактивное использование, следовательно консольность обусловлена не необходимостью хорошо работать в скриптах и т.п.

- проект написан на тяжелом языке, что входит в конфликт с предидущими пунктами

Отсюда следует два возможных вывода: либо выбран не подходящий инструмент, который не позволит использовать программу целевой аудитории, либо, что наиболее вероятно, перед началом разработки вообще не думали о согласовании таких очевидных моментов. Что печально - мог бы получиться отличный и полезный продукт.

P.S. Я не вполне верю в то, что питон, в отличии от баша позволит ничего не делать после изменения «АПИ» ЛОРа. Поясните этот аргумент, пожалуйста.

Stage1 ★★
()
Ответ на: комментарий от Stage1

P.S. Я не вполне верю в то, что питон, в отличии от баша позволит ничего не делать после изменения «АПИ» ЛОРа. Поясните этот аргумент, пожалуйста.

При малейшей правке разметке куча парсящих регекспов будет просто отваливаться. А там их в таком случае было бы просто дофига

derlafff ★★★★★
()
Ответ на: комментарий от derlafff

Воспоминания ВУЗа подсказывают, что есть Си-библиотеки для того, чтобы парсить html. Также замечу, что программу, завязанную на некий онлайн сервис, в любом случае надо постоянно поддерживать и дописывать до рабочего состояния.

Stage1 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.