الدالة wsgiref.util.shift_path_info()‎‎ في بايثون

من موسوعة حسوب
< Python‏ | wsgiref‏ | util


تنقل الدالة اسمًا منفردًا من 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.

مصادر