About Forum Blogs NOC Docs Downloads KB Issues Code CI Registration

nocproject.org

#nocproject.org at irc.freenode.net log.
Back to nocproject.org Back to IRC log index
Date: 21.03.2012
freeseacher #
06:00
дима очень грустно без инетнумов...
zi_rus #
06:02
dvolodin, починили vc? или подскажи, как откатиться на предыдущую версию
freeseacher #
06:06
zi_rus, а что сломалось в vc ?
zi_rus #
06:06
freeseacher не работает в r5957. [16:09:09.027] c is not a constructor @ http://noc/static/js/ext-all.js:15
dvolodin #
06:14
у меня работает
06:14
в каком месте вылетает?
zi_rus #
06:16
в месте открытия таба
dvolodin #
06:19
а до этого что в консоли?
azazello #
06:21
Всем добрый день. Подскажите пожалуйста, может кто сталкивался, пытаюсь добавить свич в Managed Object, но когда после добавления пытаюсь выполнить get_config(да и любую другую команду), получаю UNHANDLED EXCEPTION (2012-03-21 09:14:56.823046) list index out of range http://pastebin.com/US6uVxpf
zi_rus #
06:22
dvolodin, я не понимаю, почему так происходит, но ничего не работает, а ошибка поменялась
06:22
[10:22:02.065] GET http://noc/main/desktop/launch_info/?_dc=1332310922057&node=5c57acbeaad3778bdc834eb666fa5add02df5dd5 [HTTP/1.1 200 OK 12мс]
06:22
[10:22:02.133] GET http://noc/vc/vc/js/Application.js?_dc=1332310922112 [HTTP/1.1 200 OK 3мс]
06:22
[10:22:02.157] invalid property id @ http://noc/static/js/ext-all.js:47
dvolodin #
06:22
в консоли JS что?
06:23
какой модуль грузится последним?
zi_rus #
06:23
момент, у меня конфликт возник при обновлении
06:24
заработало
dvolodin #
06:24
видимо подралось с твоими изменениями
zi_rus #
06:24
dvolodin, как правильно обновляться, чтобы оно не ругалось так, я опять на это налетел
dvolodin #
06:27
оно же тебе пишет про конфлики
zi_rus #
06:28
он пишет, но их не всегда видно, с питоновскими файлами проще, там чаще всего пост-апдейт падает
06:28
как можно сделать чтобы он не ругался на различия, а просто затер мои изменения?
06:31
пора забивать что-то делать локально
mikevlz #
06:35
dvolodin: Дмитрий, а можно какой-нибудь экскурс на примере любого модуля, как его перевести на ExtJS?
06:36
в виде статьи, как некаий сознатильны гражданин описывал добавление своего отчета. Вот очень хочу попробовать переписать PM Chart View во что-то типа Performance Dashboard. Аж кушать не могу. Несколько раз заходил, нифига не понял :)
dvolodin #
06:37
с PM посложнее
mikevlz #
06:37
вон, даже в такой простой фразе кучу ошибок сделал, так хочу попробовать написать.
06:37
в чем сложнее?
06:38
в том, что надо график расписывать? я примеры графиков смотрел, все, кто учит как из чих-пыха нарисовать начинают просто с вывода таблицы, потом просто этот datasource к графику привязывают.
dvolodin #
06:39
график несложно расписать
06:39
вопрос в том, от чего отталкиваться
06:39
если от табличного вида, как новый vc
06:39
то делается так
zi_rus #
06:39
есть у меня свои пожелания по чартам
dvolodin #
06:39
./noc newapp vc.vc --model=VC
06:40
в результате генерируется скелет приложения
06:40
там важно views.py -- который реализует серверную логику, и js/Application.js
06:40
с мордой
06:41
для JS есть базовые классы NOC.core.Application и NOC.core.ModelApplication
mikevlz #
06:43
возможно у других тоже зуд есть, но что и как надо переписать не сильно понятно. Объем работы опять таки не виден.
zi_rus #
06:44
зуд по использованию непрекращаемый
mikevlz #
06:44
zi_rus: это не творческий зуд. Лечится или ванной или мазью ;)
zi_rus #
06:45
никак нет
dvolodin #
06:46
В общем там такая ситуация
06:46
для того, чтобы портировать часть приложений надо
06:47
1. во views.py найти ModelApplication
06:47
сейчас можно портировать все ModelApplication, в которых нет admin action и inlines
06:48
2. удаляется старое приложение, целиком, весь каталог
06:48
3. Делается новое: ./noc newapp <app id> --model=<Имя класса в models.py>
06:49
в результате в каталоге js появятся файлы Application.js, Model.js, Lookup.js и LookupField.js
06:49
В модели надо поправить поля, чтобы они соответсвовали тому, что описано в models.py
06:50
в Application.js прописать колонки грида и поля формы
06:50
Опционально можно добавить поиск и фильтрацию
06:50
поиск делается параметром search: true в Application.js, фильтры - в filters: ...
06:52
можно посмотреть уже портированные приложения для примера
06:52
main.template можно для издевательств
mikevlz #
06:53
то есть, если я хочу сделать вывод timeseries в виде таблички сделать, то говорю что-то типа:
06:54
./noc newapp pm.tstable --model=Timeseries
06:55
в pm/apps должно появиться tstable приложение, в котором надо править целиком views.py, джава-скрипт. Да?
dvolodin #
06:55
да
06:56
на самом деле оно сразу же будет таблицу выдавать
06:56
дальше поднастроить надо
mikevlz #
06:56
синхронизацию надо будет гонять после этого?
dvolodin #
06:57
нет
mikevlz #
06:57
достаточно будет перезапуска?
dvolodin #
06:57
рестартовать noc-web и отрефрешить страницу
mikevlz #
06:57
ок
dvolodin #
06:58
по идее тебе надо будет во views.py сделать еще один обработчик
06:59
который будет стримить данные
07:02
ты покопайся, там все понятно на самом деле
07:02
посмотри имеющийся код
07:02
он уже выдает точки для графика в виде JSON
banana_power #
07:07
dvolodin: подскажите пожалуйста как удалить корректно бэйз лэйерс, появившиеся после ./noc init-mapnik-map -n "My Map" -p osm ~/tmp/mapnik/osm.xml
dvolodin #
07:26
mongo noc
07:26
db.noc.gis.layers.drop()
07:26
db.noc.gis.maps.drop()
mikevlz #
08:10
гм... вроде разобрался, как заставить рисовать хоть какую-то таблицу, пока не понял, как ее заставить заполняться. Вот есть модель TimeSeriesData, она задала поля данных time_series, timestamp, value
08:11
в Application.js я создал колонки три штуки, под каждое поле
08:12
отлично, они рисуются. fields тоже добавил в Application.js - получил пустую таблицу, у которой только колонка timestamp заполнена нулями :)
08:12
посмотрел views.py для vc/vc
08:13
еще раз посмотрел туда...
08:13
почесал затылок. еще раз посмотрел туда. Нифига не понял =)
dvolodin #
08:17
да не
08:17
тебе надо вытащить в grid все time series
08:17
и сделать отдельный метод в views.py, который для выбранного ts выдаст данные
mikevlz #
08:18
метод можно подсмотреть по тому, как показываются интерфейсы в VC, так?
08:19
принцип его описания, я имею в виду.
dvolodin #
08:19
да
08:19
@view(....)
09:20
вроде худо-бедно получилось впихнуть "Set Untagged" в vc.vc
_4ePTeHok #
09:26
кто это у нас тут CTCP флудит
banana_power #
09:27
это я нечаяно тыкнул
mikevlz #
11:33
чот я нахеровертил :) создал @view по примеру vc.interfaces. Создал в этом view api_data в котором должен формироваться для выбранного ts набор данных, причем без хинтов типа минимального и максимального значения. Все что можно украл из старого
11:34
после перезапуска - вебморда не взлетает
11:34
где я алень?
Dmitry1 #
11:38
в логи глянь
freeseacher #
11:38
наверное что не показываешь трейс ?
mikevlz #
11:39
был бы он особо информативен...
freeseacher #
11:40
опусти нок целиком
mikevlz #
11:40
нашел рога, отломил, запустилось, на моих изменениях словил 500 ошибку. Прогресс :)
freeseacher #
11:40
попрбуй в папке нока сказать ./scripts/noc-web.py -f start
11:41
так можно сделать дебуг всем демонам
mikevlz #
11:43
Эт отлично, я знаю. какой демон запускать так, чтоб отдебажить 500-ю? Я осознаю, что накосячил в views.py скорее всего. Хочук найти где. Трейсов при этом нет, в логах ошибка 500.
freeseacher #
11:44
просто 500-ая при дерганье ссылки ?
mikevlz #
11:44
угу
freeseacher #
11:46
а если ее браузером открыть ссылку там не будет трейса ?
11:47
обычно есть
mikevlz #
11:48
кавабанга!
dvolodin #
12:04
mikevlz: ./noc runserver 0.0.0.0:<port>
12:04
и в конфиге поставь log_api_calls
mikevlz #
12:05
да я уже трейсбеки вижу. Вот встал на возможно последнем...
12:05
<type 'exceptions.TypeError'>
12:05
unhashable type: 'list'
12:05
r={[[(d.timestamp,d.value) for d in ts.timeseriesdata_set.filter(timestamp__range=range).order_by("timestamp")]]}
12:05
вот на этой строке
dvolodin #
12:06
скобки фигурные убери
mikevlz #
12:06
мммм...
12:06
я болван? :)
dvolodin #
12:06
ага
12:06
или dict(.....)
12:06
в общем, либо крестик снять, либо трусы надеть
mikevlz #
12:06
надо было забыть буквы t() в последнем предположении
12:06
я понял, спасибо
12:08
все, выгружает данные. Сейчас надо дошаманить кусок ExtJS приложения, которое будет поначалу грид рисовать, потом и график...
dvolodin #
12:10
:)
12:10
выгружает, конечно
12:10
там весьма прямолинейно все
mikevlz #
12:11
ну для меня уже достижение.
dvolodin #
12:17
лиха беда начало
mikevlz #
12:19
хочешь сказать, я заразился?
dvolodin #
12:36
ага
12:39
ага
12:39
угребище
Tweet
Share this page
Share this page: Tweet