Porkchop є простою HTTP-інформаційна система на базі сервер, написаний на NBSP Python & ;. Ти пишеш, плагіни для нього, і він відповідає з даними, заснованими на ваш запит.
Ось приклад:
Скотт @ бітбокс: ~% локон HTTP: // локальний: 5000 / CPUInfo
/ CPUInfo / processor2 / FPU да
/ CPUInfo / processor2 / f00f_bug НЕ
/ CPUInfo / processor2 / cache_alignment 64
/ CPUInfo / processor2 / vendor_id AuthenticAMD
/ CPUInfo / processor2 / прапори FPU
/ CPUInfo / processor2 / BogoMips 6384
/ CPUInfo / processor2 / hlt_bug НЕ
/ CPUInfo / processor2 / apicid 2
/ CPUInfo / processor2 / fpu_exception да
/ CPUInfo / processor2 / крокуючи 3
/ CPUInfo / processor2 / WP да
/ CPUInfo / processor2 / брати і сестри 4
/ CPUInfo / processor2 / модель 4
/ CPUInfo / processor2 / coma_bug НЕ
/ CPUInfo / processor2 / fdiv_bug НЕ
/ CPUInfo / processor3 / FPU да
/ CPUInfo / processor3 / f00f_bug НЕ
/ CPUInfo / processor3 / cache_alignment 64
/ CPUInfo / processor3 / vendor_id AuthenticAMD
/ CPUInfo / processor3 / прапори FPU
/ CPUInfo / processor3 / BogoMips 6384
/ CPUInfo / processor3 / hlt_bug НЕ
/ CPUInfo / processor3 / apicid 3
/ CPUInfo / processor3 / fpu_exception да
/ CPUInfo / processor3 / крокуючи 3
/ CPUInfo / processor3 / WP да
/ CPUInfo / processor3 / брати і сестри 4
/ CPUInfo / processor3 / модель 4
/ CPUInfo / processor3 / coma_bug НЕ
/ CPUInfo / processor3 / fdiv_bug НЕ
[СНиП]
/ Час 1311387215
Скотт @ бітбокс: ~%
Він також може реагувати з JSON за допомогою розширення .json файлу або установки приймаємо: додатки / JSON заголовок.
Скотт @ бітбокс: ~% локон HTTP: // локальний: 5000 / cpuinfo.json
{"CPUInfo": {"processor2": {"FPU": "так", "f00f_bug": "Ні", "cache_alignment": "64", "vendor_id": "AuthenticAMD", "прапори": "FPU" , "BogoMips": "6384", "hlt_bug": "Ні", "apicid": "2", "fpu_exception": "так", "крокуючи": "3", "WP": "так", " брати і сестри ":" 4 "," модель ":" 4 "," coma_bug ":" Ні "," fdiv_bug ":" Ні "}," processor3 ": {" FPU ":" так "," f00f_bug ":" ні "," cache_alignment ":" 64 "," vendor_id ":" AuthenticAMD "," прапори ":" FPU "," BogoMIPS ":" 6384 "," hlt_bug ":" Ні "," apicid ":" 3 " , "fpu_exception": "так", "крокуючи": "3", "WP": "так", "брати і сестри": "4", "модель": "4", "coma_bug": "ні", " fdiv_bug ":" Ні "}," processor0 ": {" FPU ":" так "," f00f_bug ":" Ні "," cache_alignment ":" 64 "," vendor_id ":" AuthenticAMD "," прапори ":" FPU "," BogoMips ":" 6382 "," hlt_bug ":" Ні "," apicid ":" 0 "," fpu_exception ":" так "," крокуючи ":" 3 "," WP ":" так " , "брати і сестри": "4", "модель": "4", "coma_bug": "Ні", "fdiv_bug": "Ні"}, "процесора1": {"FPU": "так", "f00f_bug" : "ні", "cache_alignment": "64", "vendor_id": "AuthenticAMD", "прапори": "FPU", "BogoMIPS": "6384", "hlt_bug": "Ні", "apicid": " 1 "," fpu_exception ":" так "," крокуючи ":" 3 "," WP ":" так "," брати і сестри ":" 4 "," модель ":" 4 "," coma_bug ":" ні " , "fdiv_bug": "Ні"}}, "Час": "1311389934"}
Скотт @ бітбокс: ~%
Установка
пункт встановити Porkchop
або
Python setup.py встановити
Дати плагіни
Це досить легко написати новий плагін. Вони просто модулів Python з деякими загальними ознаками:
- Плагін повинен підклас porkchop.plugin.PorkchopPlugin.
- Клас плагіна повинен бути буквою Plugin. Його фактичне ім'я файлу в каталозі плагіна повинна також відповідати префікс. Наприклад, FooPlugin б у файлі foo.py
- Клас плагіна повинен містити метод, званий get_data, яка повертає словник інформації, яка буде відображатися.
За замовчуванням, метод get_data плагіна буде викликаний тільки, якщо дані більш ніж 60 секунд тому. Це може бути змінено на кожного плагіна, встановивши self.refresh в методі ___init___ класу.
. Ці модулі можуть бути поміщені в будь-яку директорію, і завантажуються шляхом передачі -d для Porkchop
Вимоги
- Python
Коментар не знайдено