أدوات للمعالجة التلقائية وتنسيق رمز PL/SQL
create بيان. لا يمكن التنبؤ بنتيجة معالجة الملفات متعددة الكائنات ، لذلك ستقوم جميع الأدوات (باستثناء str_decoder ) بإثارة استثناء. تحاول الوظيفة الوحيدة decode_to_str اكتشاف ترميز الخط وإعادة ترميزه إلى UTF-8 . يرفع القيمة إذا كان الترميز مستحيلًا.
decode_to_str(line, probables=None)
line - bytes مع نص لفك تشفيرهprobables - list str مع الترميزات الأولية للتحقق. الافتراضي: ['cp866', 'cp1251', 'koi8-r']str (فك التشفير وإعادة ترميزها إلى UTF-8 ) فك تشفير ملف كامل إلى ملف آخر. قم بتشغيل هذا للحصول على قائمة بالحجج:
python -m oc_sql_helpers.str_decoder --help
PLSQLWrapper CLASS هي أداة للعمل مع مصادر ملفوفة ORACLE.
هناك متطلبات إضافية للف الملفات. لاحظ أن أساليب UNFRAP تعمل بدونها. ويرجع ذلك إلى استخدام فائدة wrap الأصلية من Oracle والتي لم يتم تضمينها في هذه الحزمة بسبب انتهاك الترخيص . يجب عليك تثبيته بشكل منفصل.
ORACLE_HOME بشكل صحيحwrap الثنائي تحت ${ORACLE_HOME}/bin ويجب أن يكون لديه إذن تنفيذ للمستخدم الفعال PLSQLWrapper() - لإنشاء كائن لهذا الفئة
طُرق
wrap_path(path_in, write_to=None)path_in - كائن str مع مسار مطلق أو نسبي للملف للالتفاف.write_to - واحد من:None - سيتم إرجاع نتيجة التغليف بهذه الطريقة ككائن bytesfile - سيتم كتابة النتيجة إلى كائن يشبه الملف المحدد هنا. يجب فتحها في الوضع الثنائي للقراءة والكتابة ( 'w+b' ) seek التشغيل.str - مسار ملف الإخراج ، المطلق أو النسبي. ستتم كتابة النتيجة هناك. يجب أن يكون لديك امتداد - هذا هو Oracle wrap Utility featrue. إنها تُؤسس .plb اللاحقة من تلقاء نفسها إذا تم حذف امتداد. يرجى تحديد الامتداد دائمًاwrite_to أعلاهwrap_buf(fl_in, write_to=None)fl_in - file أو file-like للف البيانات من. يجب فتحها في الوضع الثنائي ودعم seek ( 'rb' ).write_to - نفس الشيء بالنسبة لـ wrap_pathwrap_pathunwrap_path(path_in, write_to=None)path_in - كائن str مع المسار المطلق أو النسبي إلى ملف إلى unfrap.write_to - واحد من:None - سيتم إرجاع النتيجة غير المحفوظة بواسطة هذه الطريقة ككائن bytesfile - سيتم كتابة النتيجة إلى كائن يشبه الملف المحدد هنا. يجب فتحها في الوضع الثنائي للقراءة والكتابة ( 'w+b' ) seek التشغيل.str - مسار ملف الإخراج ، المطلق أو النسبي. ستتم كتابة النتيجة هناك.write_to أعلاهunwrap_buf(fl_in, write_to=None)fl_in - file أو file-like للف البيانات من. يجب فتحها في الوضع الثنائي ودعم seek ( 'rb' ).write_to - نفس الشيء بالنسبة لـ unwrap_pathunwrap_path التفاف/فتح ملف كامل إلى ملف آخر. قم بتشغيل هذا للحصول على قائمة بالحجج:
python -m oc_sql_helpers.wrapper --help
فئة PLSQLNormalizer هي أو تطبيع رمز PL/SQL.
التطبيع يعني تقريبا نفس نمط الكود ، ولكن أقل بدقة. هذا يعني أن نتيجة التطبيع قد تكون غير صالحة للاستعمال حتى لو كان المصدر صحيحًا من وجهة نظر PL/SQL .
التطبيع الافتراضي هو:
CREATE غير محفوظ.AS (أو IS ، أو WRAPPED ) الرمز CREATE ، بما في ذلك اسم الكائن والنوع والمخطط. يتم استبدال أحرف الفضاء الإضافية والتعليقات بمساحة واحدة.CREATE بيان) تم تحضيره ، بما في ذلك المخطط واسم الكائن ." ، فسيتم SCHEMA.NAME تلك الربعات المزدوجة حيثما أمكن ذلك. مثال: "schema"."name" "another.schema"."another.name" "ANOTHER.SCHEMA"."ANOTHER.NAME"أعلام التطبيع الأخرى :
uppercase : سيتم تحضير جميع اللغات اللغوية في جسم الكائنات باستثناء الحرفيةno-comments : سيتم استبدال جميع التعليقات داخل الجسم ، بما في ذلك علامات التعليقات نفسها ، بمساحة واحدة.no-spaces : سيتم استبدال جميع الأحرف المساحة المتكررة (المساحة نفسها ، خط جديد ، جدولة ...) بمساحة فردية عامة. مثال: var := 'the value' سيتم ترجمتها إلى var := 'the value' . لاحظ أنه لا يوجد بديل داخل 'the value' الحرفية. قد لا يتم استخدام هذا العلم مع no-commentsno-literals : سيتم استبدال جميع القيم الحرفية السلسلة إلى الفراغات الفارغة. العلامات الحرفية نفسها لم تتغير.comments-only : تجاهل محتوى الملف بالكامل ولكن التعليقات ، بما في ذلك علامات التعليقات نفسها. سيتم بدء كل تعليق بخط جديد. هذا العلم غير متوافق مع أي شخص أعلاه PLSQLNormalizer() - لإنشاء كائن لهذا الفئة
طُرق
normalize_path(path, flags=None, lines=None, write_to=None)path - كائن str مع المسار المطلق أو النسبي للملف للتطبيع.flags - أعلام التطبيع ، list الأعداد الصحيحة من التعداد PLSQLNormalizationFlags ، انظر أدناه. None تعني القيمة الافتراضية ( CREATE تعريف) التطبيع فقط.lines - int ، الحد من خطوط التطبيع (يتم حسابها من المصدر ). الافتراضي : None ، يعني تطبيع المصدر بالكاملwrite_to - واحد من:None - سيتم إرجاع نتيجة التغليف بهذه الطريقة ككائن bytesfile - سيتم كتابة النتيجة إلى كائن يشبه الملف المحدد هنا. يجب فتحها في الوضع الثنائي للقراءة والكتابة ( 'w+b' ) seek التشغيل.str - مسار ملف الإخراج ، المطلق أو النسبي. ستتم كتابة النتيجة هناك. يجب أن يكون لديك امتداد - هذا هو Oracle wrap Utility featrue. إنها تُؤسس .plb اللاحقة من تلقاء نفسها إذا تم حذف امتداد. يرجى تحديد الامتداد دائمًاwrite_to أعلاهnormalize(fl, flags, lines=None write_to=None)fl - واحد من:file أو كائن file-like لتطبيع البيانات من. يجب فتحها في الوضع الثنائي ودعم seek ( 'rb' ).str - سلسلة البيانات للتطبيعbytes - بيانات "ثنائية" للتطبيعflags - نفس الشيء بالنسبة لـ normalize_pathlines - نفس الشيء بالنسبة لـ normalize_pathwrite_to - نفس الشيء بالنسبة لـ normalize_pathnormalize_pathis_sql(fl) - تحقق من أن البيانات المعطاة هي رمز PL/SQLfl - نفس الشيء بالنسبة normalizebool ، رمز PL/SQL ملفوف أو لاis_sql_path(path) - نفس is_sql ولكن يتم التعامل مع الوسيطة كمسار إلى ملف مع رمز ممكنis_wrapped(fl) - تحقق من أن البيانات المقدمة مدعومة رمز PL/SQLfl - نفس الشيء بالنسبة normalizebool ، رمز PL/SQL المدعومis_wrapped_path(path) - نفس is_wrapped ولكن يتم التعامل مع الوسيطة كمسار إلى ملف مع رمز ممكنis_wrappable(fl) - تحقق من أن البيانات المقدمة مدعومة رمز PL/SQLfl - نفس الشيء بالنسبة normalizebool ، كائن PL/SQL القابل للورم في الكود أم لاis_wrappable_path(path) - نفس is_wrappable ولكن يتم التعامل مع الوسيطة كمسار إلى ملف مع رمز ممكن PLSQLNormalizationFlags - تعداد الأعلام:
uppercaseno_commentsno_spacesno_literalscomments_onlyانظر الوصف التفصيلي أعلاه في فصل علامات التطبيع الأخرى من قسم مصطلح التطبيع .
تطبيع ملف كامل إلى ملف آخر. قم بتشغيل هذا للحصول على قائمة بالحجج:
python -m oc_sql_helpers.normalizer --help