Porkchop είναι ένα απλό HTTP διακομιστή που βασίζεται σύστημα πληροφοριών γραμμένο σε Python & nbsp?. Μπορείτε να γράψετε plugins για αυτό και αντιδρά με τα δεδομένα που βασίζονται σε αίτημά σας.
Εδώ είναι ένα παράδειγμα:
Scott @ Beatbox: ~% μπούκλα http: // localhost: 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
Scott @ Beatbox: ~%
Μπορεί επίσης να ανταποκρίνονται με JSON μέσω επέκταση αρχείου .json ή τη ρύθμιση της Αποδοχή: application / JSON κεφαλίδα.
Scott @ Beatbox: ~% μπούκλα http: // localhost: 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"}
Scott @ Beatbox: ~%
installation
Pip εγκαταστήσετε Porkchop
ή
python setup.py εγκαταστήσετε
Γράφοντας plugins
Είναι αρκετά εύκολο να γράψει ένα νέο plugin. Είναι απλά Python ενότητες με ορισμένα κοινά χαρακτηριστικά:
- Ένα plugin πρέπει να υποτάξη porkchop.plugin.PorkchopPlugin.
- Τάξη το plugin πρέπει να επισημαίνονται με το γράμμα Plugin. Το πραγματικό όνομα του αρχείου στον κατάλογο plugin θα πρέπει επίσης να ταιριάζουν με το πρόθεμα. Για παράδειγμα, FooPlugin θα ήταν προς το foo.py αρχείο
- Κατηγορία των plugin πρέπει να περιέχει μια μέθοδο που ονομάζεται get_data που επιστρέφει ένα λεξικό των πληροφοριών που πρέπει να εμφανίζονται.
Από προεπιλογή, η μέθοδος get_data ένα plugin που θα γίνει μόνο αν τα δεδομένα είναι περισσότερο από 60 δευτερόλεπτα παλιά. Αυτό μπορεί να αλλάξει σε μια βάση ανά-plugin θέτοντας self.refresh στη μέθοδο ___init___ της κλάσης.
. Αυτές οι συνδέσεις μπορούν να τοποθετηθούν σε οποιοδήποτε κατάλογο που θα επιλέξετε, και φορτωμένο με το πέρασμα του την επιλογή -d να Porkchop
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε