Porkchop là một máy chủ hệ thống thông tin dựa trên HTTP đơn giản viết bằng Python & nbsp;. Bạn viết bổ sung cho nó và nó phản ứng với các dữ liệu dựa trên yêu cầu của bạn.
Dưới đây là một ví dụ:
scott @ beatbox: ~% http curl: // localhost: 5000 / cpuinfo
/ Cpuinfo / processor2 / FPU yes
/ Cpuinfo / processor2 / f00f_bug không
/ Cpuinfo / processor2 / cache_alignment 64
/ Cpuinfo / processor2 / vendor_id AuthenticAMD
/ Cpuinfo / processor2 / cờ FPU
/ Cpuinfo / processor2 / bogomips 6384
/ Cpuinfo / processor2 / hlt_bug không
/ Cpuinfo / processor2 / apicid 2
/ Cpuinfo / processor2 / fpu_exception yes
/ Cpuinfo / processor2 / bước 3
/ Cpuinfo / processor2 / wp yes
/ Cpuinfo / processor2 / anh chị em 4
/ Cpuinfo / processor2 / mô hình 4
/ Cpuinfo / processor2 / coma_bug không
/ Cpuinfo / processor2 / fdiv_bug không
/ Cpuinfo / processor3 / FPU yes
/ Cpuinfo / processor3 / f00f_bug không
/ Cpuinfo / processor3 / cache_alignment 64
/ Cpuinfo / processor3 / vendor_id AuthenticAMD
/ Cpuinfo / processor3 / cờ FPU
/ Cpuinfo / processor3 / bogomips 6384
/ Cpuinfo / processor3 / hlt_bug không
/ Cpuinfo / processor3 / apicid 3
/ Cpuinfo / processor3 / fpu_exception yes
/ Cpuinfo / processor3 / bước 3
/ Cpuinfo / processor3 / wp yes
/ Cpuinfo / processor3 / anh chị em 4
/ Cpuinfo / processor3 / mô hình 4
/ Cpuinfo / processor3 / coma_bug không
/ Cpuinfo / processor3 / fdiv_bug không
[Snip]
/ Lần 1311387215
scott @ beatbox: ~%
Nó cũng có thể đáp ứng với JSON thông qua file .json mở rộng hoặc thiết lập các Chấp nhận: header application / json.
scott @ beatbox: ~% http curl: // localhost: 5000 / cpuinfo.json
{"Cpuinfo": {"processor2": {"FPU": "yes", "f00f_bug": "không", "cache_alignment": "64", "vendor_id": "AuthenticAMD", "cờ": "FPU" "bogomips": "6384", "hlt_bug": "không", "apicid": "2", "fpu_exception": "yes", "bước": "3", "wp": "yes", " anh chị em ":" 4 "," mô hình ":" 4 "," coma_bug ":" không "," fdiv_bug ":" không "}," processor3 ": {" FPU ":" yes "," f00f_bug ":" không "," cache_alignment ":" 64 "," vendor_id ":" AuthenticAMD "," cờ ":" FPU "," bogomips ":" 6384 "," hlt_bug ":" không "," apicid ":" 3 " "fpu_exception": "yes", "bước": "3", "wp": "yes", "anh chị em": "4", "mô hình": "4", "coma_bug": "không", " fdiv_bug ":" không "}," processor0 ": {" FPU ":" yes "," f00f_bug ":" không "," cache_alignment ":" 64 "," vendor_id ":" AuthenticAMD "," cờ ":" FPU "," bogomips ":" 6382 "," hlt_bug ":" không "," apicid ":" 0 "," fpu_exception ":" yes "," bước ":" 3 "," wp ":" yes " , "anh chị em": "4", "mô hình": "4", "coma_bug": "không", "fdiv_bug": "không"}, "processor1": {"FPU": "yes", "f00f_bug" : "không", "cache_alignment": "64", "vendor_id": "AuthenticAMD", "cờ": "FPU", "bogomips": "6384", "hlt_bug": "không", "apicid": " 1 "," fpu_exception ":" yes "," bước ":" 3 "," wp ":" yes "," anh chị em ":" 4 "," mô hình ":" 4 "," coma_bug ":" không " "fdiv_bug": "không"}}, "thời gian": "1311389934"}
scott @ beatbox: ~%
Cài đặt
pips cài đặt Porkchop
hoặc
python setup.py cài đặt
Viết Plugins
Nó khá dễ dàng để viết một plugin mới. Chúng chỉ là Python module với một số thuộc tính chung:
- Một plugin phải phân lớp porkchop.plugin.PorkchopPlugin.
- Class của plugin phải được hậu tố với Plugin. Tên tập tin thực tế của nó trong thư mục plugin cũng phải phù hợp với các tiền tố. Ví dụ, FooPlugin sẽ có trong tập tin foo.py
- Class của plugin phải có một phương pháp gọi là get_data mà trả về một từ điển của các thông tin được hiển thị.
Theo mặc định, phương pháp get_data một plugin sẽ chỉ được gọi là nếu dữ liệu được nhiều hơn thì 60 giây cũ. Điều này có thể được thay đổi trên một cơ sở cho mỗi plugin bằng cách thiết lập self.refresh trong phương pháp ___init___ của lớp.
. Những bổ sung có thể được đặt ở bất kỳ thư mục bạn chọn, và được nạp bằng cách thông qua các tùy chọn -d để Porkchop
Yêu cầu :
- Python
Bình luận không