الفرق بين المراجعتين لصفحة: «Python/wsgiref/util/shift path info»

من موسوعة حسوب
< Python‏ | wsgiref‏ | util
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>wsgiref.util.shift_path_info()‎‎</code> في بايثون}}</noinclude> تنقل الدالة اسمًا منفردًا...'
 
لا ملخص تعديل
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>wsgiref.util.shift_path_info()‎‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الدالة <code>wsgiref.util.shift_path_info()‎‎</code> في بايثون}}</noinclude>


تنقل الدالة اسمًا منفردًا من PATH_INFO إلى SCRIPT_NAME وتعيد الاسم المنقول. يُعدّل القاموس المعطى في مكانه in-place، ويمكنك استخدام نسخة من القاموس إن كنت بحاجة إلى المحافظة على قيمة PATH_INFO أو SCRIPT_NAME الأصلية دون تعديل.
تنقل الدالة اسمًا منفردًا من <code>PATH_INFO</code> إلى <code>SCRIPT_NAME</code> وتعيد الاسم المنقول. يُعدّل القاموس المعطى في مكانه in-place، ويمكنك استخدام نسخة من القاموس إن كنت بحاجة إلى المحافظة على قيمة <code>PATH_INFO</code> أو <code>SCRIPT_NAME</code> الأصلية دون تعديل.


تستخدم هذه الدالة عادة لمعالجة كل جزء من أجزاء مسار URI في الطلب، كأن تجري معالجة المسار كسلسلة من مفاتيح القاموس. تعدّل هذه الدالة البيئة الممرة لجعلها ملائمة للتنفيذ من قبل تطبيق WSGI آخر والموجود في معرّف URI الهدف.
فعلى سبيل المثال لو كان هناك تطبيق WSGI على المسار ‎<code>/foo</code> وكان مسار URI في الطلب هو ‎<code>/foo/bar/baz</code>، واستدعى التطبيق في المسار ‎<code>/foo</code> الدالة <code>shift_path_info()</code>‎ فإنّه سيستقبل السلسلة النصية "bar" وستُحدّث البيئة لتكون ملائمة لتمرير تطبيق WSGI على المسار <code>‎/foo/bar</code>. 
أيّ أنّ قيمة المتغير <code>SCRIPT_NAME</code> ستتغيّر من <code>‎/foo</code> إلى <code>‎/foo/bar</code> وقيمة المتغير <code>PATH_INFO</code> ستتغير من <code>‎/bar/baz</code> إلى ‎<code>/baz</code>.
عندما تكون قيمة <code>PATH_INFO</code> هي <code>"/"</code> فقط، فإنّ الدالة تعيد سلسلة نصية فارغة وتضيف الخط المائل إلى المتغير <code>SCRIPT_NAME</code>، على الرغم من أنّ الأجزاء الفارغة في المسار يجري تجاهلها في العادة، وأنّ قيمة المتغيّر <code>SCRIPT_NAME</code> لا تنتهي عادة بخطّ مائل، ولكن يضمن هذا السلوك أنّ التطبيق قادر على تمييز معرّفات URI التي تنتهي بـ <code>‎/x</code> من المعرّفات التي تنتهي بـ <code>‎/x/</code>‎ عند استخدام هذه الدالة لإجراء عملية نقل الكائن object traversal.
== البنية العامة ==
== البنية العامة ==


سطر 8: سطر 15:
wsgiref.util.shift_path_info(environ)
wsgiref.util.shift_path_info(environ)
</syntaxhighlight>
</syntaxhighlight>
== المعاملات ==
== المعاملات ==
=== <code>environ</code> ===
 
=== <code>environ</code> ===
[[Python/dict|قاموس]] متوافق مع WSGI. يمكن مراجعة [https://www.python.org/dev/peps/pep-3333 PEP 3333] للاطلاع على المزيد من التفاصيل.
[[Python/dict|قاموس]] متوافق مع WSGI. يمكن مراجعة [https://www.python.org/dev/peps/pep-3333 PEP 3333] للاطلاع على المزيد من التفاصيل.


== القيمة المعادة ==
== القيمة المعادة ==
تعيد الدالة الاسم المنقول.
تعيد الدالة القيمة <code>None</code> في حال عدم وجود أي مسارات في <code>PATH_INFO</code>.


== مصادر ==
== مصادر ==

المراجعة الحالية بتاريخ 20:21، 26 ديسمبر 2018


تنقل الدالة اسمًا منفردًا من PATH_INFO إلى SCRIPT_NAME وتعيد الاسم المنقول. يُعدّل القاموس المعطى في مكانه in-place، ويمكنك استخدام نسخة من القاموس إن كنت بحاجة إلى المحافظة على قيمة PATH_INFO أو SCRIPT_NAME الأصلية دون تعديل.

تستخدم هذه الدالة عادة لمعالجة كل جزء من أجزاء مسار URI في الطلب، كأن تجري معالجة المسار كسلسلة من مفاتيح القاموس. تعدّل هذه الدالة البيئة الممرة لجعلها ملائمة للتنفيذ من قبل تطبيق WSGI آخر والموجود في معرّف URI الهدف.

فعلى سبيل المثال لو كان هناك تطبيق WSGI على المسار ‎/foo وكان مسار URI في الطلب هو ‎/foo/bar/baz، واستدعى التطبيق في المسار ‎/foo الدالة shift_path_info()‎ فإنّه سيستقبل السلسلة النصية "bar" وستُحدّث البيئة لتكون ملائمة لتمرير تطبيق WSGI على المسار ‎/foo/bar

أيّ أنّ قيمة المتغير SCRIPT_NAME ستتغيّر من ‎/foo إلى ‎/foo/bar وقيمة المتغير PATH_INFO ستتغير من ‎/bar/baz إلى ‎/baz.

عندما تكون قيمة PATH_INFO هي "/" فقط، فإنّ الدالة تعيد سلسلة نصية فارغة وتضيف الخط المائل إلى المتغير SCRIPT_NAME، على الرغم من أنّ الأجزاء الفارغة في المسار يجري تجاهلها في العادة، وأنّ قيمة المتغيّر SCRIPT_NAME لا تنتهي عادة بخطّ مائل، ولكن يضمن هذا السلوك أنّ التطبيق قادر على تمييز معرّفات URI التي تنتهي بـ ‎/x من المعرّفات التي تنتهي بـ ‎/x/‎ عند استخدام هذه الدالة لإجراء عملية نقل الكائن object traversal.

البنية العامة

wsgiref.util.shift_path_info(environ)

المعاملات

environ

قاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل.

القيمة المعادة

تعيد الدالة الاسم المنقول.

تعيد الدالة القيمة None في حال عدم وجود أي مسارات في PATH_INFO.

مصادر