दस्तावेज़
Confconsole - प्लगइन्स प्रणाली (देवियों के लिए)
ConfConsole मेनू विकल्प आसानी से प्लगइन्स के माध्यम से जोड़ा जा सकता है।
प्लगइन्स पाइथन स्रोत फाइलें हैं जो ConfConsole निर्देशिका के भीतर रखी गई हैं। ConfConsole किसी भी लागू फ़ाइलों को लोड करेगा और उन्हें उपयोगकर्ता को मेनू विकल्प के रूप में प्रदान करेगा।
कैसे प्लगइन लोड हो रहा है?
पहला पेड़ "plugins.d" से उत्पन्न होता है। प्रत्येक निर्देशिका एक मेनू या उप-मेनू है और हर निष्पादन योग्य .py स्क्रिप्ट माता-पिता निर्देशिका के मेनू का प्रवेश है। नोट plugins.d इसका वर्णन नहीं है क्योंकि यह एक मेनू से नहीं चुना गया है।
प्रत्येक प्लगइन के लिए, प्लगइन का मुख्य शरीर (शीर्ष स्तर) चल रहा है। इस वजह से आपको कुछ भी नहीं देना चाहिए लेकिन यहाँ सेटअप संबंधित कोड {Watch?} और आपको निश्चित रूप से अन्य प्लगइन्स पर भरोसा नहीं करना चाहिए। ध्यान दें कि प्लगइन्स के लिए उपलब्ध अतिरिक्त चर और कार्य इस बिंदु पर NOT उपलब्ध हैं।
प्लगइन .py फ़ाइल (s) डॉकस्ट्रिंग confconsole में मेनू प्रविष्टि के लिए विवरण प्रदान करता है। निर्देशिका के लिए एक मेनू प्रविष्टि विवरण सेट करने के लिए, निर्देशिका के भीतर एक पाठ "विवरण" फ़ाइल रखें।
अगला, doOnce प्रत्येक प्लगइन लोड होने के बाद एक बार फ़ंक्शन (वैकल्पिक) चलाया जाएगा। ध्यान दें कि जब सभी प्लगइन लोड हो जाएंगे, तो सभी प्लगइन्स इस बिंदु पर तैयार नहीं होंगे। हालांकि अगर आप ऐसा चुनते हैं तो आपके पास उनके साथ काम करने की क्षमता है। {what????}
अन्त में run जब भी आपका प्लगइन का मेनू प्रविष्टि confconsole के भीतर क्लिक किया जाता है तो फंक्शन चला जाएगा। run समारोह एक प्लगइन में मौजूद नहीं है, फिर यह मेनू प्रविष्टि नहीं बनाई जाएगी।
मैं उपयोगकर्ता के साथ कैसे बातचीत करूं?
The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The console चर का एक उदाहरण है Console confconsolepy में ऑब्जेक्ट यह एक सरल इंटरफ़ेस है जिसका उपयोग pythondialog-wrapper बुनियादी कंसोल gui कार्यक्षमता की अनुमति देने के लिए किया जाता है। यह, जैसा कि अन्य सभी वैश्विक लोगों के साथ, जल्द ही उपलब्ध होगा doOnce समारोह चलाया जाता है। ध्यान दें कि आपको NEVER को किसी भी तरह की बातचीत के लिए मजबूर करना चाहिए जब तक confconsole पूरी तरह शुरू नहीं हो जाता है। यह उदाहरण के लिए हेडलेस बिल्ड्स में मुद्दों का कारण बन सकता है जो कि पहुंच पाने में सक्षम होने की उम्मीद करता है usage (confconsole की पहली स्क्रीन) किसी भी बातचीत से पहले।
निम्नलिखित तरीकों से उपलब्ध हैं console:
- इन्फोबॉक्स(text)
स्क्रीन पर टेक्स्ट प्रदर्शित करता है, यह NOT अवरुद्ध है यदि आप चाहते हैं कि बॉक्स को क्षणिक रूप से उपयोग करने के लिए ब्लॉक करें
time.sleep(seconds)इसके बाद यह आमतौर पर लंबे समय तक चलने वाले ऑपरेशन के दौरान जानकारी प्रदर्शित करने के लिए प्रयोग किया जाता है।0 रिटर्न
उदाहरण:
console.infobox("some text")
- हाँ(text)
एक हाँ / कोई संकेत के साथ स्क्रीन पर पाठ प्रदर्शित करता है। यदि हाँ, 1 नहीं तो 0 लौटता है।
उदाहरण:
console.yesno("Are you sure?")
- msgbox (शीर्षक, पाठ, button_label="ok")
डिफ़ॉल्ट रूप से, ok संकेत के साथ स्क्रीन पर टेक्स्ट प्रदर्शित करता है। ok को बटन लेबल के माध्यम से कुछ भी बदला जा सकता है। 0 रिटर्न
उदाहरण:
console.msgbox("Warning", "You may need to restart for changes to take effect")
- इनपुटबॉक्स (शीर्षक, पाठ, इनिट = '', OK_label = OK), रद्द_label = Cancel")
एक इनपुट बॉक्स के साथ बॉक्सिंग में स्क्रीन पर टेक्स्ट प्रदर्शित करता है (मूल्य के साथ शुरू)
initA ok/Cancel संकेत, जिसे बदलकर बदला जा सकता है।ok_labelऔरcancel_labelतर्क।returns a tuple of (0 if ok or 1 if cancel, human_input)
उदाहरण:
console.inputbox("Email", "Please enter you're email address", "user@example.com")
- मेनू (शीर्षक, पाठ, विकल्प, no_cancel=False)
चयन विकल्पों (चूइस) की सूची के साथ शीर्षक बॉक्स में स्क्रीन पर टेक्स्ट प्रदर्शित करता है, और वैकल्पिक रूप से एक रद्द बटन।
विकल्प 2 की लंबाई की सूची या ट्यूपल होना चाहिए, प्रत्येक ट्यूपल की प्रत्येक मद स्ट्रिंग की सूची है। स्ट्रिंग्स का पहला संग्रह आइटम नाम है, दूसरा आइटम विवरण हैं।
returns a tuple of (0 if ok or 1 if cancel, option)
- उदाहरण::
- कंसोल.मेनू ("फेवोराइट नंबर", "एक नंबर चुनें",
- [
['1', "1" के लिए डमी विवरण], ['2', "2" के लिए डमी विवरण], ['3', "3" के लिए डमी विवरण]
]
)
- फॉर्म (शीर्षक, पाठ, फ़ील्ड, ok_label="Apply", रद्द_label="Cancel")
लेबल वाले इनपुट बॉक्स की एक श्रृंखला के साथ शीर्षक बॉक्स में स्क्रीन पर टेक्स्ट प्रदर्शित करता है और एक लागू / रद्दी संकेत (बटन लेबल को लेबल तर्क के माध्यम से बदला जा सकता है)
- फ़ील्ड का संग्रह होना चाहिए
(label, item, field_length, input_length)
कहाँ
labelएक स्ट्रिंग है जो इनपुट बॉक्स से पहले प्रदर्शित होगी औरitemयह क्षेत्र के इनपुट में लिखा गया डिफ़ॉल्ट पाठ है।Field_length and Input_length integers that क्रमशः क्षेत्र को प्रदर्शित करने के लिए प्रयुक्त वर्णों की संख्या और वर्णों की अधिकतम संख्या निर्दिष्ट करता है जो हो सकता है इस क्षेत्र में प्रवेश किया गया। ये मान खेतों की चिड़चिड़ापन का निर्धारण भी करते हैं।
यदि फ़ील्ड_length 0 है तो इसे संशोधित नहीं किया जा सकता है और यह सामग्री आकार निर्धारित करती है।
यदि फ़ील्ड_length नकारात्मक है तो फ़ील्ड को बदल नहीं जा सकता है और फील्ड_लेंथ के विपरीत यह आकार निर्धारित करता है। {huh?}
यदि इनपुट की लंबाई 0 है, तो यह फ़ील्ड_length पर सेट किया गया है
रिटर्न वैल्यू (status, Fields) का एक tuple है जहां स्थिति (0 यदि ok या 1 रद्द हो) है। और फ़ील्ड प्रत्येक क्षेत्र के लिए क्रम में इनपुट मान हैं।
कंसोल अनिवार्य रूप से केवल एक रैपर है python dialogहालांकि सभी विधियों को उजागर नहीं किया गया है और सभी तर्कों को कहा गया है कि विधियाँ उजागर हुई हैं, लेकिन अभी भी python संवाद के लिए प्रलेखन लागू होता है।
http://pythondialog.sourceforge.net/doc/
मैं अन्य प्लगइन्स के साथ कैसे बातचीत करूं?
इंटरप्लगिन संचार के लिए कुछ विकल्प हैं, पहले वहाँ रहे हैं imp* कार्य, जो आयात प्लगइन्स को संभालते हैं। यह महत्वपूर्ण है कि आप इसे प्लगइन्स के लिए उपयोग करते हैं और एक सामान्य नहीं है। import जैसा imp*
यह एक सामान्य संस्करण है जिसमें अतिरिक्त वैश्विक स्तर पर अतिरिक्त वैश्विक स्तर का होता है।
import इसे एक सामान्य पाइथन फ़ाइल के रूप में लोड कर देगा।
इस प्रकार के रूप में लागू कार्य हैं
- Intense
- वास्तव में जैसा कि यह अर्थ है, सभी प्लगइन्स की सूची देता है जो दिए गए नाम से मेल खाती है
- Indir
- दिए गए निर्देशिका नाम के भीतर सभी प्लगइन्स की एक सूची लौटती है (जो प्लगइन्स.d का उप-निर्देशिका है)
- Indating
- प्लगइन्स.d से सटीक सापेक्ष पथ से मिलान करने वाला एक एकल प्लगइन वापस करता है
इन कार्यों के अलावा सभी प्लगइन्स के बीच एक साझा घटना प्रबंधन है जिसका उपयोग क्रॉस-प्लगिन संचार के लिए भी किया जा सकता है। इस घटना प्रबंधक को चर के रूप में उजागर किया गया है eventManager
घटना प्रबंधक बल्कि सरल है। घटनाएँ किसी भी हैशेबल वस्तु हो सकती हैं, हालांकि आमतौर पर स्ट्रिंग जैसे कुछ स्पष्ट उपयोग करने के लिए अधिक समझ में आता है। इसी तरह, एक घटना हैंडलर किसी भी कॉल करने योग्य वस्तु है लेकिन आम तौर पर एक कार्य होता है।
घटना प्रबंधक से उजागर 3 कार्य हैं
- add_event(name)
- यह घटना प्रबंधक के स्वामित्व वाली घटनाओं की सूची में एक घटना को जोड़ता है और एक सुविधा समारोह वापस करता है जो घटना को आग लगाएगा। ध्यान दें कि यह सुविधा वास्तव में है कि और आवश्यक नहीं है।
- add_handler(name, handler)
- यह संवाददाता को सहसंबंधित घटना के लिए जोड़ता है। यदि घटना मौजूद नहीं है तो यह चुपचाप बनाया गया है। यह कार्य कोई नहीं देता है।
- fire_event(name)
- यह प्रत्येक हैंडलर को उस क्रम में कहता है जिसे वे दिए गए कार्यक्रम के लिए पंजीकृत थे।
अन्य जानकारी
न्यूनतम मान्य प्लगइन के उदाहरण के लिए, चेक प्लगइन्स.डी/example.py, इसे सिर्फ कार्रवाई में देखने के लिए chmod +x plugins.d/example.py और confconsole चलाते हैं।
अन्य कार्यक्षमता के उदाहरण देखने के लिए कृपया अन्य प्रदान किए गए प्लगइन्स का स्रोत कोड देखें।