PL/SQLコードを自動処理およびフォーマットするためのツール
createステートメントを作成した1つのオブジェクト。マルチオブジェクトファイルの処理の結果は予測不可能であるため、すべてのツール( STR_DECODERを除く)が例外を提起します。唯一の関数decode_TO_STRは、行のエンコードを検出し、 UTF-8に再コードしようとします。エンコーディングが不可能な場合、 ValueErrorを上げます。
decode_to_str(line, probables=None)
lineデコードするテキストを備えたオブジェクトbytesprobables - チェックするプライマリエンコーディングを備えたstrのlist 。デフォルト: ['cp866', 'cp1251', 'koi8-r']str (デコードされ、 UTF-8に再エンコードされます) ファイル全体を別のファイルにデコードします。これを実行して、引数のリストを取得します。
python -m oc_sql_helpers.str_decoder --help
PLSQLWrapperクラスは、Oracleで包まれたソースを操作するためのツールです。
ファイルをラップするための追加の要件があります。アンラップメソッドはそれなしで機能していることに注意してください。これらは、ライセンス違反のためにこのパッケージに含まれていないOracleからのオリジナルのwrapユーティリティの使用によるものです。個別にインストールする必要があります。
ORACLE_HOME環境変数は正しく設定されますwrapバイナリは${ORACLE_HOME}/binの下に配置され、効果的なユーザーの許可を実行する必要がありますPLSQLWrapper() - そのクラスのオブジェクトをインスタンス化します
方法
wrap_path(path_in, write_to=None)path_inラップするファイルへの絶対または相対パスを備えたstrオブジェクト。write_to 1つ:None - ラッピング結果は、この方法によってbytesオブジェクトとして返されますfile - 結果は、ここで指定されているファイルのようなオブジェクトに書き込まれます。読み取りワイトバイナリモード( 'w+b' )で開き、 seek操作をサポートする必要があります。str出力ファイルへのパス、絶対または相対。結果はそこに書かれます。拡張機能が必要です- これはOracle wrap Utility featureです。拡張機能が省略されている場合、 .plbサフィックスを独自に追加します。常に拡張機能を指定してくださいwrite_to参照してくださいwrap_buf(fl_in, write_to=None)fl_inデータをラップするfileまたはfile-likeオブジェクト。バイナリモードで開く必要があり、サポートseek操作( 'rb' )を使用する必要があります。write_to wrap_pathと同じwrap_pathと同じunwrap_path(path_in, write_to=None)path_in -wrapにファイルするための絶対または相対パスを備えたstrオブジェクト。write_to 1つ:None - アンラッピング結果は、この方法によってbytesオブジェクトとして返されますfile - 結果は、ここで指定されているファイルのようなオブジェクトに書き込まれます。読み取りワイトバイナリモード( 'w+b' )で開き、 seek操作をサポートする必要があります。str出力ファイルへのパス、絶対または相対。結果はそこに書かれます。write_to参照してくださいunwrap_buf(fl_in, write_to=None)fl_inデータをラップするfileまたはfile-likeオブジェクト。バイナリモードで開く必要があり、サポートseek操作( 'rb' )を使用する必要があります。write_to unwrap_pathと同じですunwrap_pathと同じファイル全体を別のファイルに巻き付け/解除します。これを実行して、引数のリストを取得します。
python -m oc_sql_helpers.wrapper --help
PLSQLNormalizerクラスISまたはPL/SQLコード正規化。
正規化とは、コードスタイルとほぼ同じことを意味しますが、それほど厳密ではありません。これは、ソースがPL/SQLの観点から正しいものであっても、正規化の結果が使用できないことを意味します。
デフォルトの正規化は次のとおりです。
CREATEステートメントの前のすべてのゴミが削除されます。CREATEステートメント自体は、オブジェクト名、タイプ、スキーマを含む、 AS (またはIS 、またはWRAPPED )トークンまでの最初の行まで注文されます。余分なスペースのキャラクターとコメントは、単一のスペースに置き換えられます。CREATEステートメント付き)は、スキーマとオブジェクト名を含むupprcasedです。"で指定されている場合、それらの二重引用符は可能な限り削除されます。例: "schema"."name" "another.schema"."another.name"正規化後にSCHEMA.NAMEになり"ANOTHER.SCHEMA"."ANOTHER.NAME"別の正規化フラグ:
uppercase :オブジェクト本体のすべての言語語彙素は、リテラルを除いて大文字になりますno-comments :コメントサイン自体を含む身体内のすべてのコメントは、単一のスペースに置き換えられます。no-spaces :すべての繰り返しスペースキャラクター(スペース自体、新しいライン、集計...)は、一般的な単一スペースに置き換えられます。例: var := 'the value' var := 'the value'に変換されます。文字通りの'the value'内で交換が行われないことに注意してください。このフラグはno-commentsを獲得することはできませんno-literals :すべての文字列リテラル値は、空の値に置き換えられます。文字通りの兆候自体は変更されません。comments-only :ファイルのコンテンツ全体を破棄しますが、コメントを含むコメント自体に署名します。各コメントは新しい行で開始されます。このフラグは、上記の人と互換性がありませんPLSQLNormalizer() - このクラスのオブジェクトをインスタンス化します
方法
normalize_path(path, flags=None, lines=None, write_to=None)path -STR strは、正規化するファイルへの絶対または相対パスを備えています。flags - 正規化フラグ、 PLSQLNormalizationFlags列挙からの整数のlist 、以下を参照してください。 None値は、デフォルト(定義CREATE )正規化のみを行います。lines int 、制限正規化ライン(ソースからカウント)。デフォルト: None 、ソース全体を正規化することを意味しますwrite_to 1つ:None - ラッピング結果は、この方法によってbytesオブジェクトとして返されますfile - 結果は、ここで指定されているファイルのようなオブジェクトに書き込まれます。読み取りワイトバイナリモード( 'w+b' )で開き、 seek操作をサポートする必要があります。str出力ファイルへのパス、絶対または相対。結果はそこに書かれます。拡張機能が必要です- これはOracle wrap Utility featureです。拡張機能が省略されている場合、 .plbサフィックスを独自に追加します。常に拡張機能を指定してくださいwrite_to参照してくださいnormalize(fl, flags, lines=None write_to=None)fl 1つ:fileまたはfile-likeオブジェクトからデータを正規化します。バイナリモードで開く必要があり、サポートseek操作( 'rb' )を使用する必要があります。str正規化する文字列データbytes - 正規化する「バイナリ」データflags - normalize_pathと同じですlines - normalize_pathと同じですwrite_to normalize_pathと同じnormalize_pathと同じis_sql(fl) - 指定されたデータがサポートされているPL/SQLコードを確認しますfl normalizeと同じbool 、ラップされたPL/SQLコードかどうかis_sql_path(path) - is_sqlと同じですが、引数は可能なコードを持つファイルへのパスとして扱われますis_wrapped(fl) - 指定されたデータがサポートされているラップpl/sqlコードを確認しますfl normalizeと同じbool 、サポートされているPL/SQLコードかどうかis_wrapped_path(path) - is_wrappedと同じですが、引数は可能なコードを持つファイルへのパスとして扱われますis_wrappable(fl) - 指定されたデータがサポートされているラップpl/sqlコードを確認しますfl normalizeと同じbool 、コード内のラップ可能なPL/SQLオブジェクトis_wrappable_path(path) - is_wrappableと同じですが、引数は可能なコードを持つファイルへのパスとして扱われますPLSQLNormalizationFlagsフラグの列挙:
uppercaseno_commentsno_spacesno_literalscomments_only上記の詳細な説明を参照して、正規化項セクションの別の正規化フラグの章の章を参照してください。
ファイル全体を別のファイルに正規化します。これを実行して、引数のリストを取得します。
python -m oc_sql_helpers.normalizer --help