Sorl-thumbnail: خطأ "ملف_غير مفقود في get_thumbnail" في السجلات والبريد الإلكتروني

تم إنشاؤها على ٢٢ نوفمبر ٢٠١٧  ·  10تعليقات  ·  مصدر: jazzband/sorl-thumbnail

لقد قمت بتكوين موقعي لإرسال رسائل الخطأ المسجلة الخاصة بي ، وقد تلقيت رسائل الخطأ هذه منذ الترقية إلى sorl-thumbnail 12.4.1:

missing file_ argument in get_thumbnail()

إليك سطر الكود الذي ينبعث منه هذا الخطأ:

https://github.com/jazzband/sorl-thumbnail/blob/a99797fe20fbf78993d42d4031e9239401c24a78/sorl/thumbnail/base.py#L83

أرى أنني كنت من كتب هذا السطر ، غيرته من استثناء إلى خطأ مسجل: 0375ffe9b66e571bfeb7581fb47174f50b47468f

لم مستندا في ذلك على تعليقmariocesar الصورة هنا: https://github.com/jazzband/sorl-thumbnail/pull/493#issuecomment -299302392

هناك شيء حول raise ValueError('missing file_ argument in get_thumbnail()') نحتاج إلى إسكات ذلك في DEBUG = خطأ على الأرجح ، لكن مع الحفاظ على الخطأ. إنها مشكلة شائعة.

التعليق الأكثر فائدة

timgraham أعتقد أنني أفعل. أفضل ذلك عندما يُبقي ملتزمو GitHub المشكلات مفتوحة حتى يتم إصدار إصلاحات الأخطاء المطابقة الخاصة بهم في PyPI. عندما أجد خطأ في مشروع تم إصداره ، غالبًا ما أحاول البحث عن تقرير الخطأ الخاص به ، وبعد ذلك إذا لم أتمكن من العثور على مشكلة مفتوحة ، أقوم بتقديم مشكلة جديدة. حتى إذا وجدت المشكلة القديمة المغلقة ، فأنا أقوم بتقديم قضية جديدة ، بافتراض حدوث تراجع. إذا تم إغلاق تقارير الأخطاء فقط عند إصدار إصلاحات الأخطاء فعليًا ، يتم تجنب هذه المشكلة.

ال 10 كومينتر

قمت للتو بالترقية إلى 12.4.1 أيضًا ، وبدأت في الحصول على هذا الخطأ الذي يملأ سجلاتنا.

هذا يعود إلى رقم 472. كان السلوك القديم لـ sorl-thumbnail أنه لا بأس من تمرير حقل ملف لا يحتوي في الواقع على ملف ، والذي تم حله إلى سلسلة فارغة. سيعيد get_thumbnail None ، لذا فإن Templatetag سيعرض البديل الفارغ بدلاً من ذلك.

من الواضح أن هذا قد تغير مع الإصدار الأخير!

ما هو السلوك المقصود؟ إذا كان من المفترض أن نغلف جميع مكالماتنا المصغرة بـ {% if object.my_image_field %} - فسأحدث الكود الخاص بي. إذا كان هذا انحدارًا - فأنا على استعداد لإنشاء علاقات عامة لإصلاح ذلك ، لكني أرغب في معرفة ما إذا كان هناك شيء يحتاج إلى الإصلاح أولاً.

الإصدار القديم الذي تم إصداره على PyPi ، 12.4a1 لديه السلوك الذي وصفته ،tomkins. أعتقد أن هذا كان السلوك المقصود أصلاً. هذا ما قاله المحققون وما زالوا يقولون منذ سبع سنوات:

باستخدام ميزة empty ، يتم عرض قسم empty عندما يتم تحويل المصدر إلى قيمة فارغة أو مصدر صورة غير صالح ، يمكنك التفكير في الأمر على أنه عرض عندما تصبح الصورة المصغرة غير محددة.

منذ ذلك الإصدار على PyPI ، ارتكب mariocesar هذا 17748e5c26384e9af25e2d5515496a50ea6f3701 ، مما تسبب في فقدان وسيطة file_ لطرح استثناء.

من أجل اجتياز الاختبارات ، قمت بعد ذلك بتغيير هذا الرمز في طلب السحب هذا # 493 وفي هذا الالتزام المعاد تأسيسه 0375ffe9 ، مع تحويل الاستثناء إلى خطأ مسجل ، بناءً على نصيحة mariocesar في التعليق https: // github .com / jazzband / sorl-thumbnail / pull / 493 # issuecomment -299302392.

ربما يجب علينا تغيير علامة القالب إلى عدم استدعاء get_template عند تمرير سلسلة فارغة أو قيمة لا شيء ، وبهذه الطريقة ، يمكننا الاحتفاظ بجسم الوظيفة get_template تسجيل خطأ (أو إلقاء استثناء). بالتأكيد لا أريد أن يضطر الأشخاص إلى تعديل جميع قوالبهم لتتضمن غلافًا {% if object.my_image_field %} !

دعنا نبقي هذا مفتوحًا حتى يتم إصداره في PyPI.

اي فكرة عن متى سيتم الافراج عن هذا على pypi؟ لا يزال يحصل على الأخطاء مع 12.4.1

+1

تلقيت للتو نفس الخطأ ، تم الإبلاغ عن الخطأ في ملف السجل sentry.io .

أهلا. هل هناك أي تحديثات في هذا الإصلاح على الإصدار الأساسي المتاح في PyPI؟ يعمل مشروعي على النحو المنشود ، لكنني اكتشفت هذا الخطأ بالصدفة عند استخدام ملف مؤقت تم إنشاؤه للتحقق من صحة طلب POST مع اختباراتي. هل هناك عمل حوله؟

@ sebastian-code بينما ننتظر إصدارًا جديدًا ليتم إصداره على PyPI ، يمكنك تثبيت هذا من GitHub ، على النحو التالي:

$ pip install -e git+https://github.com/jazzband/sorl-thumbnail.git@b6358d234d7de3927a2666a2a5ab3d7870c0e1d3#egg=sorl_thumbnail

يمكنك استبدال b6358d234d7de3927a2666a2a5ab3d7870c0e1d3 بتجزئة الالتزام التي تريد استخدامها.

راجع https://github.com/jazzband/sorl-thumbnail/issues/546

لا أرى قيمة في إبقاء الأخطاء مفتوحة حتى يتم إطلاقها.

timgraham أعتقد أنني أفعل. أفضل ذلك عندما يُبقي ملتزمو GitHub المشكلات مفتوحة حتى يتم إصدار إصلاحات الأخطاء المطابقة الخاصة بهم في PyPI. عندما أجد خطأ في مشروع تم إصداره ، غالبًا ما أحاول البحث عن تقرير الخطأ الخاص به ، وبعد ذلك إذا لم أتمكن من العثور على مشكلة مفتوحة ، أقوم بتقديم مشكلة جديدة. حتى إذا وجدت المشكلة القديمة المغلقة ، فأنا أقوم بتقديم قضية جديدة ، بافتراض حدوث تراجع. إذا تم إغلاق تقارير الأخطاء فقط عند إصدار إصلاحات الأخطاء فعليًا ، يتم تجنب هذه المشكلة.

أتفق مع Flimm أعتقد أنه يساعد أيضًا المطورين على تتبع حالة مشروعهمtimgraham

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات