diff --git a/docs/rtf/classException__coll__graph.md5 b/docs/rtf/classException__coll__graph.md5 new file mode 100644 index 0000000..38ed226 --- /dev/null +++ b/docs/rtf/classException__coll__graph.md5 @@ -0,0 +1 @@ +8bfc7cbaf3c53c3b1288446104b2c7ee \ No newline at end of file diff --git a/docs/rtf/classException__coll__graph.svg b/docs/rtf/classException__coll__graph.svg new file mode 100644 index 0000000..d2d4076 --- /dev/null +++ b/docs/rtf/classException__coll__graph.svg @@ -0,0 +1,26 @@ + + + + + + +Exception + + + +Node1 + + +Exception + + + + + + + + + diff --git a/docs/rtf/classException__inherit__graph.md5 b/docs/rtf/classException__inherit__graph.md5 new file mode 100644 index 0000000..f7c5b12 --- /dev/null +++ b/docs/rtf/classException__inherit__graph.md5 @@ -0,0 +1 @@ +02df0cdd064aa2dca59b7424cdd2be62 \ No newline at end of file diff --git a/docs/rtf/classException__inherit__graph.svg b/docs/rtf/classException__inherit__graph.svg new file mode 100644 index 0000000..c8fc6d6 --- /dev/null +++ b/docs/rtf/classException__inherit__graph.svg @@ -0,0 +1,46 @@ + + + + + + +Exception + + + +Node1 + + +Exception + + + + + + + + + +Node2 + + +penify_hook.utils.GitRepo +NotFoundError + + + + + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient__coll__graph.md5 new file mode 100644 index 0000000..2c7b583 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient__coll__graph.md5 @@ -0,0 +1 @@ +92a3e9cee2cd5e4975e6a42b548f0d62 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient__coll__graph.svg b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient__coll__graph.svg new file mode 100644 index 0000000..fe24d95 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient__coll__graph.svg @@ -0,0 +1,36 @@ + + + + + + +penify_hook.api_client.APIClient + + + +Node1 + + +penify_hook.api_client.APIClient + ++ api_url ++ AUTH_TOKEN ++ BEARER_TOKEN + ++ __init__() ++ send_file_for_docstring +_generation() ++ generate_commit_summary() ++ get_supported_file +_types() ++ generate_commit_summary +_with_llm() ++ get_api_key() + + + + + diff --git a/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.md5 b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.md5 new file mode 100644 index 0000000..b12cf91 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.md5 @@ -0,0 +1 @@ +ea70dd7bbb840c4828c970ec1a8f5446 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.svg b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.svg new file mode 100644 index 0000000..54dce22 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.api_client.APIClient.generate_commit_summary + + + +Node1 + + +penify_hook.api_client.APIClient.generate +_commit_summary + + + + + +Node2 + + +penify_hook.api_client.APIClient.generate +_commit_summary_with_llm + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.md5 b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.md5 new file mode 100644 index 0000000..186981a --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.md5 @@ -0,0 +1 @@ +6b1ca4842de706fb2f00719bcb509a8b \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.svg b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.svg new file mode 100644 index 0000000..a04a292 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.svg @@ -0,0 +1,70 @@ + + + + + + +penify_hook.api_client.APIClient.generate_commit_summary_with_llm + + + +Node1 + + +penify_hook.api_client.APIClient.generate +_commit_summary_with_llm + + + + + +Node2 + + +penify_hook.api_client.APIClient.generate +_commit_summary + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.llm_client.LLMClient.generate +_commit_summary + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.llm_client.LLMClient.litellm + + + + + +Node3->Node4 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.md5 new file mode 100644 index 0000000..8f67765 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.md5 @@ -0,0 +1 @@ +ba0c3a1d5b95dea65df70168e43976e0 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.svg b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.svg new file mode 100644 index 0000000..c7b4e4a --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.svg @@ -0,0 +1,33 @@ + + + + + + +penify_hook.base_analyzer.BaseAnalyzer + + + +Node1 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + diff --git a/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.md5 b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.md5 new file mode 100644 index 0000000..cb38209 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.md5 @@ -0,0 +1 @@ +63e8393eea1557a855929943cd8aca92 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.svg b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.svg new file mode 100644 index 0000000..285efa6 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.svg @@ -0,0 +1,127 @@ + + + + + + +penify_hook.base_analyzer.BaseAnalyzer + + + +Node1 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2 + + +penify_hook.commit +_analyzer.CommitDocGenHook + ++ llm_client + ++ __init__() ++ get_summary() ++ run() ++ process_jira_integration() +- _amend_commit() + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook + ++ file_path + ++ __init__() ++ process_file() ++ print_processing() ++ run() + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.folder +_analyzer.FolderAnalyzerGenHook + ++ dir_path + ++ __init__() ++ list_all_files_in_dir() ++ run() + + + + + +Node1->Node4 + + + + + +Node5 + + +penify_hook.git_analyzer. +GitDocGenHook + + + ++ __init__() ++ get_modified_files +_in_last_commit() ++ get_modified_lines() ++ process_file() ++ run() + + + + + +Node1->Node5 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.md5 new file mode 100644 index 0000000..4d6e419 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.md5 @@ -0,0 +1 @@ +7b0dd63703399513e2ba32399fe691fd \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.svg new file mode 100644 index 0000000..ebcb060 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook + ++ llm_client + ++ __init__() ++ get_summary() ++ run() ++ process_jira_integration() +- _amend_commit() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.md5 new file mode 100644 index 0000000..4d6e419 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.md5 @@ -0,0 +1 @@ +7b0dd63703399513e2ba32399fe691fd \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.svg new file mode 100644 index 0000000..ebcb060 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook + ++ llm_client + ++ __init__() ++ get_summary() ++ run() ++ process_jira_integration() +- _amend_commit() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.md5 new file mode 100644 index 0000000..d530502 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.md5 @@ -0,0 +1 @@ +503804b19fd6263bc4d634da365fcb38 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.svg new file mode 100644 index 0000000..e69c2c7 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.svg @@ -0,0 +1,180 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.run + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node2 + + +penify_hook.commit +_analyzer.CommitDocGenHook. +_amend_commit + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commit +_analyzer.CommitDocGenHook.get +_summary + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.print +_success + + + + + +Node1->Node6 + + + + + +Node8 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node1->Node8 + + + + + +Node3->Node4 + + + + + +Node5 + + +penify_hook.ui_utils.format_info + + + + + +Node4->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.format +_success + + + + + +Node6->Node7 + + + + + +Node8->Node4 + + + + + +Node9 + + +penify_hook.ui_utils.print +_warning + + + + + +Node8->Node9 + + + + + +Node10 + + +penify_hook.ui_utils.format +_warning + + + + + +Node9->Node10 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.md5 new file mode 100644 index 0000000..96b4195 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.md5 @@ -0,0 +1 @@ +ad1182651b0cfe9906faf8af31cf667d \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.svg new file mode 100644 index 0000000..3064361 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.svg @@ -0,0 +1,54 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.get_summary + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook.get +_summary + + + + + +Node2 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.ui_utils.format_info + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.md5 new file mode 100644 index 0000000..fffc366 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.md5 @@ -0,0 +1 @@ +086b563bbc1068f3e0325d4a68d5bd17 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.svg new file mode 100644 index 0000000..3b6972e --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.get_summary + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook.get +_summary + + + + + +Node2 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.md5 new file mode 100644 index 0000000..0536af9 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.md5 @@ -0,0 +1 @@ +fb0bae9cf2f7e07ac778eed1297c327b \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.svg new file mode 100644 index 0000000..dc56728 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook._amend_commit + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook. +_amend_commit + + + + + +Node2 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.md5 new file mode 100644 index 0000000..76d8830 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.md5 @@ -0,0 +1 @@ +4cfab920326b3a6b29c805803ac72558 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.svg new file mode 100644 index 0000000..8fe268a --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.svg @@ -0,0 +1,86 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.process_jira_integration + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node2 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.ui_utils.print +_warning + + + + + +Node1->Node4 + + + + + +Node3 + + +penify_hook.ui_utils.format_info + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.ui_utils.format +_warning + + + + + +Node4->Node5 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.md5 new file mode 100644 index 0000000..cf1b6d3 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.md5 @@ -0,0 +1 @@ +3cd15e6828a60d49cece5c87177581df \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.svg new file mode 100644 index 0000000..e5bf8f4 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.process_jira_integration + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node2 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.md5 new file mode 100644 index 0000000..5f2103d --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.md5 @@ -0,0 +1 @@ +95c682625e7209c65fce50a4bb060a81 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.svg new file mode 100644 index 0000000..d985a2a --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.svg @@ -0,0 +1,30 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.__init__ + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook. +__init__ + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.md5 b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.md5 new file mode 100644 index 0000000..39adea9 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.md5 @@ -0,0 +1 @@ +534bd5898147e11eac4c0e46a39c7860 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.svg b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.svg new file mode 100644 index 0000000..8cebb40 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.svg @@ -0,0 +1,30 @@ + + + + + + +penify_hook.commit_analyzer.CommitDocGenHook.__init__ + + + +Node1 + + +penify_hook.commit +_analyzer.CommitDocGenHook. +__init__ + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.md5 new file mode 100644 index 0000000..b6c2c1c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.md5 @@ -0,0 +1 @@ +98c7ce96bb60ecdbb8c57ef7c2bc6d59 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.svg b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.svg new file mode 100644 index 0000000..2c46dfc --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.svg @@ -0,0 +1,56 @@ + + + + + + +penify_hook.file_analyzer.FileAnalyzerGenHook + + + +Node1 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook + ++ file_path + ++ __init__() ++ process_file() ++ print_processing() ++ run() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.md5 b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.md5 new file mode 100644 index 0000000..b6c2c1c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.md5 @@ -0,0 +1 @@ +98c7ce96bb60ecdbb8c57ef7c2bc6d59 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.svg b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.svg new file mode 100644 index 0000000..2c46dfc --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.svg @@ -0,0 +1,56 @@ + + + + + + +penify_hook.file_analyzer.FileAnalyzerGenHook + + + +Node1 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook + ++ file_path + ++ __init__() ++ process_file() ++ print_processing() ++ run() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.md5 b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.md5 new file mode 100644 index 0000000..416cd78 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.md5 @@ -0,0 +1 @@ +dd6dbfdde640f0bc6f1c0cc995a9b4fb \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.svg b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.svg new file mode 100644 index 0000000..df60e23 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.svg @@ -0,0 +1,71 @@ + + + + + + +penify_hook.file_analyzer.FileAnalyzerGenHook.process_file + + + +Node1 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node2 + + +penify_hook.ui_utils.print +_warning + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.ui_utils.update +_stage + + + + + +Node1->Node4 + + + + + +Node3 + + +penify_hook.ui_utils.format +_warning + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.md5 b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.md5 new file mode 100644 index 0000000..8da8816 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.md5 @@ -0,0 +1 @@ +dce29e772ed93d06e90894791ddc50ca \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.svg b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.svg new file mode 100644 index 0000000..c688580 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.svg @@ -0,0 +1,55 @@ + + + + + + +penify_hook.file_analyzer.FileAnalyzerGenHook.process_file + + + +Node1 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node2 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.md5 b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.md5 new file mode 100644 index 0000000..f40daaf --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.md5 @@ -0,0 +1 @@ +5c58a576c4056ea132d5a9cca6880cb6 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.svg b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.svg new file mode 100644 index 0000000..c02effb --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.svg @@ -0,0 +1,204 @@ + + + + + + +penify_hook.file_analyzer.FileAnalyzerGenHook.run + + + +Node1 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node2 + + +penify_hook.ui_utils.create +_stage_progress_bar + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.ui_utils.print +_status + + + + + +Node1->Node4 + + + + + +Node5 + + +penify_hook.ui_utils.print +_success + + + + + +Node1->Node5 + + + + + +Node7 + + +penify_hook.git_analyzer. +GitDocGenHook.process_file + + + + + +Node1->Node7 + + + + + +Node9 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node1->Node9 + + + + + +Node12 + + +penify_hook.ui_utils.update +_stage + + + + + +Node1->Node12 + + + + + +Node3 + + +penify_hook.ui_utils.format_info + + + + + +Node2->Node3 + + + + + +Node6 + + +penify_hook.ui_utils.format +_success + + + + + +Node5->Node6 + + + + + +Node8 + + +penify_hook.git_analyzer. +GitDocGenHook.get_modified_lines + + + + + +Node7->Node8 + + + + + +Node10 + + +penify_hook.ui_utils.print +_warning + + + + + +Node9->Node10 + + + + + +Node9->Node12 + + + + + +Node11 + + +penify_hook.ui_utils.format +_warning + + + + + +Node10->Node11 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.md5 b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.md5 new file mode 100644 index 0000000..a24f9ee --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.md5 @@ -0,0 +1 @@ +e106885ca4b06113170f86da8447c21c \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.svg b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.svg new file mode 100644 index 0000000..ac0606c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.file_analyzer.FileAnalyzerGenHook.print_processing + + + +Node1 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.print +_processing + + + + + +Node2 + + +penify_hook.ui_utils.format +_file_path + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.md5 new file mode 100644 index 0000000..320340b --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.md5 @@ -0,0 +1 @@ +2ce8b70614e0bc292a08fd5461334e23 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.svg b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.svg new file mode 100644 index 0000000..f0b7c4a --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.svg @@ -0,0 +1,55 @@ + + + + + + +penify_hook.folder_analyzer.FolderAnalyzerGenHook + + + +Node1 + + +penify_hook.folder +_analyzer.FolderAnalyzerGenHook + ++ dir_path + ++ __init__() ++ list_all_files_in_dir() ++ run() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.md5 b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.md5 new file mode 100644 index 0000000..320340b --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.md5 @@ -0,0 +1 @@ +2ce8b70614e0bc292a08fd5461334e23 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.svg b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.svg new file mode 100644 index 0000000..f0b7c4a --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.svg @@ -0,0 +1,55 @@ + + + + + + +penify_hook.folder_analyzer.FolderAnalyzerGenHook + + + +Node1 + + +penify_hook.folder +_analyzer.FolderAnalyzerGenHook + ++ dir_path + ++ __init__() ++ list_all_files_in_dir() ++ run() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.md5 b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.md5 new file mode 100644 index 0000000..4aed41f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.md5 @@ -0,0 +1 @@ +e2a0ef57ef0713a63ba1c8ee5591e9f5 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.svg b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.svg new file mode 100644 index 0000000..ba8e0cb --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.svg @@ -0,0 +1,41 @@ + + + + + + +penify_hook.folder_analyzer.FolderAnalyzerGenHook.list_all_files_in_dir + + + +Node1 + + +penify_hook.folder +_analyzer.FolderAnalyzerGen +Hook.list_all_files_in_dir + + + + + +Node2 + + +penify_hook.folder +_analyzer.FolderAnalyzerGen +Hook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.md5 b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.md5 new file mode 100644 index 0000000..88516d8 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.md5 @@ -0,0 +1 @@ +a3c6817cbc08f61a1a5f2b81334ae3dc \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.svg b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.svg new file mode 100644 index 0000000..47f7147 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.svg @@ -0,0 +1,41 @@ + + + + + + +penify_hook.folder_analyzer.FolderAnalyzerGenHook.run + + + +Node1 + + +penify_hook.folder +_analyzer.FolderAnalyzerGen +Hook.run + + + + + +Node2 + + +penify_hook.folder +_analyzer.FolderAnalyzerGen +Hook.list_all_files_in_dir + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.md5 new file mode 100644 index 0000000..8b8aff5 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.md5 @@ -0,0 +1 @@ +d285fcb980d93312bfad049f92895ba8 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.svg new file mode 100644 index 0000000..0383f84 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.svg @@ -0,0 +1,58 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook + + + ++ __init__() ++ get_modified_files +_in_last_commit() ++ get_modified_lines() ++ process_file() ++ run() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.md5 new file mode 100644 index 0000000..8b8aff5 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.md5 @@ -0,0 +1 @@ +d285fcb980d93312bfad049f92895ba8 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.svg new file mode 100644 index 0000000..0383f84 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.svg @@ -0,0 +1,58 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook + + + ++ __init__() ++ get_modified_files +_in_last_commit() ++ get_modified_lines() ++ process_file() ++ run() + + + + + +Node2 + + +penify_hook.base_analyzer. +BaseAnalyzer + ++ folder_path ++ repo_path ++ repo ++ repo_details ++ relative_file_path ++ api_client ++ supported_file_types + ++ __init__() + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.md5 new file mode 100644 index 0000000..bfda978 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.md5 @@ -0,0 +1 @@ +d30b2fe6c8ef2ddf32a8fa6ab13a25f2 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.svg new file mode 100644 index 0000000..a0f9a52 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.process_file + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.process_file + + + + + +Node2 + + +penify_hook.git_analyzer. +GitDocGenHook.get_modified_lines + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.md5 new file mode 100644 index 0000000..519d9fc --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.md5 @@ -0,0 +1 @@ +4e6accfb0097a03bb56e2f390d46b980 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.svg new file mode 100644 index 0000000..d14f6c2 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.svg @@ -0,0 +1,55 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.process_file + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.process_file + + + + + +Node2 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.md5 new file mode 100644 index 0000000..e94ad2c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.md5 @@ -0,0 +1 @@ +c545389fcb803268668d7fa34c6d8fd9 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.svg new file mode 100644 index 0000000..8cb348b --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.get_modified_files_in_last_commit + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.get_modified +_files_in_last_commit + + + + + +Node2 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.md5 new file mode 100644 index 0000000..cda212c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.md5 @@ -0,0 +1 @@ +4498c89a026edc471fa55e435c85053e \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.svg new file mode 100644 index 0000000..03cf8de --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.svg @@ -0,0 +1,268 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.run + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node2 + + +penify_hook.ui_utils.create +_progress_bar + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.git_analyzer. +GitDocGenHook.get_modified +_files_in_last_commit + + + + + +Node1->Node4 + + + + + +Node5 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node5 + + + + + +Node6 + + +penify_hook.ui_utils.print +_processing + + + + + +Node1->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.print +_status + + + + + +Node1->Node8 + + + + + +Node9 + + +penify_hook.ui_utils.print +_success + + + + + +Node1->Node9 + + + + + +Node11 + + +penify_hook.git_analyzer. +GitDocGenHook.process_file + + + + + +Node1->Node11 + + + + + +Node13 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node1->Node13 + + + + + +Node3 + + +penify_hook.ui_utils.format_info + + + + + +Node2->Node3 + + + + + +Node5->Node3 + + + + + +Node7 + + +penify_hook.ui_utils.format +_file_path + + + + + +Node6->Node7 + + + + + +Node10 + + +penify_hook.ui_utils.format +_success + + + + + +Node9->Node10 + + + + + +Node12 + + +penify_hook.git_analyzer. +GitDocGenHook.get_modified_lines + + + + + +Node11->Node12 + + + + + +Node14 + + +penify_hook.ui_utils.print +_warning + + + + + +Node13->Node14 + + + + + +Node16 + + +penify_hook.ui_utils.update +_stage + + + + + +Node13->Node16 + + + + + +Node15 + + +penify_hook.ui_utils.format +_warning + + + + + +Node14->Node15 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.md5 new file mode 100644 index 0000000..4c4eb97 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.md5 @@ -0,0 +1 @@ +eb87828bf186415180fe0c4a9a69bffa \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.svg new file mode 100644 index 0000000..cec3173 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.svg @@ -0,0 +1,29 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.__init__ + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.__init__ + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.md5 new file mode 100644 index 0000000..756ea69 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.md5 @@ -0,0 +1 @@ +3a80069fcc09aa58b795925a04c3a1a9 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.svg new file mode 100644 index 0000000..caf1235 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.svg @@ -0,0 +1,29 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.__init__ + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.__init__ + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.md5 b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.md5 new file mode 100644 index 0000000..5dc8e1b --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.md5 @@ -0,0 +1 @@ +1071229abc0a24fe1359fe7763b4c8d0 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.svg b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.svg new file mode 100644 index 0000000..f0cc7fa --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.svg @@ -0,0 +1,71 @@ + + + + + + +penify_hook.git_analyzer.GitDocGenHook.get_modified_lines + + + +Node1 + + +penify_hook.git_analyzer. +GitDocGenHook.get_modified_lines + + + + + +Node2 + + +penify_hook.git_analyzer. +GitDocGenHook.process_file + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node2->Node4 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.md5 new file mode 100644 index 0000000..fd79a8c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.md5 @@ -0,0 +1 @@ +6c94c8bb54063a87c9a021e499d2535a \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.svg new file mode 100644 index 0000000..9d17916 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.svg @@ -0,0 +1,44 @@ + + + + + + +penify_hook.jira_client.JiraClient + + + +Node1 + + +penify_hook.jira_client. +JiraClient + ++ jira_url ++ jira_user ++ jira_api_token ++ jira_client + ++ __init__() ++ is_connected() ++ extract_issue_keys +_from_branch() ++ extract_issue_keys() ++ get_issue_details() ++ add_comment() ++ update_issue_status() ++ format_commit_message +_with_jira_info() ++ get_detailed_issue +_context() ++ get_commit_context +_from_issues() ++ enhance_commit_message() + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.md5 new file mode 100644 index 0000000..15413c7 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.md5 @@ -0,0 +1 @@ +e49f7a18c7f7394bc3ba168c4b7dfcbf \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.svg new file mode 100644 index 0000000..dbff1cc --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.svg @@ -0,0 +1,176 @@ + + + + + + +penify_hook.jira_client.JiraClient.is_connected + + + +Node1 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.add_comment + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.jira_client. +JiraClient.format_commit +_message_with_jira_info + + + + + +Node1->Node4 + + + + + +Node5 + + +penify_hook.jira_client. +JiraClient.get_commit +_context_from_issues + + + + + +Node1->Node5 + + + + + +Node6 + + +penify_hook.jira_client. +JiraClient.get_detailed +_issue_context + + + + + +Node1->Node6 + + + + + +Node7 + + +penify_hook.jira_client. +JiraClient.get_issue_details + + + + + +Node1->Node7 + + + + + +Node8 + + +penify_hook.jira_client. +JiraClient.update_issue +_status + + + + + +Node1->Node8 + + + + + +Node2->Node2 + + + + + +Node4->Node3 + + + + + +Node5->Node3 + + + + + +Node6->Node5 + + + + + +Node7->Node4 + + + + + +Node7->Node5 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.md5 new file mode 100644 index 0000000..bf358a8 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.md5 @@ -0,0 +1 @@ +c2b8f7eecd95ef8d0186d7f206ad610c \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.svg new file mode 100644 index 0000000..a105cc3 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.svg @@ -0,0 +1,54 @@ + + + + + + +penify_hook.jira_client.JiraClient.extract_issue_keys_from_branch + + + +Node1 + + +penify_hook.jira_client. +JiraClient.extract_issue +_keys_from_branch + + + + + +Node2 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.ui_utils.format_info + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.md5 new file mode 100644 index 0000000..c70fc7f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.md5 @@ -0,0 +1 @@ +3fdd0ff288b79c613c0ccbdde81f6b44 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.svg new file mode 100644 index 0000000..505f77c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.svg @@ -0,0 +1,78 @@ + + + + + + +penify_hook.jira_client.JiraClient.format_commit_message_with_jira_info + + + +Node1 + + +penify_hook.jira_client. +JiraClient.format_commit +_message_with_jira_info + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.extract_issue_keys + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.get_issue_details + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node4 + + + + + +Node3->Node4 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.md5 new file mode 100644 index 0000000..58d4f7d --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.md5 @@ -0,0 +1 @@ +e64b34f639342bc29f69697ff85b6115 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.svg new file mode 100644 index 0000000..4afaaf0 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.svg @@ -0,0 +1,41 @@ + + + + + + +penify_hook.jira_client.JiraClient.format_commit_message_with_jira_info + + + +Node1 + + +penify_hook.jira_client. +JiraClient.format_commit +_message_with_jira_info + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.md5 new file mode 100644 index 0000000..e84f7d7 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.md5 @@ -0,0 +1 @@ +ce0d7d39675e66eb580380759195be0e \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.svg new file mode 100644 index 0000000..5494c0f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.jira_client.JiraClient.get_issue_details + + + +Node1 + + +penify_hook.jira_client. +JiraClient.get_issue_details + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.md5 new file mode 100644 index 0000000..584c012 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.md5 @@ -0,0 +1 @@ +b4d0f6392752d140ca4858cea5527f74 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.svg new file mode 100644 index 0000000..28ed8fb --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.svg @@ -0,0 +1,80 @@ + + + + + + +penify_hook.jira_client.JiraClient.get_issue_details + + + +Node1 + + +penify_hook.jira_client. +JiraClient.get_issue_details + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.format_commit +_message_with_jira_info + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.jira_client. +JiraClient.get_commit +_context_from_issues + + + + + +Node1->Node4 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node2->Node3 + + + + + +Node4->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.md5 new file mode 100644 index 0000000..d953518 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.md5 @@ -0,0 +1 @@ +9194291c6b536fb2aa39473066ce3d57 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.svg new file mode 100644 index 0000000..d1c93aa --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.svg @@ -0,0 +1,153 @@ + + + + + + +penify_hook.jira_client.JiraClient.enhance_commit_message + + + +Node1 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.format_commit +_message_with_jira_info + + + + + +Node1->Node2 + + + + + +Node5 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node5 + + + + + +Node6 + + +penify_hook.jira_client. +JiraClient.get_commit +_context_from_issues + + + + + +Node1->Node6 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.extract_issue_keys + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.jira_client. +JiraClient.get_issue_details + + + + + +Node2->Node4 + + + + + +Node2->Node5 + + + + + +Node4->Node5 + + + + + +Node6->Node4 + + + + + +Node6->Node5 + + + + + +Node7 + + +penify_hook.jira_client. +JiraClient.get_detailed +_issue_context + + + + + +Node6->Node7 + + + + + +Node7->Node5 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.md5 new file mode 100644 index 0000000..ea4f60f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.md5 @@ -0,0 +1 @@ +01a09828002214953a0e4ce5a004f82b \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.svg new file mode 100644 index 0000000..9b98fd2 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.svg @@ -0,0 +1,45 @@ + + + + + + +penify_hook.jira_client.JiraClient.add_comment + + + +Node1 + + +penify_hook.jira_client. +JiraClient.add_comment + + + + + +Node1->Node1 + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.md5 new file mode 100644 index 0000000..8cce519 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.md5 @@ -0,0 +1 @@ +be0799c63ed63825acfa4aefd053a607 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.svg new file mode 100644 index 0000000..dcc9f2d --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.svg @@ -0,0 +1,29 @@ + + + + + + +penify_hook.jira_client.JiraClient.add_comment + + + +Node1 + + +penify_hook.jira_client. +JiraClient.add_comment + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.md5 new file mode 100644 index 0000000..562794f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.md5 @@ -0,0 +1 @@ +de5b0ac337604f2c79dc74aaee0a1763 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.svg new file mode 100644 index 0000000..93d705f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.jira_client.JiraClient.get_detailed_issue_context + + + +Node1 + + +penify_hook.jira_client. +JiraClient.get_detailed +_issue_context + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.md5 new file mode 100644 index 0000000..cc19180 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.md5 @@ -0,0 +1 @@ +8ed68fcd41631bf9876f85ae6b4b3de2 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.svg new file mode 100644 index 0000000..4c91c11 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.svg @@ -0,0 +1,58 @@ + + + + + + +penify_hook.jira_client.JiraClient.get_detailed_issue_context + + + +Node1 + + +penify_hook.jira_client. +JiraClient.get_detailed +_issue_context + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.get_commit +_context_from_issues + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.md5 new file mode 100644 index 0000000..b855a20 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.md5 @@ -0,0 +1 @@ +2e42fe22a9070fc3f543991e99faf205 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.svg new file mode 100644 index 0000000..aff53e7 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +penify_hook.jira_client.JiraClient.update_issue_status + + + +Node1 + + +penify_hook.jira_client. +JiraClient.update_issue +_status + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.md5 new file mode 100644 index 0000000..f452c00 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.md5 @@ -0,0 +1 @@ +f5fed9d6bb8f646e32b31343d031871d \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.svg new file mode 100644 index 0000000..f764e5c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.svg @@ -0,0 +1,57 @@ + + + + + + +penify_hook.jira_client.JiraClient.extract_issue_keys + + + +Node1 + + +penify_hook.jira_client. +JiraClient.extract_issue_keys + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.format_commit +_message_with_jira_info + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.md5 new file mode 100644 index 0000000..990f237 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.md5 @@ -0,0 +1 @@ +e8676c5f3006c0807c1fe30ed75a7701 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.svg new file mode 100644 index 0000000..7230635 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.svg @@ -0,0 +1,85 @@ + + + + + + +penify_hook.jira_client.JiraClient.get_commit_context_from_issues + + + +Node1 + + +penify_hook.jira_client. +JiraClient.get_commit +_context_from_issues + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.get_detailed +_issue_context + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.jira_client. +JiraClient.is_connected + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.jira_client. +JiraClient.get_issue_details + + + + + +Node1->Node4 + + + + + +Node2->Node3 + + + + + +Node4->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.md5 b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.md5 new file mode 100644 index 0000000..3221326 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.md5 @@ -0,0 +1 @@ +8e9085e7e96a72eae434ab3b9bb34f71 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.svg b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.svg new file mode 100644 index 0000000..c8bea4f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.svg @@ -0,0 +1,41 @@ + + + + + + +penify_hook.jira_client.JiraClient.get_commit_context_from_issues + + + +Node1 + + +penify_hook.jira_client. +JiraClient.get_commit +_context_from_issues + + + + + +Node2 + + +penify_hook.jira_client. +JiraClient.enhance_commit +_message + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.md5 new file mode 100644 index 0000000..6db17d2 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.md5 @@ -0,0 +1 @@ +98e4897c5b45a162671e50e760d299ce \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.svg b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.svg new file mode 100644 index 0000000..40f016c --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.svg @@ -0,0 +1,29 @@ + + + + + + +penify_hook.llm_client.LLMClient + + + +Node1 + + +penify_hook.llm_client.LLMClient + ++ model +- _litellm + ++ __init__() ++ litellm() ++ generate_commit_summary() + + + + + diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.md5 b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.md5 new file mode 100644 index 0000000..5ae4b79 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.md5 @@ -0,0 +1 @@ +3a38b34ed8236aa424f3ba243fba3cf0 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.svg b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.svg new file mode 100644 index 0000000..9c8fc75 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.svg @@ -0,0 +1,38 @@ + + + + + + +penify_hook.llm_client.LLMClient.generate_commit_summary + + + +Node1 + + +penify_hook.llm_client.LLMClient.generate +_commit_summary + + + + + +Node2 + + +penify_hook.llm_client.LLMClient.litellm + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.md5 b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.md5 new file mode 100644 index 0000000..6c5244f --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.md5 @@ -0,0 +1 @@ +2232db7a39aade439b305a1e3373c005 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.svg b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.svg new file mode 100644 index 0000000..f54f300 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.llm_client.LLMClient.generate_commit_summary + + + +Node1 + + +penify_hook.llm_client.LLMClient.generate +_commit_summary + + + + + +Node2 + + +penify_hook.api_client.APIClient.generate +_commit_summary_with_llm + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.md5 b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.md5 new file mode 100644 index 0000000..22a2946 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.md5 @@ -0,0 +1 @@ +3dd9f4364bc4c50da31157ac03a3e97f \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.svg b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.svg new file mode 100644 index 0000000..dd6e7a9 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.svg @@ -0,0 +1,54 @@ + + + + + + +penify_hook.llm_client.LLMClient.litellm + + + +Node1 + + +penify_hook.llm_client.LLMClient.litellm + + + + + +Node2 + + +penify_hook.llm_client.LLMClient.generate +_commit_summary + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.api_client.APIClient.generate +_commit_summary_with_llm + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.md5 b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.md5 new file mode 100644 index 0000000..2e3ae13 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.md5 @@ -0,0 +1 @@ +ae33ddd5f5a4f2a38ac959e4302206a1 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.svg b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.svg new file mode 100644 index 0000000..ab658ad --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.svg @@ -0,0 +1,46 @@ + + + + + + +penify_hook.utils.GitRepoNotFoundError + + + +Node1 + + +penify_hook.utils.GitRepo +NotFoundError + + + + + + + + + +Node2 + + +Exception + + + + + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.md5 b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.md5 new file mode 100644 index 0000000..2e3ae13 --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.md5 @@ -0,0 +1 @@ +ae33ddd5f5a4f2a38ac959e4302206a1 \ No newline at end of file diff --git a/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.svg b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.svg new file mode 100644 index 0000000..ab658ad --- /dev/null +++ b/docs/rtf/classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.svg @@ -0,0 +1,46 @@ + + + + + + +penify_hook.utils.GitRepoNotFoundError + + + +Node1 + + +penify_hook.utils.GitRepo +NotFoundError + + + + + + + + + +Node2 + + +Exception + + + + + + + + + +Node2->Node1 + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.md5 new file mode 100644 index 0000000..9d383d8 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.md5 @@ -0,0 +1 @@ +01c384c51b9b9d20ecd5af3519740055 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.svg new file mode 100644 index 0000000..71f1b91 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.svg @@ -0,0 +1,42 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands + + + ++ mock_api_client() ++ mock_llm_client() ++ mock_jira_client() ++ mock_commit_doc_gen() ++ mock_git_folder_search() ++ mock_print_functions() ++ test_commit_code_with +_llm_client() ++ test_commit_code_with +_jira_client() ++ test_commit_code_with +_jira_connection_failure() ++ test_commit_code_error +_handling() ++ test_setup_commit_parser() ++ test_handle_commit() + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.md5 new file mode 100644 index 0000000..f317412 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.md5 @@ -0,0 +1 @@ +fac6736890d3e6569a3e562221e2e80c \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.svg new file mode 100644 index 0000000..b9d2a82 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.svg @@ -0,0 +1,156 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands.test_commit_code_error_handling + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.ui_utils.print +_error + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.ui_utils.print_info + + + + + +Node2->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2->Node7 + + + + + +Node9 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.ui_utils.format +_error + + + + + +Node3->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.format_info + + + + + +Node5->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.format +_warning + + + + + +Node7->Node8 + + + + + +Node9->Node9 + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.md5 new file mode 100644 index 0000000..6ec9086 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.md5 @@ -0,0 +1 @@ +cae6ed50d17895098d586359b58517cc \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.svg new file mode 100644 index 0000000..7f0ecd2 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands.test_setup_commit_parser + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands.test +_setup_commit_parser + + + + + +Node2 + + +penify_hook.commands.commit +_commands.setup_commit_parser + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.md5 new file mode 100644 index 0000000..332ac4f --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.md5 @@ -0,0 +1 @@ +ef8182faf1bcd63d3487614530947b10 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.svg new file mode 100644 index 0000000..f1760ee --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.svg @@ -0,0 +1,317 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands.test_handle_commit + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node2 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node2->Node3 + + + + + +Node6 + + +penify_hook.ui_utils.print_info + + + + + +Node2->Node6 + + + + + +Node11 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node2->Node11 + + + + + +Node14 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node2->Node14 + + + + + +Node15 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2->Node15 + + + + + +Node4 + + +penify_hook.ui_utils.print +_error + + + + + +Node3->Node4 + + + + + +Node3->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.print +_warning + + + + + +Node3->Node8 + + + + + +Node10 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node3->Node10 + + + + + +Node5 + + +penify_hook.ui_utils.format +_error + + + + + +Node4->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.format_info + + + + + +Node6->Node7 + + + + + +Node9 + + +penify_hook.ui_utils.format +_warning + + + + + +Node8->Node9 + + + + + +Node10->Node10 + + + + + +Node12 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node11->Node12 + + + + + +Node13 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node11->Node13 + + + + + +Node13->Node10 + + + + + +Node13->Node13 + + + + + +Node14->Node12 + + + + + +Node14->Node13 + + + + + +Node15->Node12 + + + + + +Node15->Node13 + + + + + +Node16 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node15->Node16 + + + + + +Node16->Node10 + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.md5 new file mode 100644 index 0000000..9c174cc --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.md5 @@ -0,0 +1 @@ +acd28568eb3edcfc33ca2521297fd075 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.svg new file mode 100644 index 0000000..e81ff91 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.svg @@ -0,0 +1,156 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands.test_commit_code_with_llm_client + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.ui_utils.print +_error + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.ui_utils.print_info + + + + + +Node2->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2->Node7 + + + + + +Node9 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.ui_utils.format +_error + + + + + +Node3->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.format_info + + + + + +Node5->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.format +_warning + + + + + +Node7->Node8 + + + + + +Node9->Node9 + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.md5 new file mode 100644 index 0000000..080d356 --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.md5 @@ -0,0 +1 @@ +8bc1cc2849f225faaeab1719b6c0a3d6 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.svg new file mode 100644 index 0000000..60496ec --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.svg @@ -0,0 +1,157 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands.test_commit_code_with_jira_connection_failure + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.ui_utils.print +_error + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.ui_utils.print_info + + + + + +Node2->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2->Node7 + + + + + +Node9 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.ui_utils.format +_error + + + + + +Node3->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.format_info + + + + + +Node5->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.format +_warning + + + + + +Node7->Node8 + + + + + +Node9->Node9 + + + + + diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.md5 b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.md5 new file mode 100644 index 0000000..a77222b --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.md5 @@ -0,0 +1 @@ +2b4709da9a40be7a45efe895e73cc31f \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.svg b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.svg new file mode 100644 index 0000000..6b812fa --- /dev/null +++ b/docs/rtf/classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.svg @@ -0,0 +1,156 @@ + + + + + + +tests.test_commit_commands.TestCommitCommands.test_commit_code_with_jira_client + + + +Node1 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.ui_utils.print +_error + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.ui_utils.print_info + + + + + +Node2->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2->Node7 + + + + + +Node9 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.ui_utils.format +_error + + + + + +Node3->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.format_info + + + + + +Node5->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.format +_warning + + + + + +Node7->Node8 + + + + + +Node9->Node9 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.md5 new file mode 100644 index 0000000..eb46690 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.md5 @@ -0,0 +1 @@ +2db6cf58d997b43a776fb21752d4aa29 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.svg new file mode 100644 index 0000000..9daa237 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.svg @@ -0,0 +1,50 @@ + + + + + + +tests.test_config_commands.TestConfigCommands + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands + + + ++ test_get_penify_config +_existing_dir() ++ test_get_penify_config +_new_dir() ++ test_get_llm_config +_exists() ++ test_get_llm_config +_empty() ++ test_get_llm_config +_invalid_json() ++ test_get_jira_config +_exists() ++ test_save_llm_config +_success() ++ test_save_llm_config +_failure() ++ test_save_jira_config +_success() ++ test_get_token_from +_env() ++ test_get_token_from +_config() ++ test_get_token_not +_found() + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.md5 new file mode 100644 index 0000000..9e0bad2 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.md5 @@ -0,0 +1 @@ +fe055e22847261fb4e8e965247fa63e4 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.svg new file mode 100644 index 0000000..c43c56a --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.svg @@ -0,0 +1,62 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_penify_config_existing_dir + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_penify_config_existing_dir + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.md5 new file mode 100644 index 0000000..9cef76a --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.md5 @@ -0,0 +1 @@ +28bc7f826bf5c37f1e543c6a2217c011 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.svg new file mode 100644 index 0000000..c8128c0 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.svg @@ -0,0 +1,123 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_token_from_env + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_env + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node2->Node4 + + + + + +Node6 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node6 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + +Node6->Node5 + + + + + +Node6->Node6 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.md5 new file mode 100644 index 0000000..179211c --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.md5 @@ -0,0 +1 @@ +66249d926cb6fd81bdf9ba46dc56d466 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.svg new file mode 100644 index 0000000..3eded28 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.svg @@ -0,0 +1,62 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_penify_config_new_dir + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_penify_config_new_dir + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.md5 new file mode 100644 index 0000000..494b2db --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.md5 @@ -0,0 +1 @@ +fe3072609a9a0bf3d14e3143add0e6da \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.svg new file mode 100644 index 0000000..64b8b29 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.svg @@ -0,0 +1,123 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_token_not_found + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_not_found + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node2->Node4 + + + + + +Node6 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node6 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + +Node6->Node5 + + + + + +Node6->Node6 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.md5 new file mode 100644 index 0000000..bdddb02 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.md5 @@ -0,0 +1 @@ +6604e171883373f917ba1e50c7dcf2a8 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.svg new file mode 100644 index 0000000..d06ccaf --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.svg @@ -0,0 +1,101 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_llm_config_invalid_json + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_invalid_json + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node4 + + + + + +Node4->Node4 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.md5 new file mode 100644 index 0000000..49db9b2 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.md5 @@ -0,0 +1 @@ +18a45266c6274df8d06c6771aea4d3ce \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.svg new file mode 100644 index 0000000..ac12bca --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.svg @@ -0,0 +1,123 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_token_from_config + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node2->Node4 + + + + + +Node6 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node6 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + +Node6->Node5 + + + + + +Node6->Node6 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.md5 new file mode 100644 index 0000000..d5a551d --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.md5 @@ -0,0 +1 @@ +2efae0628f3580e167ff4e2e9744ff76 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.svg new file mode 100644 index 0000000..c7427eb --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.svg @@ -0,0 +1,62 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_save_llm_config_failure + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_save_llm_config_failure + + + + + +Node2 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.md5 new file mode 100644 index 0000000..b6d0832 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.md5 @@ -0,0 +1 @@ +ccb36b28b36810b7debb14198aa8c840 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.svg new file mode 100644 index 0000000..15e3aaa --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.svg @@ -0,0 +1,101 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_llm_config_empty + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_empty + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node4 + + + + + +Node4->Node4 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.md5 new file mode 100644 index 0000000..616400e --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.md5 @@ -0,0 +1 @@ +2dda560e911927ca62424d428f826e98 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.svg new file mode 100644 index 0000000..094e23c --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.svg @@ -0,0 +1,62 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_save_llm_config_success + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_save_llm_config_success + + + + + +Node2 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.md5 new file mode 100644 index 0000000..5292fed --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.md5 @@ -0,0 +1 @@ +8a521fb6ddaca64c6678d226bec595a0 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.svg new file mode 100644 index 0000000..6141687 --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.svg @@ -0,0 +1,101 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_llm_config_exists + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_exists + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node4 + + + + + +Node4->Node4 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.md5 new file mode 100644 index 0000000..904ab8d --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.md5 @@ -0,0 +1 @@ +6fbf377ddd24e2b0afa956a95f55e6c5 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.svg new file mode 100644 index 0000000..57a064c --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.svg @@ -0,0 +1,101 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_get_jira_config_exists + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_get_jira_config_exists + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node4 + + + + + +Node4->Node4 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.md5 b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.md5 new file mode 100644 index 0000000..68d6c1c --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.md5 @@ -0,0 +1 @@ +2e054bb79c0b6f45c4788678aac6e514 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.svg b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.svg new file mode 100644 index 0000000..8bd749b --- /dev/null +++ b/docs/rtf/classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.svg @@ -0,0 +1,62 @@ + + + + + + +tests.test_config_commands.TestConfigCommands.test_save_jira_config_success + + + +Node1 + + +tests.test_config_commands. +TestConfigCommands.test +_save_jira_config_success + + + + + +Node2 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.md5 b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.md5 new file mode 100644 index 0000000..f0a528b --- /dev/null +++ b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.md5 @@ -0,0 +1 @@ +ab8cbd57a4ebb302c58c19a4efbc1c6e \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.svg b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.svg new file mode 100644 index 0000000..acbac22 --- /dev/null +++ b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.svg @@ -0,0 +1,30 @@ + + + + + + +tests.test_web_config.TestWebConfig + + + +Node1 + + +tests.test_web_config.Test +WebConfig + + + ++ test_config_llm_web +_server_setup() ++ test_config_jira_web +_server_setup() + + + + + diff --git a/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.md5 b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.md5 new file mode 100644 index 0000000..064b512 --- /dev/null +++ b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.md5 @@ -0,0 +1 @@ +40be6a2b68a00531af40fd3546a6f158 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.svg b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.svg new file mode 100644 index 0000000..bf31fdb --- /dev/null +++ b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.svg @@ -0,0 +1,139 @@ + + + + + + +tests.test_web_config.TestWebConfig.test_config_jira_web_server_setup + + + +Node1 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node2 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node2->Node3 + + + + + +Node7 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node2->Node7 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node3->Node4 + + + + + +Node5 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node3->Node5 + + + + + +Node5->Node5 + + + + + +Node6 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node5->Node6 + + + + + +Node6->Node6 + + + + + +Node7->Node6 + + + + + diff --git a/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.md5 b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.md5 new file mode 100644 index 0000000..2632d9a --- /dev/null +++ b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.md5 @@ -0,0 +1 @@ +5ca25c9e4be6eb96370b0328e2a5e679 \ No newline at end of file diff --git a/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.svg b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.svg new file mode 100644 index 0000000..1f3a16f --- /dev/null +++ b/docs/rtf/classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +tests.test_web_config.TestWebConfig.test_config_llm_web_server_setup + + + +Node1 + + +tests.test_web_config.Test +WebConfig.test_config_llm +_web_server_setup + + + + + +Node2 + + +penify_hook.commands.config +_commands.config_llm_web + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c.rtf b/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c.rtf new file mode 100644 index 0000000..d54cf96 --- /dev/null +++ b/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c.rtf @@ -0,0 +1,137 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033 +{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green128\blue0;\red96\green64\blue32;\rede0\green128\blue0;\red128\green0\blue0;\red128\green96\blue32;\red0\green32\blue128;\red0\green128\blue128;\red255\green0\blue255;\red0\green0\blue0;\red112\green0\blue112;\red255\green0\blue0;} +{\stylesheet +{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;} +{\paperw11900\paperh16840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect} +{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;} +{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;} +{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;} +{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;} +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;} +{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;} +{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;} +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;} +{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;} +{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;} +{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;} +{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;} +{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;} +{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;} +{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;} +{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;} +{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;} +{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;} +{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;} +{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;} +{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;} +{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext50 Code Example 9;} +{\s50\li3600\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext51 Code Example 10;} +{\s51\li3960\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext52 Code Example 11;} +{\s52\li4320\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 12;} +{\s53\li4680\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 13;} +{\s60\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext61 List Continue 0;} +{\s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext62 List Continue 1;} +{\s62\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext63 List Continue 2;} +{\s63\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext64 List Continue 3;} +{\s64\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext65 List Continue 4;} +{\s65\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext66 List Continue 5;} +{\s66\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext67 List Continue 6;} +{\s67\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext68 List Continue 7;} +{\s68\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext69 List Continue 8;} +{\s69\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext70 List Continue 9;} +{\s70\li3600\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext71 List Continue 10;} +{\s71\li3960\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext72 List Continue 11;} +{\s72\li4320\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 12;} +{\s73\li4680\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 13;} +{\s80\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext81 DescContinue 0;} +{\s81\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext82 DescContinue 1;} +{\s82\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext83 DescContinue 2;} +{\s83\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext84 DescContinue 3;} +{\s84\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext85 DescContinue 4;} +{\s85\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext86 DescContinue 5;} +{\s86\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext87 DescContinue 6;} +{\s87\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext88 DescContinue 7;} +{\s88\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext89 DescContinue 8;} +{\s89\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext90 DescContinue 9;} +{\s90\li3600\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext91 DescContinue 10;} +{\s91\li3960\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext92 DescContinue 11;} +{\s92\li4320\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 12;} +{\s93\li4680\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 13;} +{\s100\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext101 LatexTOC 0;} +{\s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext102 LatexTOC 1;} +{\s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext103 LatexTOC 2;} +{\s103\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext104 LatexTOC 3;} +{\s104\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext105 LatexTOC 4;} +{\s105\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext106 LatexTOC 5;} +{\s106\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext107 LatexTOC 6;} +{\s107\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext108 LatexTOC 7;} +{\s108\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext109 LatexTOC 8;} +{\s109\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext110 LatexTOC 9;} +{\s110\li3600\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext111 LatexTOC 10;} +{\s111\li3960\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext112 LatexTOC 11;} +{\s112\li4320\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 12;} +{\s113\li4680\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 13;} +{\s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext121 \sautoupd List Bullet 0;} +{\s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext122 \sautoupd List Bullet 1;} +{\s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext123 \sautoupd List Bullet 2;} +{\s123\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext124 \sautoupd List Bullet 3;} +{\s124\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext125 \sautoupd List Bullet 4;} +{\s125\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext126 \sautoupd List Bullet 5;} +{\s126\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext127 \sautoupd List Bullet 6;} +{\s127\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext128 \sautoupd List Bullet 7;} +{\s128\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext129 \sautoupd List Bullet 8;} +{\s129\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext130 \sautoupd List Bullet 9;} +{\s130\fi-360\li3960\widctlpar\jclisttab\tx3960{\*\pn \pnlvlbody\ilvl0\ls11\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext131 \sautoupd List Bullet 10;} +{\s131\fi-360\li4320\widctlpar\jclisttab\tx4320{\*\pn \pnlvlbody\ilvl0\ls12\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext132 \sautoupd List Bullet 11;} +{\s132\fi-360\li4680\widctlpar\jclisttab\tx4680{\*\pn \pnlvlbody\ilvl0\ls13\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 12;} +{\s133\fi-360\li5040\widctlpar\jclisttab\tx5040{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 13;} +{\s140\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext141 \sautoupd List Enum 0;} +{\s141\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext142 \sautoupd List Enum 1;} +{\s142\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext143 \sautoupd List Enum 2;} +{\s143\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext144 \sautoupd List Enum 3;} +{\s144\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext145 \sautoupd List Enum 4;} +{\s145\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext146 \sautoupd List Enum 5;} +{\s146\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext147 \sautoupd List Enum 6;} +{\s147\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext148 \sautoupd List Enum 7;} +{\s148\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext149 \sautoupd List Enum 8;} +{\s149\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext150 \sautoupd List Enum 9;} +{\s150\fi-360\li3960\widctlpar\fs20\cgrid \sbasedon0 \snext151 \sautoupd List Enum 10;} +{\s151\fi-360\li4320\widctlpar\fs20\cgrid \sbasedon0 \snext152 \sautoupd List Enum 11;} +{\s152\fi-360\li4680\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 12;} +{\s153\fi-360\li5040\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 13;} +} +{\comment begin body} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests Directory Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests Directory Reference} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests Directory Reference} +{\bkmkstart AAAAAAAAPA} +{\bkmkend AAAAAAAAPA} +Directory dependency graph for tests:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "dir_063e2d5fe58a131099a7fe4200cca78c_dep.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Files\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b __init__.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b conftest.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b test_commit_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b test_config_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b test_doc_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b test_web_config.py}\par +} +} \ No newline at end of file diff --git a/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c_dep.md5 b/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c_dep.md5 new file mode 100644 index 0000000..afb9081 --- /dev/null +++ b/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c_dep.md5 @@ -0,0 +1 @@ +fdbdbdbe253c547a3b41063e5036418d \ No newline at end of file diff --git a/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c_dep.svg b/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c_dep.svg new file mode 100644 index 0000000..53f13f5 --- /dev/null +++ b/docs/rtf/dir_063e2d5fe58a131099a7fe4200cca78c_dep.svg @@ -0,0 +1,30 @@ + + + + + + +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests + + +clusterdir_b3b22d2ab7966b65f6b237e3231b41be + + +penify-cli + + + + + +dir_063e2d5fe58a131099a7fe4200cca78c + + +tests + + + + + diff --git a/docs/rtf/dir_1648a057408aae8db85b8e3797335623.rtf b/docs/rtf/dir_1648a057408aae8db85b8e3797335623.rtf new file mode 100644 index 0000000..32faca0 --- /dev/null +++ b/docs/rtf/dir_1648a057408aae8db85b8e3797335623.rtf @@ -0,0 +1,119 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033 +{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green128\blue0;\red96\green64\blue32;\rede0\green128\blue0;\red128\green0\blue0;\red128\green96\blue32;\red0\green32\blue128;\red0\green128\blue128;\red255\green0\blue255;\red0\green0\blue0;\red112\green0\blue112;\red255\green0\blue0;} +{\stylesheet +{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;} +{\paperw11900\paperh16840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect} +{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;} +{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;} +{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;} +{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;} +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;} +{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;} +{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;} +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;} +{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;} +{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;} +{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;} +{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;} +{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;} +{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;} +{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;} +{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;} +{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;} +{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;} +{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;} +{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;} +{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;} +{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext50 Code Example 9;} +{\s50\li3600\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext51 Code Example 10;} +{\s51\li3960\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext52 Code Example 11;} +{\s52\li4320\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 12;} +{\s53\li4680\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 13;} +{\s60\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext61 List Continue 0;} +{\s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext62 List Continue 1;} +{\s62\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext63 List Continue 2;} +{\s63\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext64 List Continue 3;} +{\s64\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext65 List Continue 4;} +{\s65\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext66 List Continue 5;} +{\s66\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext67 List Continue 6;} +{\s67\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext68 List Continue 7;} +{\s68\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext69 List Continue 8;} +{\s69\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext70 List Continue 9;} +{\s70\li3600\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext71 List Continue 10;} +{\s71\li3960\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext72 List Continue 11;} +{\s72\li4320\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 12;} +{\s73\li4680\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 13;} +{\s80\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext81 DescContinue 0;} +{\s81\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext82 DescContinue 1;} +{\s82\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext83 DescContinue 2;} +{\s83\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext84 DescContinue 3;} +{\s84\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext85 DescContinue 4;} +{\s85\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext86 DescContinue 5;} +{\s86\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext87 DescContinue 6;} +{\s87\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext88 DescContinue 7;} +{\s88\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext89 DescContinue 8;} +{\s89\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext90 DescContinue 9;} +{\s90\li3600\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext91 DescContinue 10;} +{\s91\li3960\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext92 DescContinue 11;} +{\s92\li4320\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 12;} +{\s93\li4680\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 13;} +{\s100\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext101 LatexTOC 0;} +{\s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext102 LatexTOC 1;} +{\s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext103 LatexTOC 2;} +{\s103\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext104 LatexTOC 3;} +{\s104\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext105 LatexTOC 4;} +{\s105\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext106 LatexTOC 5;} +{\s106\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext107 LatexTOC 6;} +{\s107\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext108 LatexTOC 7;} +{\s108\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext109 LatexTOC 8;} +{\s109\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext110 LatexTOC 9;} +{\s110\li3600\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext111 LatexTOC 10;} +{\s111\li3960\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext112 LatexTOC 11;} +{\s112\li4320\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 12;} +{\s113\li4680\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 13;} +{\s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext121 \sautoupd List Bullet 0;} +{\s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext122 \sautoupd List Bullet 1;} +{\s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext123 \sautoupd List Bullet 2;} +{\s123\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext124 \sautoupd List Bullet 3;} +{\s124\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext125 \sautoupd List Bullet 4;} +{\s125\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext126 \sautoupd List Bullet 5;} +{\s126\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext127 \sautoupd List Bullet 6;} +{\s127\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext128 \sautoupd List Bullet 7;} +{\s128\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext129 \sautoupd List Bullet 8;} +{\s129\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext130 \sautoupd List Bullet 9;} +{\s130\fi-360\li3960\widctlpar\jclisttab\tx3960{\*\pn \pnlvlbody\ilvl0\ls11\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext131 \sautoupd List Bullet 10;} +{\s131\fi-360\li4320\widctlpar\jclisttab\tx4320{\*\pn \pnlvlbody\ilvl0\ls12\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext132 \sautoupd List Bullet 11;} +{\s132\fi-360\li4680\widctlpar\jclisttab\tx4680{\*\pn \pnlvlbody\ilvl0\ls13\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 12;} +{\s133\fi-360\li5040\widctlpar\jclisttab\tx5040{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 13;} +{\s140\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext141 \sautoupd List Enum 0;} +{\s141\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext142 \sautoupd List Enum 1;} +{\s142\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext143 \sautoupd List Enum 2;} +{\s143\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext144 \sautoupd List Enum 3;} +{\s144\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext145 \sautoupd List Enum 4;} +{\s145\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext146 \sautoupd List Enum 5;} +{\s146\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext147 \sautoupd List Enum 6;} +{\s147\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext148 \sautoupd List Enum 7;} +{\s148\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext149 \sautoupd List Enum 8;} +{\s149\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext150 \sautoupd List Enum 9;} +{\s150\fi-360\li3960\widctlpar\fs20\cgrid \sbasedon0 \snext151 \sautoupd List Enum 10;} +{\s151\fi-360\li4320\widctlpar\fs20\cgrid \sbasedon0 \snext152 \sautoupd List Enum 11;} +{\s152\fi-360\li4680\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 12;} +{\s153\fi-360\li5040\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 13;} +} +{\comment begin body} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs Directory Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs Directory Reference} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs Directory Reference} +{\bkmkstart AAAAAAAAOX} +{\bkmkend AAAAAAAAOX} +Directory dependency graph for docs:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "dir_1648a057408aae8db85b8e3797335623_dep.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} \ No newline at end of file diff --git a/docs/rtf/dir_1648a057408aae8db85b8e3797335623_dep.md5 b/docs/rtf/dir_1648a057408aae8db85b8e3797335623_dep.md5 new file mode 100644 index 0000000..2214ec5 --- /dev/null +++ b/docs/rtf/dir_1648a057408aae8db85b8e3797335623_dep.md5 @@ -0,0 +1 @@ +103c12b563793db32ed50b111f45bada \ No newline at end of file diff --git a/docs/rtf/dir_1648a057408aae8db85b8e3797335623_dep.svg b/docs/rtf/dir_1648a057408aae8db85b8e3797335623_dep.svg new file mode 100644 index 0000000..b859cd6 --- /dev/null +++ b/docs/rtf/dir_1648a057408aae8db85b8e3797335623_dep.svg @@ -0,0 +1,30 @@ + + + + + + +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs + + +clusterdir_b3b22d2ab7966b65f6b237e3231b41be + + +penify-cli + + + + + +dir_1648a057408aae8db85b8e3797335623 + + +docs + + + + + diff --git a/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23.rtf b/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23.rtf new file mode 100644 index 0000000..8e7a5c7 --- /dev/null +++ b/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23.rtf @@ -0,0 +1,137 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033 +{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green128\blue0;\red96\green64\blue32;\rede0\green128\blue0;\red128\green0\blue0;\red128\green96\blue32;\red0\green32\blue128;\red0\green128\blue128;\red255\green0\blue255;\red0\green0\blue0;\red112\green0\blue112;\red255\green0\blue0;} +{\stylesheet +{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;} +{\paperw11900\paperh16840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect} +{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;} +{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;} +{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;} +{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;} +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;} +{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;} +{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;} +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;} +{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;} +{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;} +{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;} +{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;} +{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;} +{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;} +{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;} +{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;} +{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;} +{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;} +{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;} +{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;} +{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;} +{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext50 Code Example 9;} +{\s50\li3600\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext51 Code Example 10;} +{\s51\li3960\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext52 Code Example 11;} +{\s52\li4320\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 12;} +{\s53\li4680\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 13;} +{\s60\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext61 List Continue 0;} +{\s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext62 List Continue 1;} +{\s62\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext63 List Continue 2;} +{\s63\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext64 List Continue 3;} +{\s64\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext65 List Continue 4;} +{\s65\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext66 List Continue 5;} +{\s66\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext67 List Continue 6;} +{\s67\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext68 List Continue 7;} +{\s68\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext69 List Continue 8;} +{\s69\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext70 List Continue 9;} +{\s70\li3600\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext71 List Continue 10;} +{\s71\li3960\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext72 List Continue 11;} +{\s72\li4320\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 12;} +{\s73\li4680\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 13;} +{\s80\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext81 DescContinue 0;} +{\s81\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext82 DescContinue 1;} +{\s82\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext83 DescContinue 2;} +{\s83\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext84 DescContinue 3;} +{\s84\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext85 DescContinue 4;} +{\s85\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext86 DescContinue 5;} +{\s86\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext87 DescContinue 6;} +{\s87\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext88 DescContinue 7;} +{\s88\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext89 DescContinue 8;} +{\s89\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext90 DescContinue 9;} +{\s90\li3600\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext91 DescContinue 10;} +{\s91\li3960\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext92 DescContinue 11;} +{\s92\li4320\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 12;} +{\s93\li4680\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 13;} +{\s100\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext101 LatexTOC 0;} +{\s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext102 LatexTOC 1;} +{\s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext103 LatexTOC 2;} +{\s103\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext104 LatexTOC 3;} +{\s104\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext105 LatexTOC 4;} +{\s105\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext106 LatexTOC 5;} +{\s106\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext107 LatexTOC 6;} +{\s107\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext108 LatexTOC 7;} +{\s108\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext109 LatexTOC 8;} +{\s109\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext110 LatexTOC 9;} +{\s110\li3600\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext111 LatexTOC 10;} +{\s111\li3960\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext112 LatexTOC 11;} +{\s112\li4320\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 12;} +{\s113\li4680\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 13;} +{\s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext121 \sautoupd List Bullet 0;} +{\s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext122 \sautoupd List Bullet 1;} +{\s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext123 \sautoupd List Bullet 2;} +{\s123\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext124 \sautoupd List Bullet 3;} +{\s124\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext125 \sautoupd List Bullet 4;} +{\s125\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext126 \sautoupd List Bullet 5;} +{\s126\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext127 \sautoupd List Bullet 6;} +{\s127\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext128 \sautoupd List Bullet 7;} +{\s128\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext129 \sautoupd List Bullet 8;} +{\s129\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext130 \sautoupd List Bullet 9;} +{\s130\fi-360\li3960\widctlpar\jclisttab\tx3960{\*\pn \pnlvlbody\ilvl0\ls11\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext131 \sautoupd List Bullet 10;} +{\s131\fi-360\li4320\widctlpar\jclisttab\tx4320{\*\pn \pnlvlbody\ilvl0\ls12\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext132 \sautoupd List Bullet 11;} +{\s132\fi-360\li4680\widctlpar\jclisttab\tx4680{\*\pn \pnlvlbody\ilvl0\ls13\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 12;} +{\s133\fi-360\li5040\widctlpar\jclisttab\tx5040{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 13;} +{\s140\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext141 \sautoupd List Enum 0;} +{\s141\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext142 \sautoupd List Enum 1;} +{\s142\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext143 \sautoupd List Enum 2;} +{\s143\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext144 \sautoupd List Enum 3;} +{\s144\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext145 \sautoupd List Enum 4;} +{\s145\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext146 \sautoupd List Enum 5;} +{\s146\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext147 \sautoupd List Enum 6;} +{\s147\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext148 \sautoupd List Enum 7;} +{\s148\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext149 \sautoupd List Enum 8;} +{\s149\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext150 \sautoupd List Enum 9;} +{\s150\fi-360\li3960\widctlpar\fs20\cgrid \sbasedon0 \snext151 \sautoupd List Enum 10;} +{\s151\fi-360\li4320\widctlpar\fs20\cgrid \sbasedon0 \snext152 \sautoupd List Enum 11;} +{\s152\fi-360\li4680\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 12;} +{\s153\fi-360\li5040\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 13;} +} +{\comment begin body} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands Directory Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands Directory Reference} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands Directory Reference} +{\bkmkstart AAAAAAAAOW} +{\bkmkend AAAAAAAAOW} +Directory dependency graph for commands:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "dir_624fa2a8bce97f0444ac5cca335d4e23_dep.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Files\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b __init__.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b auth_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b commit_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b config_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b doc_commands.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b hook_commands.py}\par +} +} \ No newline at end of file diff --git a/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23_dep.md5 b/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23_dep.md5 new file mode 100644 index 0000000..597f466 --- /dev/null +++ b/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23_dep.md5 @@ -0,0 +1 @@ +1c8b9302d49050442030c2a1fe004137 \ No newline at end of file diff --git a/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23_dep.svg b/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23_dep.svg new file mode 100644 index 0000000..a17413c --- /dev/null +++ b/docs/rtf/dir_624fa2a8bce97f0444ac5cca335d4e23_dep.svg @@ -0,0 +1,30 @@ + + + + + + +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands + + +clusterdir_f88c3381c1861b3f7ca1f3d63cf244b5 + + +penify_hook + + + + + +dir_624fa2a8bce97f0444ac5cca335d4e23 + + +commands + + + + + diff --git a/docs/rtf/dir_b3b22d2ab7966b65f6b237e3231b41be.rtf b/docs/rtf/dir_b3b22d2ab7966b65f6b237e3231b41be.rtf new file mode 100644 index 0000000..4689fd1 --- /dev/null +++ b/docs/rtf/dir_b3b22d2ab7966b65f6b237e3231b41be.rtf @@ -0,0 +1,135 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033 +{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green128\blue0;\red96\green64\blue32;\rede0\green128\blue0;\red128\green0\blue0;\red128\green96\blue32;\red0\green32\blue128;\red0\green128\blue128;\red255\green0\blue255;\red0\green0\blue0;\red112\green0\blue112;\red255\green0\blue0;} +{\stylesheet +{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;} +{\paperw11900\paperh16840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect} +{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;} +{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;} +{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;} +{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;} +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;} +{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;} +{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;} +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;} +{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;} +{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;} +{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;} +{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;} +{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;} +{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;} +{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;} +{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;} +{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;} +{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;} +{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;} +{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;} +{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;} +{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext50 Code Example 9;} +{\s50\li3600\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext51 Code Example 10;} +{\s51\li3960\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext52 Code Example 11;} +{\s52\li4320\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 12;} +{\s53\li4680\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 13;} +{\s60\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext61 List Continue 0;} +{\s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext62 List Continue 1;} +{\s62\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext63 List Continue 2;} +{\s63\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext64 List Continue 3;} +{\s64\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext65 List Continue 4;} +{\s65\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext66 List Continue 5;} +{\s66\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext67 List Continue 6;} +{\s67\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext68 List Continue 7;} +{\s68\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext69 List Continue 8;} +{\s69\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext70 List Continue 9;} +{\s70\li3600\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext71 List Continue 10;} +{\s71\li3960\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext72 List Continue 11;} +{\s72\li4320\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 12;} +{\s73\li4680\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 13;} +{\s80\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext81 DescContinue 0;} +{\s81\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext82 DescContinue 1;} +{\s82\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext83 DescContinue 2;} +{\s83\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext84 DescContinue 3;} +{\s84\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext85 DescContinue 4;} +{\s85\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext86 DescContinue 5;} +{\s86\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext87 DescContinue 6;} +{\s87\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext88 DescContinue 7;} +{\s88\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext89 DescContinue 8;} +{\s89\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext90 DescContinue 9;} +{\s90\li3600\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext91 DescContinue 10;} +{\s91\li3960\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext92 DescContinue 11;} +{\s92\li4320\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 12;} +{\s93\li4680\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 13;} +{\s100\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext101 LatexTOC 0;} +{\s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext102 LatexTOC 1;} +{\s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext103 LatexTOC 2;} +{\s103\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext104 LatexTOC 3;} +{\s104\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext105 LatexTOC 4;} +{\s105\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext106 LatexTOC 5;} +{\s106\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext107 LatexTOC 6;} +{\s107\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext108 LatexTOC 7;} +{\s108\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext109 LatexTOC 8;} +{\s109\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext110 LatexTOC 9;} +{\s110\li3600\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext111 LatexTOC 10;} +{\s111\li3960\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext112 LatexTOC 11;} +{\s112\li4320\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 12;} +{\s113\li4680\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 13;} +{\s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext121 \sautoupd List Bullet 0;} +{\s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext122 \sautoupd List Bullet 1;} +{\s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext123 \sautoupd List Bullet 2;} +{\s123\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext124 \sautoupd List Bullet 3;} +{\s124\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext125 \sautoupd List Bullet 4;} +{\s125\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext126 \sautoupd List Bullet 5;} +{\s126\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext127 \sautoupd List Bullet 6;} +{\s127\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext128 \sautoupd List Bullet 7;} +{\s128\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext129 \sautoupd List Bullet 8;} +{\s129\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext130 \sautoupd List Bullet 9;} +{\s130\fi-360\li3960\widctlpar\jclisttab\tx3960{\*\pn \pnlvlbody\ilvl0\ls11\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext131 \sautoupd List Bullet 10;} +{\s131\fi-360\li4320\widctlpar\jclisttab\tx4320{\*\pn \pnlvlbody\ilvl0\ls12\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext132 \sautoupd List Bullet 11;} +{\s132\fi-360\li4680\widctlpar\jclisttab\tx4680{\*\pn \pnlvlbody\ilvl0\ls13\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 12;} +{\s133\fi-360\li5040\widctlpar\jclisttab\tx5040{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 13;} +{\s140\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext141 \sautoupd List Enum 0;} +{\s141\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext142 \sautoupd List Enum 1;} +{\s142\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext143 \sautoupd List Enum 2;} +{\s143\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext144 \sautoupd List Enum 3;} +{\s144\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext145 \sautoupd List Enum 4;} +{\s145\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext146 \sautoupd List Enum 5;} +{\s146\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext147 \sautoupd List Enum 6;} +{\s147\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext148 \sautoupd List Enum 7;} +{\s148\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext149 \sautoupd List Enum 8;} +{\s149\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext150 \sautoupd List Enum 9;} +{\s150\fi-360\li3960\widctlpar\fs20\cgrid \sbasedon0 \snext151 \sautoupd List Enum 10;} +{\s151\fi-360\li4320\widctlpar\fs20\cgrid \sbasedon0 \snext152 \sautoupd List Enum 11;} +{\s152\fi-360\li4680\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 12;} +{\s153\fi-360\li5040\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 13;} +} +{\comment begin body} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli Directory Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli Directory Reference} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli Directory Reference} +{\bkmkstart AAAAAAAAOY} +{\bkmkend AAAAAAAAOY} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Directories\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +directory {\b docs}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +directory {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +directory {\b tests}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Files\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b setup.py}\par +} +} \ No newline at end of file diff --git a/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5.rtf b/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5.rtf new file mode 100644 index 0000000..8874f23 --- /dev/null +++ b/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5.rtf @@ -0,0 +1,163 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033 +{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green128\blue0;\red96\green64\blue32;\rede0\green128\blue0;\red128\green0\blue0;\red128\green96\blue32;\red0\green32\blue128;\red0\green128\blue128;\red255\green0\blue255;\red0\green0\blue0;\red112\green0\blue112;\red255\green0\blue0;} +{\stylesheet +{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;} +{\paperw11900\paperh16840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect} +{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;} +{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;} +{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;} +{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;} +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;} +{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;} +{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;} +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;} +{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;} +{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;} +{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;} +{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;} +{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;} +{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;} +{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;} +{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;} +{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;} +{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;} +{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;} +{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;} +{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;} +{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext50 Code Example 9;} +{\s50\li3600\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext51 Code Example 10;} +{\s51\li3960\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext52 Code Example 11;} +{\s52\li4320\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 12;} +{\s53\li4680\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 13;} +{\s60\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext61 List Continue 0;} +{\s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext62 List Continue 1;} +{\s62\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext63 List Continue 2;} +{\s63\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext64 List Continue 3;} +{\s64\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext65 List Continue 4;} +{\s65\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext66 List Continue 5;} +{\s66\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext67 List Continue 6;} +{\s67\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext68 List Continue 7;} +{\s68\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext69 List Continue 8;} +{\s69\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext70 List Continue 9;} +{\s70\li3600\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext71 List Continue 10;} +{\s71\li3960\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext72 List Continue 11;} +{\s72\li4320\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 12;} +{\s73\li4680\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 13;} +{\s80\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext81 DescContinue 0;} +{\s81\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext82 DescContinue 1;} +{\s82\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext83 DescContinue 2;} +{\s83\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext84 DescContinue 3;} +{\s84\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext85 DescContinue 4;} +{\s85\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext86 DescContinue 5;} +{\s86\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext87 DescContinue 6;} +{\s87\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext88 DescContinue 7;} +{\s88\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext89 DescContinue 8;} +{\s89\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext90 DescContinue 9;} +{\s90\li3600\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext91 DescContinue 10;} +{\s91\li3960\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext92 DescContinue 11;} +{\s92\li4320\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 12;} +{\s93\li4680\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 13;} +{\s100\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext101 LatexTOC 0;} +{\s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext102 LatexTOC 1;} +{\s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext103 LatexTOC 2;} +{\s103\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext104 LatexTOC 3;} +{\s104\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext105 LatexTOC 4;} +{\s105\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext106 LatexTOC 5;} +{\s106\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext107 LatexTOC 6;} +{\s107\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext108 LatexTOC 7;} +{\s108\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext109 LatexTOC 8;} +{\s109\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext110 LatexTOC 9;} +{\s110\li3600\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext111 LatexTOC 10;} +{\s111\li3960\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext112 LatexTOC 11;} +{\s112\li4320\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 12;} +{\s113\li4680\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 13;} +{\s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext121 \sautoupd List Bullet 0;} +{\s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext122 \sautoupd List Bullet 1;} +{\s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext123 \sautoupd List Bullet 2;} +{\s123\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext124 \sautoupd List Bullet 3;} +{\s124\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext125 \sautoupd List Bullet 4;} +{\s125\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext126 \sautoupd List Bullet 5;} +{\s126\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext127 \sautoupd List Bullet 6;} +{\s127\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext128 \sautoupd List Bullet 7;} +{\s128\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext129 \sautoupd List Bullet 8;} +{\s129\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext130 \sautoupd List Bullet 9;} +{\s130\fi-360\li3960\widctlpar\jclisttab\tx3960{\*\pn \pnlvlbody\ilvl0\ls11\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext131 \sautoupd List Bullet 10;} +{\s131\fi-360\li4320\widctlpar\jclisttab\tx4320{\*\pn \pnlvlbody\ilvl0\ls12\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext132 \sautoupd List Bullet 11;} +{\s132\fi-360\li4680\widctlpar\jclisttab\tx4680{\*\pn \pnlvlbody\ilvl0\ls13\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 12;} +{\s133\fi-360\li5040\widctlpar\jclisttab\tx5040{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 13;} +{\s140\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext141 \sautoupd List Enum 0;} +{\s141\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext142 \sautoupd List Enum 1;} +{\s142\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext143 \sautoupd List Enum 2;} +{\s143\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext144 \sautoupd List Enum 3;} +{\s144\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext145 \sautoupd List Enum 4;} +{\s145\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext146 \sautoupd List Enum 5;} +{\s146\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext147 \sautoupd List Enum 6;} +{\s147\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext148 \sautoupd List Enum 7;} +{\s148\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext149 \sautoupd List Enum 8;} +{\s149\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext150 \sautoupd List Enum 9;} +{\s150\fi-360\li3960\widctlpar\fs20\cgrid \sbasedon0 \snext151 \sautoupd List Enum 10;} +{\s151\fi-360\li4320\widctlpar\fs20\cgrid \sbasedon0 \snext152 \sautoupd List Enum 11;} +{\s152\fi-360\li4680\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 12;} +{\s153\fi-360\li5040\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 13;} +} +{\comment begin body} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook Directory Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook Directory Reference} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook Directory Reference} +{\bkmkstart AAAAAAAAOZ} +{\bkmkend AAAAAAAAOZ} +Directory dependency graph for penify_hook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Directories\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +directory {\b commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Files\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b __init__.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b api_client.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b base_analyzer.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b commit_analyzer.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b config_command.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b constants.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b file_analyzer.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b folder_analyzer.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b git_analyzer.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b jira_client.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b llm_client.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b login_command.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b main.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b ui_utils.py}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +file {\b utils.py}\par +} +} \ No newline at end of file diff --git a/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.md5 b/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.md5 new file mode 100644 index 0000000..577134d --- /dev/null +++ b/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.md5 @@ -0,0 +1 @@ +81055f3442546e3f091686cb9eef1bc5 \ No newline at end of file diff --git a/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.svg b/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.svg new file mode 100644 index 0000000..5b913db --- /dev/null +++ b/docs/rtf/dir_f88c3381c1861b3f7ca1f3d63cf244b5_dep.svg @@ -0,0 +1,42 @@ + + + + + + +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook + + +clusterdir_b3b22d2ab7966b65f6b237e3231b41be + + +penify-cli + + + + +clusterdir_f88c3381c1861b3f7ca1f3d63cf244b5 + + + + + + + +dir_f88c3381c1861b3f7ca1f3d63cf244b5 +penify_hook + + + +dir_624fa2a8bce97f0444ac5cca335d4e23 + + +commands + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.md5 new file mode 100644 index 0000000..3843ca4 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.md5 @@ -0,0 +1 @@ +8ad325585e8efe43cb16f6c7070d7d0a \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.svg new file mode 100644 index 0000000..7efc66a --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.svg @@ -0,0 +1,61 @@ + + + + + + +penify_hook.commands.auth_commands.login + + + +Node1 + + +penify_hook.commands.auth +_commands.login + + + + + +Node2 + + +penify_hook.commands.auth +_commands.save_credentials + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.md5 new file mode 100644 index 0000000..a7db012 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.md5 @@ -0,0 +1 @@ +65e495614449516908c997067ca3d2d2 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.svg new file mode 100644 index 0000000..42af25d --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.svg @@ -0,0 +1,60 @@ + + + + + + +penify_hook.commands.auth_commands.login + + + +Node1 + + +penify_hook.commands.auth +_commands.login + + + + + +Node2 + + +penify_hook.login_command.handle +_login + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.md5 new file mode 100644 index 0000000..17fadc1 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.md5 @@ -0,0 +1 @@ +31a51591f0a8f9ef897c4a08daac5829 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.svg new file mode 100644 index 0000000..c94169d --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.svg @@ -0,0 +1,45 @@ + + + + + + +penify_hook.commands.auth_commands.save_credentials + + + +Node1 + + +penify_hook.commands.auth +_commands.save_credentials + + + + + +Node2 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.md5 new file mode 100644 index 0000000..051c10c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.md5 @@ -0,0 +1 @@ +ec7d7c899a70e1c68057353448e9a6d9 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.svg new file mode 100644 index 0000000..9b6688c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.svg @@ -0,0 +1,76 @@ + + + + + + +penify_hook.commands.auth_commands.save_credentials + + + +Node1 + + +penify_hook.commands.auth +_commands.save_credentials + + + + + +Node2 + + +penify_hook.commands.auth +_commands.login + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.login_command.handle +_login + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.md5 new file mode 100644 index 0000000..f0df322 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.md5 @@ -0,0 +1 @@ +ebbb356587ab923660dadd713f529935 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.svg new file mode 100644 index 0000000..a8d9791 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.svg @@ -0,0 +1,139 @@ + + + + + + +penify_hook.commands.commit_commands.commit_code + + + +Node1 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node2 + + +penify_hook.ui_utils.print +_error + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.print +_warning + + + + + +Node1->Node6 + + + + + +Node8 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node8 + + + + + +Node3 + + +penify_hook.ui_utils.format +_error + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.ui_utils.format_info + + + + + +Node4->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.format +_warning + + + + + +Node6->Node7 + + + + + +Node8->Node8 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.md5 new file mode 100644 index 0000000..30b2f36 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.md5 @@ -0,0 +1 @@ +b42af33551c96c0ccabd26bf5dac7901 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.svg new file mode 100644 index 0000000..35f0b28 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.svg @@ -0,0 +1,146 @@ + + + + + + +penify_hook.commands.commit_commands.commit_code + + + +Node1 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node2 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node2 + + + + + +Node5 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node1->Node5 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node1->Node6 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node1->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node1->Node8 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node4 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node2->Node4 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.md5 new file mode 100644 index 0000000..c49ca59 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.md5 @@ -0,0 +1 @@ +9d31c6bce57180d0019639c06f0a64c6 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.svg new file mode 100644 index 0000000..fd13edd --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.svg @@ -0,0 +1,61 @@ + + + + + + +penify_hook.commands.commit_commands.setup_commit_parser + + + +Node1 + + +penify_hook.commands.commit +_commands.setup_commit_parser + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node3 + + +tests.test_commit_commands. +TestCommitCommands.test +_setup_commit_parser + + + + + +Node1->Node3 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.md5 new file mode 100644 index 0000000..9c1af92 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.md5 @@ -0,0 +1 @@ +76b990698c4e374b742a1a611bfd524b \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.svg new file mode 100644 index 0000000..9299eb7 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.svg @@ -0,0 +1,300 @@ + + + + + + +penify_hook.commands.commit_commands.handle_commit + + + +Node1 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node5 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node5 + + + + + +Node10 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node1->Node10 + + + + + +Node13 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node1->Node13 + + + + + +Node14 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node14 + + + + + +Node3 + + +penify_hook.ui_utils.print +_error + + + + + +Node2->Node3 + + + + + +Node2->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2->Node7 + + + + + +Node9 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.ui_utils.format +_error + + + + + +Node3->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.format_info + + + + + +Node5->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.format +_warning + + + + + +Node7->Node8 + + + + + +Node9->Node9 + + + + + +Node11 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node10->Node11 + + + + + +Node12 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node10->Node12 + + + + + +Node12->Node9 + + + + + +Node12->Node12 + + + + + +Node13->Node11 + + + + + +Node13->Node12 + + + + + +Node14->Node11 + + + + + +Node14->Node12 + + + + + +Node15 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node14->Node15 + + + + + +Node15->Node9 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.md5 new file mode 100644 index 0000000..47a6cde --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.md5 @@ -0,0 +1 @@ +a8800179f1f560b476cc721ea33d08f7 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.svg new file mode 100644 index 0000000..a93e9a1 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.svg @@ -0,0 +1,61 @@ + + + + + + +penify_hook.commands.commit_commands.handle_commit + + + +Node1 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node3 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node1->Node3 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.md5 new file mode 100644 index 0000000..8a855e7 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.md5 @@ -0,0 +1 @@ +168858f3e9d4759f99db4c52c229e797 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.svg new file mode 100644 index 0000000..cb6e77a --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.svg @@ -0,0 +1,84 @@ + + + + + + +penify_hook.commands.config_commands.get_jira_config + + + +Node1 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node1->Node3 + + + + + +Node3->Node3 + + + + + +Node4 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.md5 new file mode 100644 index 0000000..3595ee0 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.md5 @@ -0,0 +1 @@ +543187d5c63c1c460ff6dd5d57c6a646 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.svg new file mode 100644 index 0000000..1f7e932 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.svg @@ -0,0 +1,149 @@ + + + + + + +penify_hook.commands.config_commands.get_jira_config + + + +Node1 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node1->Node2 + + + + + +Node6 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node6 + + + + + +Node8 + + +tests.test_config_commands. +TestConfigCommands.test +_get_jira_config_exists + + + + + +Node1->Node8 + + + + + +Node3 + + +penify_hook.config +_command.handle_config + + + + + +Node2->Node3 + + + + + +Node5 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node2->Node5 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + +Node6->Node4 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node6->Node7 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.md5 new file mode 100644 index 0000000..fd6eb21 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.md5 @@ -0,0 +1 @@ +91a6c2c6a25f3c8c1d38cd6f5f5c3f25 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.svg new file mode 100644 index 0000000..15152bf --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.svg @@ -0,0 +1,77 @@ + + + + + + +penify_hook.commands.config_commands.config_llm_web + + + +Node1 + + +penify_hook.commands.config +_commands.config_llm_web + + + + + +Node2 + + +penify_hook.config +_command.handle_config + + + + + +Node1->Node2 + + + + + +Node4 + + +tests.test_web_config.Test +WebConfig.test_config_llm +_web_server_setup + + + + + +Node1->Node4 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.md5 new file mode 100644 index 0000000..f9c067a --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.md5 @@ -0,0 +1 @@ +78a315f2a9f5ef12496dc5b4a1f2f578 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.svg new file mode 100644 index 0000000..2575f6a --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.svg @@ -0,0 +1,398 @@ + + + + + + +penify_hook.commands.config_commands.get_env_var_or_default + + + +Node1 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node1->Node2 + + + + + +Node10 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node1->Node10 + + + + + +Node14 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node14 + + + + + +Node3 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node2->Node3 + + + + + +Node7 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2->Node7 + + + + + +Node9 + + +tests.test_config_commands. +TestConfigCommands.test +_get_jira_config_exists + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.config +_command.handle_config + + + + + +Node3->Node4 + + + + + +Node6 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node3->Node6 + + + + + +Node5 + + +penify_hook.main.main + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + +Node7->Node5 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node7->Node8 + + + + + +Node10->Node7 + + + + + +Node11 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_empty + + + + + +Node10->Node11 + + + + + +Node12 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_exists + + + + + +Node10->Node12 + + + + + +Node13 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_invalid_json + + + + + +Node10->Node13 + + + + + +Node14->Node7 + + + + + +Node15 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node14->Node15 + + + + + +Node20 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_config + + + + + +Node14->Node20 + + + + + +Node21 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_env + + + + + +Node14->Node21 + + + + + +Node22 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_not_found + + + + + +Node14->Node22 + + + + + +Node15->Node5 + + + + + +Node16 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node15->Node16 + + + + + +Node17 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node15->Node17 + + + + + +Node18 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node15->Node18 + + + + + +Node19 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node15->Node19 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.md5 new file mode 100644 index 0000000..1d6bd9c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.md5 @@ -0,0 +1 @@ +1312bc7ffa0a3c4b3d914591e46647ea \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.svg new file mode 100644 index 0000000..b5caeb1 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.svg @@ -0,0 +1,45 @@ + + + + + + +penify_hook.commands.config_commands.save_llm_config + + + +Node1 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node2 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.md5 new file mode 100644 index 0000000..4427799 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.md5 @@ -0,0 +1 @@ +64e3e5d1614b987e9beaa7b1002e49e6 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.svg new file mode 100644 index 0000000..a6fab0f --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.svg @@ -0,0 +1,94 @@ + + + + + + +penify_hook.commands.config_commands.save_llm_config + + + +Node1 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node2 + + +penify_hook.config +_command.handle_config + + + + + +Node1->Node2 + + + + + +Node4 + + +tests.test_config_commands. +TestConfigCommands.test +_save_llm_config_failure + + + + + +Node1->Node4 + + + + + +Node5 + + +tests.test_config_commands. +TestConfigCommands.test +_save_llm_config_success + + + + + +Node1->Node5 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.md5 new file mode 100644 index 0000000..47f24a6 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.md5 @@ -0,0 +1 @@ +e227b3587529f3c7fa14501fb496ccc8 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.svg new file mode 100644 index 0000000..036847e --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.svg @@ -0,0 +1,106 @@ + + + + + + +penify_hook.commands.config_commands.get_token + + + +Node1 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node1->Node3 + + + + + +Node5 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node1->Node5 + + + + + +Node4 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + +Node5->Node4 + + + + + +Node5->Node5 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.md5 new file mode 100644 index 0000000..5a5a866 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.md5 @@ -0,0 +1 @@ +9c6b048bd5412b617ea890b1f88c2104 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.svg new file mode 100644 index 0000000..0a189a5 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.svg @@ -0,0 +1,214 @@ + + + + + + +penify_hook.commands.config_commands.get_token + + + +Node1 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node2 + + + + + +Node5 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node5 + + + + + +Node10 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_config + + + + + +Node1->Node10 + + + + + +Node11 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_env + + + + + +Node1->Node11 + + + + + +Node12 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_not_found + + + + + +Node1->Node12 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node4 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node2->Node4 + + + + + +Node3->Node3 + + + + + +Node5->Node3 + + + + + +Node6 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node5->Node6 + + + + + +Node7 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node5->Node7 + + + + + +Node8 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node5->Node8 + + + + + +Node9 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node5->Node9 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.md5 new file mode 100644 index 0000000..c4b9ce2 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.md5 @@ -0,0 +1 @@ +67c138c843a1f5d8ab7592c326643328 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.svg new file mode 100644 index 0000000..4cb30cf --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.svg @@ -0,0 +1,84 @@ + + + + + + +penify_hook.commands.config_commands.get_llm_config + + + +Node1 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node1->Node3 + + + + + +Node3->Node3 + + + + + +Node4 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.md5 new file mode 100644 index 0000000..280df61 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.md5 @@ -0,0 +1 @@ +32e055c0ae757bbecf2b86db164d29df \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.svg new file mode 100644 index 0000000..89ccd03 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.svg @@ -0,0 +1,128 @@ + + + + + + +penify_hook.commands.config_commands.get_llm_config + + + +Node1 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node2 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node2 + + + + + +Node5 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_empty + + + + + +Node1->Node5 + + + + + +Node6 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_exists + + + + + +Node1->Node6 + + + + + +Node7 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_invalid_json + + + + + +Node1->Node7 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node4 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node2->Node4 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.md5 new file mode 100644 index 0000000..6643612 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.md5 @@ -0,0 +1 @@ +69777adad7caeabd935b90d3f0ca21e8 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.svg new file mode 100644 index 0000000..c7e939c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.svg @@ -0,0 +1,45 @@ + + + + + + +penify_hook.commands.config_commands.get_penify_config + + + +Node1 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node2 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.md5 new file mode 100644 index 0000000..3e643ef --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.md5 @@ -0,0 +1 @@ +4f8f2c5d878438fd8fa2e1f0ca1dbc52 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.svg new file mode 100644 index 0000000..150e9b7 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.svg @@ -0,0 +1,264 @@ + + + + + + +penify_hook.commands.config_commands.get_penify_config + + + +Node1 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node2 + + + + + +Node14 + + +tests.test_config_commands. +TestConfigCommands.test +_get_penify_config_existing_dir + + + + + +Node1->Node14 + + + + + +Node15 + + +tests.test_config_commands. +TestConfigCommands.test +_get_penify_config_new_dir + + + + + +Node1->Node15 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2->Node3 + + + + + +Node6 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node2->Node6 + + + + + +Node11 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_config + + + + + +Node2->Node11 + + + + + +Node12 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_env + + + + + +Node2->Node12 + + + + + +Node13 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_not_found + + + + + +Node2->Node13 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node5 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node3->Node5 + + + + + +Node4->Node4 + + + + + +Node6->Node4 + + + + + +Node7 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node6->Node7 + + + + + +Node8 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node6->Node8 + + + + + +Node9 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node6->Node9 + + + + + +Node10 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node6->Node10 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.md5 new file mode 100644 index 0000000..26009b0 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.md5 @@ -0,0 +1 @@ +91b1c0b60f8171163e43b782cfdc5e4b \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.svg new file mode 100644 index 0000000..1c3e84e --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.svg @@ -0,0 +1,51 @@ + + + + + + +penify_hook.commands.config_commands.load_env_files + + + +Node1 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node1->Node1 + + + + + +Node2 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.md5 new file mode 100644 index 0000000..a2245b9 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.md5 @@ -0,0 +1 @@ +e208c1be2bea05a2824626f2971c2bf3 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.svg new file mode 100644 index 0000000..5f08f28 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.svg @@ -0,0 +1,403 @@ + + + + + + +penify_hook.commands.config_commands.load_env_files + + + +Node1 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node1->Node1 + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node1->Node2 + + + + + +Node10 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node1->Node10 + + + + + +Node14 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node14 + + + + + +Node3 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node2->Node3 + + + + + +Node7 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2->Node7 + + + + + +Node9 + + +tests.test_config_commands. +TestConfigCommands.test +_get_jira_config_exists + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.config +_command.handle_config + + + + + +Node3->Node4 + + + + + +Node6 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node3->Node6 + + + + + +Node5 + + +penify_hook.main.main + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + +Node7->Node5 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node7->Node8 + + + + + +Node10->Node7 + + + + + +Node11 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_empty + + + + + +Node10->Node11 + + + + + +Node12 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_exists + + + + + +Node10->Node12 + + + + + +Node13 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_invalid_json + + + + + +Node10->Node13 + + + + + +Node14->Node7 + + + + + +Node15 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node14->Node15 + + + + + +Node20 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_config + + + + + +Node14->Node20 + + + + + +Node21 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_env + + + + + +Node14->Node21 + + + + + +Node22 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_not_found + + + + + +Node14->Node22 + + + + + +Node15->Node5 + + + + + +Node16 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node15->Node16 + + + + + +Node17 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node15->Node17 + + + + + +Node18 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node15->Node18 + + + + + +Node19 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node15->Node19 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.md5 new file mode 100644 index 0000000..9c2e575 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.md5 @@ -0,0 +1 @@ +68e4fb55d25659f523e8547c8cb01464 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.svg new file mode 100644 index 0000000..ce47665 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.svg @@ -0,0 +1,45 @@ + + + + + + +penify_hook.commands.config_commands.save_jira_config + + + +Node1 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node2 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.md5 new file mode 100644 index 0000000..1f53baa --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.md5 @@ -0,0 +1 @@ +d1ffd3debe0bd71ea914f1dd47c727ad \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.svg new file mode 100644 index 0000000..d4a9fb5 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.svg @@ -0,0 +1,116 @@ + + + + + + +penify_hook.commands.config_commands.save_jira_config + + + +Node1 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.config +_command.handle_config + + + + + +Node1->Node3 + + + + + +Node6 + + +tests.test_config_commands. +TestConfigCommands.test +_save_jira_config_success + + + + + +Node1->Node6 + + + + + +Node2->Node3 + + + + + +Node5 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node2->Node5 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.md5 new file mode 100644 index 0000000..7795142 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.md5 @@ -0,0 +1 @@ +e83a80d18918d47faae41628fcd92c7a \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.svg new file mode 100644 index 0000000..ad6fa7d --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.svg @@ -0,0 +1,122 @@ + + + + + + +penify_hook.commands.config_commands.config_jira_web + + + +Node1 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node2 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node1->Node2 + + + + + +Node6 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node1->Node6 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node2->Node4 + + + + + +Node4->Node4 + + + + + +Node5 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node4->Node5 + + + + + +Node5->Node5 + + + + + +Node6->Node5 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.md5 new file mode 100644 index 0000000..166f9b7 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.md5 @@ -0,0 +1 @@ +e627346d77982130e6685bfc2c553220 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.svg new file mode 100644 index 0000000..2e29aa1 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.svg @@ -0,0 +1,77 @@ + + + + + + +penify_hook.commands.config_commands.config_jira_web + + + +Node1 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node2 + + +penify_hook.config +_command.handle_config + + + + + +Node1->Node2 + + + + + +Node4 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node1->Node4 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.md5 new file mode 100644 index 0000000..472a430 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.md5 @@ -0,0 +1 @@ +d7ee1e07127beb9f489b974a61acce5d \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.svg new file mode 100644 index 0000000..8fa410b --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.svg @@ -0,0 +1,170 @@ + + + + + + +penify_hook.commands.doc_commands.handle_docgen + + + +Node1 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node1->Node3 + + + + + +Node8 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node1->Node8 + + + + + +Node9 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node1->Node9 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node3->Node4 + + + + + +Node5 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node3->Node5 + + + + + +Node7 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node3->Node7 + + + + + +Node6 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node5->Node6 + + + + + +Node6->Node6 + + + + + +Node7->Node6 + + + + + +Node7->Node7 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.md5 new file mode 100644 index 0000000..9d429ee --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.md5 @@ -0,0 +1 @@ +ed70390d069e80c493faf1a14a7c6fff \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.svg new file mode 100644 index 0000000..c8b3178 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.svg @@ -0,0 +1,108 @@ + + + + + + +penify_hook.commands.doc_commands.handle_docgen + + + +Node1 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node3 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node1->Node3 + + + + + +Node4 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node1->Node4 + + + + + +Node5 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node1->Node5 + + + + + +Node6 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node1->Node6 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.md5 new file mode 100644 index 0000000..171b82e --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.md5 @@ -0,0 +1 @@ +5e9faa5a79a60188abcf0c90efae69aa \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.svg new file mode 100644 index 0000000..0ae8a84 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.svg @@ -0,0 +1,221 @@ + + + + + + +penify_hook.commands.doc_commands.generate_doc + + + +Node1 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node8 + + +tests.test_doc_commands.test +_generate_doc_error_handling + + + + + +Node1->Node8 + + + + + +Node9 + + +tests.test_doc_commands.test +_generate_doc_file_location + + + + + +Node1->Node9 + + + + + +Node10 + + +tests.test_doc_commands.test +_generate_doc_folder_location + + + + + +Node1->Node10 + + + + + +Node11 + + +tests.test_doc_commands.test +_generate_doc_no_location + + + + + +Node1->Node11 + + + + + +Node12 + + +tests.test_doc_commands.test +_generate_doc_with_file_exception + + + + + +Node1->Node12 + + + + + +Node13 + + +tests.test_doc_commands.test +_generate_doc_with_folder +_exception + + + + + +Node1->Node13 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node4 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node2->Node4 + + + + + +Node5 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node2->Node5 + + + + + +Node6 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node2->Node7 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.md5 new file mode 100644 index 0000000..0dc7e32 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.md5 @@ -0,0 +1 @@ +0fa78969e5f8672d0da52972dd124680 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.svg new file mode 100644 index 0000000..c570dfd --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.svg @@ -0,0 +1,60 @@ + + + + + + +penify_hook.commands.doc_commands.setup_docgen_parser + + + +Node1 + + +penify_hook.commands.doc +_commands.setup_docgen_parser + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node3 + + +tests.test_doc_commands.test +_setup_docgen_parser + + + + + +Node1->Node3 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.md5 new file mode 100644 index 0000000..197f108 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.md5 @@ -0,0 +1 @@ +25f36344702d0e8ec428aac2f670078e \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.svg new file mode 100644 index 0000000..12ed4ff --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.svg @@ -0,0 +1,124 @@ + + + + + + +penify_hook.commands.hook_commands.uninstall_git_hook + + + +Node1 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node4 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node2->Node4 + + + + + +Node5 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node2->Node5 + + + + + +Node6 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node2->Node7 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.md5 new file mode 100644 index 0000000..333d2ec --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.md5 @@ -0,0 +1 @@ +3ec2e3ff4462cc865b4cb6fd3a62753d \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.svg new file mode 100644 index 0000000..712e836 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.svg @@ -0,0 +1,124 @@ + + + + + + +penify_hook.commands.hook_commands.install_git_hook + + + +Node1 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.main.main + + + + + +Node2->Node3 + + + + + +Node4 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node2->Node4 + + + + + +Node5 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node2->Node5 + + + + + +Node6 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node2->Node7 + + + + + +Node3->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.md5 new file mode 100644 index 0000000..1e009e6 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.md5 @@ -0,0 +1 @@ +4f75720d323fed0e1cf98ec14ae8f6e9 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.svg new file mode 100644 index 0000000..ba2ae8f --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.svg @@ -0,0 +1,182 @@ + + + + + + +penify_hook.config_command.handle_config + + + +Node1 + + +penify_hook.config +_command.handle_config + + + + + +Node2 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node1->Node2 + + + + + +Node7 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node1->Node7 + + + + + +Node8 + + +penify_hook.commands.config +_commands.config_llm_web + + + + + +Node1->Node8 + + + + + +Node9 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node1->Node9 + + + + + +Node3 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node2->Node3 + + + + + +Node2->Node7 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node3->Node4 + + + + + +Node5 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node3->Node5 + + + + + +Node5->Node5 + + + + + +Node6 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node5->Node6 + + + + + +Node6->Node6 + + + + + +Node7->Node6 + + + + + +Node9->Node6 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.md5 new file mode 100644 index 0000000..a09bdd4 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.md5 @@ -0,0 +1 @@ +f35e472a3767aa0a0b09219e96174cf9 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.svg new file mode 100644 index 0000000..9d7881e --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.svg @@ -0,0 +1,44 @@ + + + + + + +penify_hook.config_command.handle_config + + + +Node1 + + +penify_hook.config +_command.handle_config + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.md5 new file mode 100644 index 0000000..48311b5 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.md5 @@ -0,0 +1 @@ +a17b5eb406ca6a74de12d7201d9bcee7 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.svg new file mode 100644 index 0000000..89dc211 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.svg @@ -0,0 +1,45 @@ + + + + + + +penify_hook.config_command.setup_config_parser + + + +Node1 + + +penify_hook.config +_command.setup_config +_parser + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.md5 new file mode 100644 index 0000000..2daae41 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.md5 @@ -0,0 +1 @@ +34cbd1a77d726e3937d67455d405b0ba \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.svg new file mode 100644 index 0000000..7743579 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.svg @@ -0,0 +1,44 @@ + + + + + + +penify_hook.login_command.setup_login_parser + + + +Node1 + + +penify_hook.login_command.setup +_login_parser + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.md5 new file mode 100644 index 0000000..ad91965 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.md5 @@ -0,0 +1 @@ +6a1ceeef99a0101ba5882e9e71fa9bce \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.svg new file mode 100644 index 0000000..1ef455e --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.svg @@ -0,0 +1,77 @@ + + + + + + +penify_hook.login_command.handle_login + + + +Node1 + + +penify_hook.login_command.handle +_login + + + + + +Node2 + + +penify_hook.commands.auth +_commands.login + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.auth +_commands.save_credentials + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node3->Node4 + + + + + +Node4->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.md5 new file mode 100644 index 0000000..7a114f5 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.md5 @@ -0,0 +1 @@ +1f6ec32e02e9919f90ba1a6a23743cb6 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.svg new file mode 100644 index 0000000..5ef77f9 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.svg @@ -0,0 +1,44 @@ + + + + + + +penify_hook.login_command.handle_login + + + +Node1 + + +penify_hook.login_command.handle +_login + + + + + +Node2 + + +penify_hook.main.main + + + + + +Node1->Node2 + + + + + +Node2->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.md5 new file mode 100644 index 0000000..304cb74 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.md5 @@ -0,0 +1 @@ +73631f13dbb5d5f90aafdead88d96c1c \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.svg new file mode 100644 index 0000000..06f8a9c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.svg @@ -0,0 +1,620 @@ + + + + + + +penify_hook.main.main + + + +Node1 + + +penify_hook.main.main + + + + + +Node1->Node1 + + + + + +Node2 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node2 + + + + + +Node6 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node6 + + + + + +Node17 + + +penify_hook.config +_command.handle_config + + + + + +Node1->Node17 + + + + + +Node22 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node22 + + + + + +Node26 + + +penify_hook.login_command.handle +_login + + + + + +Node1->Node26 + + + + + +Node29 + + +penify_hook.commands.commit +_commands.setup_commit_parser + + + + + +Node1->Node29 + + + + + +Node30 + + +penify_hook.config +_command.setup_config +_parser + + + + + +Node1->Node30 + + + + + +Node31 + + +penify_hook.commands.doc +_commands.setup_docgen_parser + + + + + +Node1->Node31 + + + + + +Node32 + + +penify_hook.login_command.setup +_login_parser + + + + + +Node1->Node32 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node2->Node3 + + + + + +Node2->Node6 + + + + + +Node11 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node2->Node11 + + + + + +Node14 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node2->Node14 + + + + + +Node15 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2->Node15 + + + + + +Node4 + + +penify_hook.ui_utils.print +_error + + + + + +Node3->Node4 + + + + + +Node3->Node6 + + + + + +Node8 + + +penify_hook.ui_utils.print +_warning + + + + + +Node3->Node8 + + + + + +Node10 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node3->Node10 + + + + + +Node5 + + +penify_hook.ui_utils.format +_error + + + + + +Node4->Node5 + + + + + +Node7 + + +penify_hook.ui_utils.format_info + + + + + +Node6->Node7 + + + + + +Node9 + + +penify_hook.ui_utils.format +_warning + + + + + +Node8->Node9 + + + + + +Node10->Node10 + + + + + +Node12 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node11->Node12 + + + + + +Node13 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node11->Node13 + + + + + +Node13->Node10 + + + + + +Node13->Node13 + + + + + +Node14->Node12 + + + + + +Node14->Node13 + + + + + +Node15->Node12 + + + + + +Node15->Node13 + + + + + +Node16 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node15->Node16 + + + + + +Node16->Node10 + + + + + +Node18 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node17->Node18 + + + + + +Node19 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node17->Node19 + + + + + +Node20 + + +penify_hook.commands.config +_commands.config_llm_web + + + + + +Node17->Node20 + + + + + +Node21 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node17->Node21 + + + + + +Node18->Node11 + + + + + +Node18->Node19 + + + + + +Node19->Node10 + + + + + +Node21->Node10 + + + + + +Node22->Node15 + + + + + +Node23 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node22->Node23 + + + + + +Node24 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node22->Node24 + + + + + +Node25 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node22->Node25 + + + + + +Node27 + + +penify_hook.commands.auth +_commands.login + + + + + +Node26->Node27 + + + + + +Node28 + + +penify_hook.commands.auth +_commands.save_credentials + + + + + +Node27->Node28 + + + + + +Node28->Node10 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.md5 new file mode 100644 index 0000000..4bf17ac --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.md5 @@ -0,0 +1 @@ +3a9435159e82b3293bbcf47f41f2b41c \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.svg new file mode 100644 index 0000000..5001f6b --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.svg @@ -0,0 +1,28 @@ + + + + + + +penify_hook.main.main + + + +Node1 + + +penify_hook.main.main + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.md5 new file mode 100644 index 0000000..e8c2c22 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.md5 @@ -0,0 +1 @@ +e844738072248c6c64fdcc2330f4e553 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.svg new file mode 100644 index 0000000..54903a7 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.svg @@ -0,0 +1,259 @@ + + + + + + +penify_hook.ui_utils.format_warning + + + +Node1 + + +penify_hook.ui_utils.format +_warning + + + + + +Node2 + + +penify_hook.ui_utils.print +_warning + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node2->Node3 + + + + + +Node11 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node2->Node11 + + + + + +Node14 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node2->Node14 + + + + + +Node4 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node3->Node4 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node3->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node3->Node8 + + + + + +Node9 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node3->Node9 + + + + + +Node10 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node3->Node10 + + + + + +Node5 + + +penify_hook.main.main + + + + + +Node4->Node5 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node4->Node6 + + + + + +Node5->Node5 + + + + + +Node12 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node11->Node12 + + + + + +Node13 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node11->Node13 + + + + + +Node15 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node14->Node15 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.md5 new file mode 100644 index 0000000..61c5559 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.md5 @@ -0,0 +1 @@ +107c8ab941ac9fce368d49be27d3ad77 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.svg new file mode 100644 index 0000000..725dce6 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.svg @@ -0,0 +1,38 @@ + + + + + + +penify_hook.ui_utils.create_progress_bar + + + +Node1 + + +penify_hook.ui_utils.create +_progress_bar + + + + + +Node2 + + +penify_hook.ui_utils.format_info + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.md5 new file mode 100644 index 0000000..28e733d --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.md5 @@ -0,0 +1 @@ +31face48bece50b969dd777e2fc02655 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.svg new file mode 100644 index 0000000..5f29536 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.create_progress_bar + + + +Node1 + + +penify_hook.ui_utils.create +_progress_bar + + + + + +Node2 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.md5 new file mode 100644 index 0000000..95113cf --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.md5 @@ -0,0 +1 @@ +dc9c89eee18a938f2f9191abf1d0c4e3 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.svg new file mode 100644 index 0000000..0913177 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.print_warning + + + +Node1 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2 + + +penify_hook.ui_utils.format +_warning + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.md5 new file mode 100644 index 0000000..cd55665 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.md5 @@ -0,0 +1 @@ +9fb882734b6d928eec5be79c1f8ddcfd \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.svg new file mode 100644 index 0000000..45e4d85 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.svg @@ -0,0 +1,243 @@ + + + + + + +penify_hook.ui_utils.print_warning + + + +Node1 + + +penify_hook.ui_utils.print +_warning + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node10 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node1->Node10 + + + + + +Node13 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node1->Node13 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2->Node3 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node2->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node2->Node8 + + + + + +Node9 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node5 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node3->Node5 + + + + + +Node4->Node4 + + + + + +Node11 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node10->Node11 + + + + + +Node12 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node10->Node12 + + + + + +Node14 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node13->Node14 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.md5 new file mode 100644 index 0000000..2cb272d --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.md5 @@ -0,0 +1 @@ +86ecc3cd8eb77718a70cf2d0a033d81b \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.svg new file mode 100644 index 0000000..c5c8ad0 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.print_success + + + +Node1 + + +penify_hook.ui_utils.print +_success + + + + + +Node2 + + +penify_hook.ui_utils.format +_success + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.md5 new file mode 100644 index 0000000..aeb43db --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.md5 @@ -0,0 +1 @@ +5a5f4e31cb2a03012aa538af45b7c2f7 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.svg new file mode 100644 index 0000000..1be6b94 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.svg @@ -0,0 +1,71 @@ + + + + + + +penify_hook.ui_utils.print_success + + + +Node1 + + +penify_hook.ui_utils.print +_success + + + + + +Node2 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node1->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.md5 new file mode 100644 index 0000000..13a3f9b --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.md5 @@ -0,0 +1 @@ +07bb20aff57367351bd025b6bbac0225 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.svg new file mode 100644 index 0000000..344f55a --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.svg @@ -0,0 +1,38 @@ + + + + + + +penify_hook.ui_utils.create_stage_progress_bar + + + +Node1 + + +penify_hook.ui_utils.create +_stage_progress_bar + + + + + +Node2 + + +penify_hook.ui_utils.format_info + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.md5 new file mode 100644 index 0000000..2972d31 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.md5 @@ -0,0 +1 @@ +c7fe8cba89008798c4a6df0ce478844e \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.svg new file mode 100644 index 0000000..9b30dd3 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.create_stage_progress_bar + + + +Node1 + + +penify_hook.ui_utils.create +_stage_progress_bar + + + + + +Node2 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.md5 new file mode 100644 index 0000000..69b06bc --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.md5 @@ -0,0 +1 @@ +e9b17f53f8eea3fa235635a840d97fb5 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.svg new file mode 100644 index 0000000..75f49e6 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.svg @@ -0,0 +1,178 @@ + + + + + + +penify_hook.ui_utils.format_error + + + +Node1 + + +penify_hook.ui_utils.format +_error + + + + + +Node2 + + +penify_hook.ui_utils.print +_error + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node3->Node4 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node3->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node3->Node8 + + + + + +Node9 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node3->Node9 + + + + + +Node10 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node3->Node10 + + + + + +Node5 + + +penify_hook.main.main + + + + + +Node4->Node5 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node4->Node6 + + + + + +Node5->Node5 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.md5 new file mode 100644 index 0000000..5199573 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.md5 @@ -0,0 +1 @@ +e25efaa5775be3034819eb11f9cbeeb3 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.svg new file mode 100644 index 0000000..75e6afd --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.svg @@ -0,0 +1,87 @@ + + + + + + +penify_hook.ui_utils.format_success + + + +Node1 + + +penify_hook.ui_utils.format +_success + + + + + +Node2 + + +penify_hook.ui_utils.print +_success + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node2->Node4 + + + + + +Node5 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node2->Node5 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.md5 new file mode 100644 index 0000000..882dba5 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.md5 @@ -0,0 +1 @@ +3b447097b4d45a9b7a66bc911d7dd54f \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.svg new file mode 100644 index 0000000..49f0a57 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.svg @@ -0,0 +1,77 @@ + + + + + + +penify_hook.ui_utils.update_stage + + + +Node1 + + +penify_hook.ui_utils.update +_stage + + + + + +Node2 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.process_file + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node1->Node3 + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node2->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.md5 new file mode 100644 index 0000000..e14594c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.md5 @@ -0,0 +1 @@ +f7f77cf41919f414860683374ddefc0a \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.svg new file mode 100644 index 0000000..e5601e4 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.print_error + + + +Node1 + + +penify_hook.ui_utils.print +_error + + + + + +Node2 + + +penify_hook.ui_utils.format +_error + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.md5 new file mode 100644 index 0000000..8538194 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.md5 @@ -0,0 +1 @@ +9c27aeee4681a41d96bdc9cb1c2cd259 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.svg new file mode 100644 index 0000000..12b58a6 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.svg @@ -0,0 +1,162 @@ + + + + + + +penify_hook.ui_utils.print_error + + + +Node1 + + +penify_hook.ui_utils.print +_error + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2->Node3 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node2->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node2->Node8 + + + + + +Node9 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node5 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node3->Node5 + + + + + +Node4->Node4 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.md5 new file mode 100644 index 0000000..f566c4a --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.md5 @@ -0,0 +1 @@ +0ee2c99f818d114be866466bd3ca67e3 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.svg new file mode 100644 index 0000000..66b23f8 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.svg @@ -0,0 +1,37 @@ + + + + + + +penify_hook.ui_utils.print_info + + + +Node1 + + +penify_hook.ui_utils.print_info + + + + + +Node2 + + +penify_hook.ui_utils.format_info + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.md5 new file mode 100644 index 0000000..9d7b6fc --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.md5 @@ -0,0 +1 @@ +4693bdcc77b647a09f27d1c12b6cf38a \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.svg new file mode 100644 index 0000000..eca3aa9 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.svg @@ -0,0 +1,268 @@ + + + + + + +penify_hook.ui_utils.print_info + + + +Node1 + + +penify_hook.ui_utils.print_info + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node1->Node3 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node1->Node4 + + + + + +Node10 + + +penify_hook.jira_client. +JiraClient.extract_issue +_keys_from_branch + + + + + +Node1->Node10 + + + + + +Node11 + + +penify_hook.commit +_analyzer.CommitDocGenHook.get +_summary + + + + + +Node1->Node11 + + + + + +Node12 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node1->Node12 + + + + + +Node13 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node1->Node13 + + + + + +Node14 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node14 + + + + + +Node2->Node3 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node2->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node2->Node8 + + + + + +Node9 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node2->Node9 + + + + + +Node3->Node4 + + + + + +Node5 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node3->Node5 + + + + + +Node4->Node4 + + + + + +Node11->Node12 + + + + + +Node13->Node12 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.md5 new file mode 100644 index 0000000..0acebf0 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.md5 @@ -0,0 +1 @@ +ebb2d3fbd74327cb6297532859329884 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.svg new file mode 100644 index 0000000..64e8b48 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.svg @@ -0,0 +1,337 @@ + + + + + + +penify_hook.ui_utils.format_info + + + +Node1 + + +penify_hook.ui_utils.format_info + + + + + +Node2 + + +penify_hook.ui_utils.create +_progress_bar + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.ui_utils.create +_stage_progress_bar + + + + + +Node1->Node4 + + + + + +Node6 + + +penify_hook.ui_utils.print_info + + + + + +Node1->Node6 + + + + + +Node3 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node2->Node3 + + + + + +Node5 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node4->Node5 + + + + + +Node6->Node3 + + + + + +Node7 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node6->Node7 + + + + + +Node8 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node6->Node8 + + + + + +Node9 + + +penify_hook.main.main + + + + + +Node6->Node9 + + + + + +Node15 + + +penify_hook.jira_client. +JiraClient.extract_issue +_keys_from_branch + + + + + +Node6->Node15 + + + + + +Node16 + + +penify_hook.commit +_analyzer.CommitDocGenHook.get +_summary + + + + + +Node6->Node16 + + + + + +Node17 + + +penify_hook.commit +_analyzer.CommitDocGenHook.run + + + + + +Node6->Node17 + + + + + +Node18 + + +penify_hook.commit +_analyzer.CommitDocGenHook.process +_jira_integration + + + + + +Node6->Node18 + + + + + +Node7->Node8 + + + + + +Node11 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node7->Node11 + + + + + +Node12 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node7->Node12 + + + + + +Node13 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node7->Node13 + + + + + +Node14 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node7->Node14 + + + + + +Node8->Node9 + + + + + +Node10 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node8->Node10 + + + + + +Node9->Node9 + + + + + +Node16->Node17 + + + + + +Node18->Node17 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.md5 new file mode 100644 index 0000000..fc03531 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.md5 @@ -0,0 +1 @@ +cb2ef693a136057440c77b2ffc5fc5cc \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.svg new file mode 100644 index 0000000..d2fcc11 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.svg @@ -0,0 +1,55 @@ + + + + + + +penify_hook.ui_utils.print_status + + + +Node1 + + +penify_hook.ui_utils.print +_status + + + + + +Node2 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.run + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.md5 new file mode 100644 index 0000000..c14d515 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.md5 @@ -0,0 +1 @@ +65fe82e63024fcc065fa65dce2c0c8fb \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.svg new file mode 100644 index 0000000..5d98bf8 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.print_processing + + + +Node1 + + +penify_hook.ui_utils.print +_processing + + + + + +Node2 + + +penify_hook.ui_utils.format +_file_path + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.md5 new file mode 100644 index 0000000..568301c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.md5 @@ -0,0 +1 @@ +34c0d184b1a914e69d4b0bdacbaaff04 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.svg new file mode 100644 index 0000000..4185c69 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.svg @@ -0,0 +1,39 @@ + + + + + + +penify_hook.ui_utils.print_processing + + + +Node1 + + +penify_hook.ui_utils.print +_processing + + + + + +Node2 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.md5 new file mode 100644 index 0000000..354e231 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.md5 @@ -0,0 +1 @@ +788f6631fd68b88312b14eace530bcf4 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.svg new file mode 100644 index 0000000..aca9e47 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.svg @@ -0,0 +1,72 @@ + + + + + + +penify_hook.ui_utils.format_file_path + + + +Node1 + + +penify_hook.ui_utils.format +_file_path + + + + + +Node2 + + +penify_hook.ui_utils.print +_processing + + + + + +Node1->Node2 + + + + + +Node4 + + +penify_hook.file_analyzer. +FileAnalyzerGenHook.print +_processing + + + + + +Node1->Node4 + + + + + +Node3 + + +penify_hook.git_analyzer. +GitDocGenHook.run + + + + + +Node2->Node3 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.md5 b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.md5 new file mode 100644 index 0000000..1431c94 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.md5 @@ -0,0 +1 @@ +dd726258fb2e799d709d2647521b3371 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.svg b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.svg new file mode 100644 index 0000000..058cc5f --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.svg @@ -0,0 +1,29 @@ + + + + + + +penify_hook.utils.recursive_search_git_folder + + + +Node1 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node1 + + + + + diff --git a/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.md5 b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.md5 new file mode 100644 index 0000000..768ce43 --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.md5 @@ -0,0 +1 @@ +7f750ca69d16550b240f7065f5db45d2 \ No newline at end of file diff --git a/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.svg b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.svg new file mode 100644 index 0000000..a31134c --- /dev/null +++ b/docs/rtf/namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.svg @@ -0,0 +1,727 @@ + + + + + + +penify_hook.utils.recursive_search_git_folder + + + +Node1 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node1->Node1 + + + + + +Node2 + + +penify_hook.commands.commit +_commands.commit_code + + + + + +Node1->Node2 + + + + + +Node10 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node1->Node10 + + + + + +Node22 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node1->Node22 + + + + + +Node32 + + +penify_hook.commands.auth +_commands.save_credentials + + + + + +Node1->Node32 + + + + + +Node35 + + +penify_hook.commands.config +_commands.save_jira_config + + + + + +Node1->Node35 + + + + + +Node37 + + +penify_hook.commands.config +_commands.save_llm_config + + + + + +Node1->Node37 + + + + + +Node3 + + +penify_hook.commands.commit +_commands.handle_commit + + + + + +Node2->Node3 + + + + + +Node6 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_error_handling + + + + + +Node2->Node6 + + + + + +Node7 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_client + + + + + +Node2->Node7 + + + + + +Node8 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_jira_connection +_failure + + + + + +Node2->Node8 + + + + + +Node9 + + +tests.test_commit_commands. +TestCommitCommands.test +_commit_code_with_llm_client + + + + + +Node2->Node9 + + + + + +Node4 + + +penify_hook.main.main + + + + + +Node3->Node4 + + + + + +Node5 + + +tests.test_commit_commands. +TestCommitCommands.test +_handle_commit + + + + + +Node3->Node5 + + + + + +Node4->Node4 + + + + + +Node11 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node10->Node11 + + + + + +Node20 + + +tests.test_config_commands. +TestConfigCommands.test +_get_penify_config_existing_dir + + + + + +Node10->Node20 + + + + + +Node21 + + +tests.test_config_commands. +TestConfigCommands.test +_get_penify_config_new_dir + + + + + +Node10->Node21 + + + + + +Node11->Node3 + + + + + +Node12 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node11->Node12 + + + + + +Node17 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_config + + + + + +Node11->Node17 + + + + + +Node18 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_from_env + + + + + +Node11->Node18 + + + + + +Node19 + + +tests.test_config_commands. +TestConfigCommands.test +_get_token_not_found + + + + + +Node11->Node19 + + + + + +Node12->Node4 + + + + + +Node13 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node12->Node13 + + + + + +Node14 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node12->Node14 + + + + + +Node15 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node12->Node15 + + + + + +Node16 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node12->Node16 + + + + + +Node22->Node11 + + + + + +Node22->Node22 + + + + + +Node23 + + +penify_hook.commands.config +_commands.get_jira_config + + + + + +Node22->Node23 + + + + + +Node28 + + +penify_hook.commands.config +_commands.get_llm_config + + + + + +Node22->Node28 + + + + + +Node23->Node3 + + + + + +Node24 + + +penify_hook.commands.config +_commands.config_jira_web + + + + + +Node23->Node24 + + + + + +Node27 + + +tests.test_config_commands. +TestConfigCommands.test +_get_jira_config_exists + + + + + +Node23->Node27 + + + + + +Node25 + + +penify_hook.config +_command.handle_config + + + + + +Node24->Node25 + + + + + +Node26 + + +tests.test_web_config.Test +WebConfig.test_config_jira +_web_server_setup + + + + + +Node24->Node26 + + + + + +Node25->Node4 + + + + + +Node28->Node3 + + + + + +Node29 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_empty + + + + + +Node28->Node29 + + + + + +Node30 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_exists + + + + + +Node28->Node30 + + + + + +Node31 + + +tests.test_config_commands. +TestConfigCommands.test +_get_llm_config_invalid_json + + + + + +Node28->Node31 + + + + + +Node33 + + +penify_hook.commands.auth +_commands.login + + + + + +Node32->Node33 + + + + + +Node34 + + +penify_hook.login_command.handle +_login + + + + + +Node33->Node34 + + + + + +Node34->Node4 + + + + + +Node35->Node24 + + + + + +Node35->Node25 + + + + + +Node36 + + +tests.test_config_commands. +TestConfigCommands.test +_save_jira_config_success + + + + + +Node35->Node36 + + + + + +Node37->Node25 + + + + + +Node38 + + +tests.test_config_commands. +TestConfigCommands.test +_save_llm_config_failure + + + + + +Node37->Node38 + + + + + +Node39 + + +tests.test_config_commands. +TestConfigCommands.test +_save_llm_config_success + + + + + +Node37->Node39 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.md5 new file mode 100644 index 0000000..b280dc5 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.md5 @@ -0,0 +1 @@ +28c17f21f2a2a250d23b14c68e3e5d3a \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.svg new file mode 100644 index 0000000..fc67c78 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +tests.test_doc_commands.test_generate_doc_file_location + + + +Node1 + + +tests.test_doc_commands.test +_generate_doc_file_location + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.md5 new file mode 100644 index 0000000..53e2e0a --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.md5 @@ -0,0 +1 @@ +192fbe5412db3710d1849692c54ac106 \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.svg new file mode 100644 index 0000000..0c38fcf --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +tests.test_doc_commands.test_setup_docgen_parser + + + +Node1 + + +tests.test_doc_commands.test +_setup_docgen_parser + + + + + +Node2 + + +penify_hook.commands.doc +_commands.setup_docgen_parser + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.md5 new file mode 100644 index 0000000..300f399 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.md5 @@ -0,0 +1 @@ +aef759552fc6cc4d80899b0b13739a5e \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.svg new file mode 100644 index 0000000..4d2e365 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.svg @@ -0,0 +1,186 @@ + + + + + + +tests.test_doc_commands.test_handle_docgen_uninstall_hook + + + +Node1 + + +tests.test_doc_commands.test +_handle_docgen_uninstall_hook + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2->Node4 + + + + + +Node9 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node2->Node9 + + + + + +Node10 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node2->Node10 + + + + + +Node5 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node4->Node5 + + + + + +Node6 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node4->Node6 + + + + + +Node8 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node4->Node8 + + + + + +Node7 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node6->Node7 + + + + + +Node7->Node7 + + + + + +Node8->Node7 + + + + + +Node8->Node8 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.md5 new file mode 100644 index 0000000..ef64a42 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.md5 @@ -0,0 +1 @@ +10d76966ac7089e8706fb1aec3e4f9d6 \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.svg new file mode 100644 index 0000000..2445c23 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +tests.test_doc_commands.test_generate_doc_with_file_exception + + + +Node1 + + +tests.test_doc_commands.test +_generate_doc_with_file_exception + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.md5 new file mode 100644 index 0000000..076630a --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.md5 @@ -0,0 +1 @@ +064f1a8c9470887507dea5cf5dd184eb \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.svg new file mode 100644 index 0000000..d0a2d25 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +tests.test_doc_commands.test_generate_doc_folder_location + + + +Node1 + + +tests.test_doc_commands.test +_generate_doc_folder_location + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.md5 new file mode 100644 index 0000000..314f15d --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.md5 @@ -0,0 +1 @@ +e42b926dad2f0ff5205af415d972f1da \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.svg new file mode 100644 index 0000000..e97c365 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.svg @@ -0,0 +1,40 @@ + + + + + + +tests.test_doc_commands.test_generate_doc_with_folder_exception + + + +Node1 + + +tests.test_doc_commands.test +_generate_doc_with_folder +_exception + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.md5 new file mode 100644 index 0000000..99c08a9 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.md5 @@ -0,0 +1 @@ +d4d1f9d92eb42ae249ce3409ab7627ac \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.svg new file mode 100644 index 0000000..46d7331 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +tests.test_doc_commands.test_generate_doc_no_location + + + +Node1 + + +tests.test_doc_commands.test +_generate_doc_no_location + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.md5 new file mode 100644 index 0000000..28ac74a --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.md5 @@ -0,0 +1 @@ +810237d2c8640fcab5bd4448f12a9692 \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.svg new file mode 100644 index 0000000..6706a8c --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.svg @@ -0,0 +1,186 @@ + + + + + + +tests.test_doc_commands.test_handle_docgen_generate + + + +Node1 + + +tests.test_doc_commands.test +_handle_docgen_generate + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2->Node4 + + + + + +Node9 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node2->Node9 + + + + + +Node10 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node2->Node10 + + + + + +Node5 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node4->Node5 + + + + + +Node6 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node4->Node6 + + + + + +Node8 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node4->Node8 + + + + + +Node7 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node6->Node7 + + + + + +Node7->Node7 + + + + + +Node8->Node7 + + + + + +Node8->Node8 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.md5 new file mode 100644 index 0000000..56e1467 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.md5 @@ -0,0 +1 @@ +dc60bba75d6f8dafbd4701e4ac271385 \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.svg new file mode 100644 index 0000000..b4c88c5 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.svg @@ -0,0 +1,186 @@ + + + + + + +tests.test_doc_commands.test_handle_docgen_install_hook + + + +Node1 + + +tests.test_doc_commands.test +_handle_docgen_install_hook + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2->Node4 + + + + + +Node9 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node2->Node9 + + + + + +Node10 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node2->Node10 + + + + + +Node5 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node4->Node5 + + + + + +Node6 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node4->Node6 + + + + + +Node8 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node4->Node8 + + + + + +Node7 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node6->Node7 + + + + + +Node7->Node7 + + + + + +Node8->Node7 + + + + + +Node8->Node8 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.md5 new file mode 100644 index 0000000..ef9f04c --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.md5 @@ -0,0 +1 @@ +7930a342103b95a29b43ca93e1212cff \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.svg new file mode 100644 index 0000000..6172b6f --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.svg @@ -0,0 +1,39 @@ + + + + + + +tests.test_doc_commands.test_generate_doc_error_handling + + + +Node1 + + +tests.test_doc_commands.test +_generate_doc_error_handling + + + + + +Node2 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node1->Node2 + + + + + diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.md5 b/docs/rtf/namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.md5 new file mode 100644 index 0000000..8969799 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.md5 @@ -0,0 +1 @@ +4dfa85ad92a13ab307edd504ab65bb1a \ No newline at end of file diff --git a/docs/rtf/namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.svg b/docs/rtf/namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.svg new file mode 100644 index 0000000..e5d09f9 --- /dev/null +++ b/docs/rtf/namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.svg @@ -0,0 +1,186 @@ + + + + + + +tests.test_doc_commands.test_handle_docgen_no_token + + + +Node1 + + +tests.test_doc_commands.test +_handle_docgen_no_token + + + + + +Node2 + + +penify_hook.commands.doc +_commands.handle_docgen + + + + + +Node1->Node2 + + + + + +Node3 + + +penify_hook.commands.doc +_commands.generate_doc + + + + + +Node2->Node3 + + + + + +Node4 + + +penify_hook.commands.config +_commands.get_token + + + + + +Node2->Node4 + + + + + +Node9 + + +penify_hook.commands.hook +_commands.install_git_hook + + + + + +Node2->Node9 + + + + + +Node10 + + +penify_hook.commands.hook +_commands.uninstall_git_hook + + + + + +Node2->Node10 + + + + + +Node5 + + +penify_hook.commands.config +_commands.get_env_var_or +_default + + + + + +Node4->Node5 + + + + + +Node6 + + +penify_hook.commands.config +_commands.get_penify_config + + + + + +Node4->Node6 + + + + + +Node8 + + +penify_hook.commands.config +_commands.load_env_files + + + + + +Node4->Node8 + + + + + +Node7 + + +penify_hook.utils.recursive +_search_git_folder + + + + + +Node6->Node7 + + + + + +Node7->Node7 + + + + + +Node8->Node7 + + + + + +Node8->Node8 + + + + + diff --git a/docs/rtf/refman.rtf b/docs/rtf/refman.rtf new file mode 100644 index 0000000..9adbf64 --- /dev/null +++ b/docs/rtf/refman.rtf @@ -0,0 +1,8871 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033 +{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green128\blue0;\red96\green64\blue32;\rede0\green128\blue0;\red128\green0\blue0;\red128\green96\blue32;\red0\green32\blue128;\red0\green128\blue128;\red255\green0\blue255;\red0\green0\blue0;\red112\green0\blue112;\red255\green0\blue0;} +{\stylesheet +{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;} +{\paperw11900\paperh16840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect} +{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;} +{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;} +{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;} +{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;} +{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;} +{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;} +{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;} +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;} +{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;} +{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;} +{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;} +{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;} +{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;} +{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;} +{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;} +{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;} +{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;} +{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;} +{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;} +{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;} +{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;} +{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext50 Code Example 9;} +{\s50\li3600\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext51 Code Example 10;} +{\s51\li3960\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext52 Code Example 11;} +{\s52\li4320\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 12;} +{\s53\li4680\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext53 Code Example 13;} +{\s60\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext61 List Continue 0;} +{\s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext62 List Continue 1;} +{\s62\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext63 List Continue 2;} +{\s63\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext64 List Continue 3;} +{\s64\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext65 List Continue 4;} +{\s65\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext66 List Continue 5;} +{\s66\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext67 List Continue 6;} +{\s67\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext68 List Continue 7;} +{\s68\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext69 List Continue 8;} +{\s69\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext70 List Continue 9;} +{\s70\li3600\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext71 List Continue 10;} +{\s71\li3960\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext72 List Continue 11;} +{\s72\li4320\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 12;} +{\s73\li4680\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext73 List Continue 13;} +{\s80\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext81 DescContinue 0;} +{\s81\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext82 DescContinue 1;} +{\s82\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext83 DescContinue 2;} +{\s83\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext84 DescContinue 3;} +{\s84\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext85 DescContinue 4;} +{\s85\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext86 DescContinue 5;} +{\s86\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext87 DescContinue 6;} +{\s87\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext88 DescContinue 7;} +{\s88\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext89 DescContinue 8;} +{\s89\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext90 DescContinue 9;} +{\s90\li3600\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext91 DescContinue 10;} +{\s91\li3960\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext92 DescContinue 11;} +{\s92\li4320\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 12;} +{\s93\li4680\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext93 DescContinue 13;} +{\s100\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext101 LatexTOC 0;} +{\s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext102 LatexTOC 1;} +{\s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext103 LatexTOC 2;} +{\s103\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext104 LatexTOC 3;} +{\s104\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext105 LatexTOC 4;} +{\s105\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext106 LatexTOC 5;} +{\s106\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext107 LatexTOC 6;} +{\s107\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext108 LatexTOC 7;} +{\s108\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext109 LatexTOC 8;} +{\s109\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext110 LatexTOC 9;} +{\s110\li3600\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext111 LatexTOC 10;} +{\s111\li3960\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext112 LatexTOC 11;} +{\s112\li4320\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 12;} +{\s113\li4680\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext113 LatexTOC 13;} +{\s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext121 \sautoupd List Bullet 0;} +{\s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext122 \sautoupd List Bullet 1;} +{\s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext123 \sautoupd List Bullet 2;} +{\s123\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext124 \sautoupd List Bullet 3;} +{\s124\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext125 \sautoupd List Bullet 4;} +{\s125\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext126 \sautoupd List Bullet 5;} +{\s126\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext127 \sautoupd List Bullet 6;} +{\s127\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext128 \sautoupd List Bullet 7;} +{\s128\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext129 \sautoupd List Bullet 8;} +{\s129\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext130 \sautoupd List Bullet 9;} +{\s130\fi-360\li3960\widctlpar\jclisttab\tx3960{\*\pn \pnlvlbody\ilvl0\ls11\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext131 \sautoupd List Bullet 10;} +{\s131\fi-360\li4320\widctlpar\jclisttab\tx4320{\*\pn \pnlvlbody\ilvl0\ls12\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext132 \sautoupd List Bullet 11;} +{\s132\fi-360\li4680\widctlpar\jclisttab\tx4680{\*\pn \pnlvlbody\ilvl0\ls13\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 12;} +{\s133\fi-360\li5040\widctlpar\jclisttab\tx5040{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext133 \sautoupd List Bullet 13;} +{\s140\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext141 \sautoupd List Enum 0;} +{\s141\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext142 \sautoupd List Enum 1;} +{\s142\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext143 \sautoupd List Enum 2;} +{\s143\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext144 \sautoupd List Enum 3;} +{\s144\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext145 \sautoupd List Enum 4;} +{\s145\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext146 \sautoupd List Enum 5;} +{\s146\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext147 \sautoupd List Enum 6;} +{\s147\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext148 \sautoupd List Enum 7;} +{\s148\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext149 \sautoupd List Enum 8;} +{\s149\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext150 \sautoupd List Enum 9;} +{\s150\fi-360\li3960\widctlpar\fs20\cgrid \sbasedon0 \snext151 \sautoupd List Enum 10;} +{\s151\fi-360\li4320\widctlpar\fs20\cgrid \sbasedon0 \snext152 \sautoupd List Enum 11;} +{\s152\fi-360\li4680\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 12;} +{\s153\fi-360\li5040\widctlpar\fs20\cgrid \sbasedon0 \snext153 \sautoupd List Enum 13;} +} +{\info +{\title {\comment penify-cli }penify-cli} +{\comment Generated by doxygen 1.9.4.} +{\creatim \yr2025\mo5\dy15\hr10\min20\sec10} +}\pard\plain +\sectd\pgnlcrm +{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}} +\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid +\vertalc\qc\par\par\par\par\par\par\par +\pard\plain \s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid +{\field\fldedit {\*\fldinst TITLE \\*MERGEFORMAT}{\fldrslt penify-cli}}\par +\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid +\par +\par\par\par\par\par\par\par\par\par\par\par\par +\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid +{\field\fldedit {\*\fldinst AUTHOR \\*MERGEFORMAT}{\fldrslt AUTHOR}}\par +Version \par{\field\fldedit {\*\fldinst CREATEDATE \\*MERGEFORMAT}{\fldrslt Thu May 15 2025 }}\par +\page\page\vertalt +\pard\plain +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Table of Contents\par +\pard\plain \par +{\field\fldedit {\*\fldinst TOC \\f \\*MERGEFORMAT}{\fldrslt Table of contents}}\par +\pard\plain +\sect \sbkpage \pgndec \pgnrestart +\sect \sectd \sbknone +{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Penify CLI - Commit Commands{\tc \v Penify CLI - Commit Commands}\par \pard\plain +{\bkmkstart AAAAAAAAPB} +{\bkmkend AAAAAAAAPB} +\par \pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The {\f2 commit} command allows you to generate smart, AI-powered commit messages for your Git changes. This document explains all available options and combinations.\par +{\bkmkstart AAAAAAAABJ} +{\bkmkend AAAAAAAABJ} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Basic Usage +\par} +{\tc\tcl2 \v Basic Usage} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit\par +} +\par +By default, this command:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Analyzes your staged Git changes\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Generates a concise commit title only\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Uses local LLM if configured, or falls back to Penify API\par} +\par +\par} +{\bkmkstart AAAAAAAABK} +{\bkmkend AAAAAAAABK} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Command Options +\par} +{\tc\tcl2 \v Command Options} +{\bkmkstart AAAAAAAABL} +{\bkmkend AAAAAAAABL} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +-m, --message +\par} +{\tc\tcl3 \v -m, --message} +Provide context for the commit message generation:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -m "Fix login flow"\par +} +\par +This hint helps the AI understand your intention and improves the quality of the generated message.\par} +{\bkmkstart AAAAAAAABM} +{\bkmkend AAAAAAAABM} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +-e, --terminal +\par} +{\tc\tcl3 \v -e, --terminal} +Open an editor to review and edit the generated commit message before committing:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -e\par +} +\par +This opens your default Git editor with the generated message for review.\par} +{\bkmkstart AAAAAAAABN} +{\bkmkend AAAAAAAABN} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +-d, --description +\par} +{\tc\tcl3 \v -d, --description} +Generate a detailed commit message with both title and description:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -d\par +} +\par +Without this flag, only the commit title is generated.\par} +\par} +{\bkmkstart AAAAAAAABO} +{\bkmkend AAAAAAAABO} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Option Combinations +\par} +{\tc\tcl2 \v Option Combinations} +You can combine these options for different workflows:\par +{\bkmkstart AAAAAAAABP} +{\bkmkend AAAAAAAABP} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate Title Only with Context +\par} +{\tc\tcl3 \v Generate Title Only with Context} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -m "Update login UI"\par +} +\par} +{\bkmkstart AAAAAAAABQ} +{\bkmkend AAAAAAAABQ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate Title and Description with Context +\par} +{\tc\tcl3 \v Generate Title and Description with Context} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -m "Update login UI" -d\par +} +\par} +{\bkmkstart AAAAAAAABR} +{\bkmkend AAAAAAAABR} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate and Edit Full Commit Message +\par} +{\tc\tcl3 \v Generate and Edit Full Commit Message} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -d -e\par +} +\par} +{\bkmkstart AAAAAAAABS} +{\bkmkend AAAAAAAABS} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate, Edit, and Provide Context +\par} +{\tc\tcl3 \v Generate, Edit, and Provide Context} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit -m "Refactor authentication" -d -e\par +} +\par} +\par} +{\bkmkstart AAAAAAAABT} +{\bkmkend AAAAAAAABT} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +LLM and JIRA Integration +\par} +{\tc\tcl2 \v LLM and JIRA Integration} +{\bkmkstart AAAAAAAABU} +{\bkmkend AAAAAAAABU} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Using Local LLM +\par} +{\tc\tcl3 \v Using Local LLM} +If you've configured a local LLM using {\f2 penify config llm} , the commit command will automatically use it for message generation.\par +Benefits:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Privacy: your code changes don't leave your machine\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Speed: no network latency\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Works offline\par} +\par +\par} +{\bkmkstart AAAAAAAABV} +{\bkmkend AAAAAAAABV} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +JIRA Enhancement +\par} +{\tc\tcl3 \v JIRA Enhancement} +If you've configured JIRA integration using {\f2 penify config jira} , the commit command will:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Detect JIRA issue references in your changes\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Fetch issue details from your JIRA instance\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Include issue information in the commit message\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +4.\tab Format the commit message according to JIRA's smart commit format\par} +\par +Example output: { +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid PROJ-123: Fix authentication bug in login flow\par +\par +- Updated OAuth token validation\par +- Fixed session timeout handling\par +- Added unit tests for edge cases\par +\par +[PROJ-123]\par +} +\par} +\par} +{\bkmkstart AAAAAAAABW} +{\bkmkend AAAAAAAABW} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Configuration Requirements +\par} +{\tc\tcl2 \v Configuration Requirements} +For the {\f2 commit} command to work:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab You must have configured either:{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Local LLM via {\f2 penify config llm} , OR\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Logged in via {\f2 penify login} \par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab For JIRA enhancement (optional):{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Configure JIRA via {\f2 penify config jira} \par} +} +\par +\par} +{\bkmkstart AAAAAAAABX} +{\bkmkend AAAAAAAABX} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Examples +\par} +{\tc\tcl2 \v Examples} +{\bkmkstart AAAAAAAABY} +{\bkmkend AAAAAAAABY} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Basic Commit with Default Settings +\par} +{\tc\tcl3 \v Basic Commit with Default Settings} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Stage your changes\par +git add .\par +\par +# Generate commit message\par +penify commit\par +\par +# Commit with the generated message\par +git commit -m "Generated message here"\par +} +\par} +{\bkmkstart AAAAAAAABZ} +{\bkmkend AAAAAAAABZ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Full Workflow with All Features +\par} +{\tc\tcl3 \v Full Workflow with All Features} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Stage your changes\par +git add .\par +\par +# Generate detailed commit message with JIRA integration, \par +# provide context, and open editor for review\par +penify commit -m "Fix login issue" -d -e\par +\par +# The commit is automatically completed after you save and exit the editor\par +} +\par} +\par} +{\bkmkstart AAAAAAAACA} +{\bkmkend AAAAAAAACA} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Troubleshooting +\par} +{\tc\tcl2 \v Troubleshooting} +{\bkmkstart AAAAAAAACB} +{\bkmkend AAAAAAAACB} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Common Issues +\par} +{\tc\tcl3 \v Common Issues} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab **"No LLM model or API token provided"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Run {\f2 penify config llm} to configure a local LLM, or\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Run {\f2 penify login} to authenticate with Penify\par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab **"Failed to connect to JIRA"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check your JIRA configuration with {\f2 cat ~/.penify} \par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Verify your network connection\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure your JIRA credentials are valid\par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab **"Error initializing LLM client"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Verify your LLM configuration settings\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure the LLM API is accessible \par} +} +\par +\par} +\par} +}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Penify CLI - Configuration Commands{\tc \v Penify CLI - Configuration Commands}\par \pard\plain +{\bkmkstart AAAAAAAAPC} +{\bkmkend AAAAAAAAPC} +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +The {\f2 config} command allows you to set up and manage configuration settings for Penify CLI. This document explains all available configuration options and how to use them.\par +{\bkmkstart AAAAAAAACC} +{\bkmkend AAAAAAAACC} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Configuration Overview +\par} +{\tc\tcl2 \v Configuration Overview} +Penify CLI stores configuration in a JSON file at {\f2 ~/.penify/config.json} . The configuration includes:\par +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +LLM (Large Language Model) settings for local commit message generation\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +JIRA integration settings for enhanced commit messages\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API tokens and other credentials\par} +\par +\par} +{\bkmkstart AAAAAAAACD} +{\bkmkend AAAAAAAACD} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Basic Usage +\par} +{\tc\tcl2 \v Basic Usage} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Configure LLM settings\par +penify config llm\par +\par +# Configure JIRA integration\par +penify config jira\par +} +\par} +{\bkmkstart AAAAAAAACE} +{\bkmkend AAAAAAAACE} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +LLM Configuration +\par} +{\tc\tcl2 \v LLM Configuration} +{\bkmkstart AAAAAAAACF} +{\bkmkend AAAAAAAACF} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Web Interface +\par} +{\tc\tcl3 \v Web Interface} +Running {\f2 penify config llm} opens a web interface in your browser where you can configure:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab {\b Model} : The LLM model to use (e.g., {\f2 gpt-3.5-turbo} )\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab {\b API Base URL} : The endpoint URL for your LLM API (e.g., {\f2 {\f2 https://api.openai.com/v1}} )\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab {\b API Key} : Your authentication key for the LLM API\par} +\par +\par} +{\bkmkstart AAAAAAAACG} +{\bkmkend AAAAAAAACG} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Supported LLMs +\par} +{\tc\tcl3 \v Supported LLMs} +Penify CLI supports various LLM providers:\par +{\bkmkstart AAAAAAAACH} +{\bkmkend AAAAAAAACH} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +OpenAI +\par} +{\tc\tcl4 \v OpenAI} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Model: {\f2 gpt-3.5-turbo} or {\f2 gpt-4} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Base: {\f2 {\f2 https://api.openai.com/v1}} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Key: Your OpenAI API key\par} +\par +\par} +{\bkmkstart AAAAAAAACI} +{\bkmkend AAAAAAAACI} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Anthropic +\par} +{\tc\tcl4 \v Anthropic} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Model: {\f2 claude-instant-1} or {\f2 claude-2} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Base: {\f2 {\f2 https://api.anthropic.com/v1}} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Key: Your Anthropic API key\par} +\par +\par} +{\bkmkstart AAAAAAAACJ} +{\bkmkend AAAAAAAACJ} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Ollama (Local) +\par} +{\tc\tcl4 \v Ollama (Local)} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Model: {\f2 llama2} or any model you have installed\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Base: {\f2 {\f2 http://localhost:11434}} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Key: (leave blank)\par} +\par +\par} +{\bkmkstart AAAAAAAACK} +{\bkmkend AAAAAAAACK} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Azure OpenAI +\par} +{\tc\tcl4 \v Azure OpenAI} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Model: Your deployed model name\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Base: Your Azure endpoint\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Key: Your Azure API key\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAACL} +{\bkmkend AAAAAAAACL} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Configuration File Structure +\par} +{\tc\tcl3 \v Configuration File Structure} +After configuration, your {\f2 ~/.penify/config.json} will contain:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \{\par + "llm": \{\par + "model": "gpt-3.5-turbo",\par + "api_base": "https://api.openai.com/v1",\par + "api_key": "sk-..."\par + \}\par +\}\par +} +\par} +\par} +{\bkmkstart AAAAAAAACM} +{\bkmkend AAAAAAAACM} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +JIRA Configuration +\par} +{\tc\tcl2 \v JIRA Configuration} +{\bkmkstart AAAAAAAACN} +{\bkmkend AAAAAAAACN} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Web Interface +\par} +{\tc\tcl3 \v Web Interface} +Running {\f2 penify config jira} opens a web interface where you can configure:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab {\b JIRA URL} : Your JIRA instance URL (e.g., {\f2 {\f2 https://yourcompany.atlassian.net}} )\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab {\b Username} : Your JIRA username (typically your email)\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab {\b API Token} : Your JIRA API token\par} +\par +\par} +{\bkmkstart AAAAAAAACO} +{\bkmkend AAAAAAAACO} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Creating a JIRA API Token +\par} +{\tc\tcl3 \v Creating a JIRA API Token} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Log in to {\f2 https://id.atlassian.com/manage-profile/security/api-tokens}\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Click "Create API token"\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Give it a name (e.g., "Penify CLI")\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +4.\tab Copy the generated token and paste it into the configuration\par} +\par +\par} +{\bkmkstart AAAAAAAACP} +{\bkmkend AAAAAAAACP} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Configuration File Structure +\par} +{\tc\tcl3 \v Configuration File Structure} +After configuration, your {\f2 ~/.penify/config.json} will contain:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \{\par + "jira": \{\par + "url": "https://yourcompany.atlassian.net",\par + "username": "your.email@example.com",\par + "api_token": "your-jira-api-token"\par + \}\par +\}\par +} +\par} +\par} +{\bkmkstart AAAAAAAACQ} +{\bkmkend AAAAAAAACQ} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Configuration Locations +\par} +{\tc\tcl2 \v Configuration Locations} +Penify CLI looks for configuration in multiple locations:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Project-specific: {\f2 .penify/config.json} in the Git repository root\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab User-specific: {\f2 ~/.penify/config.json} in your home directory\par} +\par +The project-specific configuration takes precedence if both exist.\par} +{\bkmkstart AAAAAAAACR} +{\bkmkend AAAAAAAACR} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Environment Variables +\par} +{\tc\tcl2 \v Environment Variables} +You can override configuration settings using environment variables:\par +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_API_TOKEN} : Override the stored API token\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_LLM_MODEL} : Override the configured LLM model\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_LLM_API_BASE} : Override the configured LLM API base URL\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_LLM_API_KEY} : Override the configured LLM API key\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_JIRA_URL} : Override the configured JIRA URL\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_JIRA_USER} : Override the configured JIRA username\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 PENIFY_JIRA_TOKEN} : Override the configured JIRA API token\par} +\par +Example: { +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid export PENIFY_LLM_MODEL="gpt-4"\par +penify commit\par +} +\par} +{\bkmkstart AAAAAAAACS} +{\bkmkend AAAAAAAACS} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Command-Line Configuration +\par} +{\tc\tcl2 \v Command-Line Configuration} +For advanced users or scripting, you can directly edit the configuration file:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # View current configuration\par +cat ~/.penify/config.json\par +\par +# Edit configuration with your preferred editor\par +nano ~/.penify/config.json\par +} +\par} +{\bkmkstart AAAAAAAACT} +{\bkmkend AAAAAAAACT} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Sharing Configuration +\par} +{\tc\tcl2 \v Sharing Configuration} +You can share configuration between machines by copying the {\f2 .penify/config.json} file. However, be cautious with API keys and credentials.\par +For team settings, consider:{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Using a project-specific {\f2 .penify/config.json} with shared settings\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Excluding API keys from shared configuration\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Using environment variables for sensitive credentials\par} +\par +\par} +{\bkmkstart AAAAAAAACU} +{\bkmkend AAAAAAAACU} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Troubleshooting +\par} +{\tc\tcl2 \v Troubleshooting} +{\bkmkstart AAAAAAAACV} +{\bkmkend AAAAAAAACV} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Common Issues +\par} +{\tc\tcl3 \v Common Issues} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab **"Error reading configuration file"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check if the file exists: {\f2 ls -la ~/.penify} \par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure it contains valid JSON: {\f2 cat ~/.penify/config.json} \par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab **"Failed to connect to LLM API"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Verify API base URL and API key\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check network connectivity to the API endpoint\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure your account has access to the specified model\par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab **"Failed to connect to JIRA"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check JIRA URL format (should include {\f2 {\f2 https://}} )\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Verify username and API token\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure your JIRA account has API access permissions \par} +} +\par +\par} +\par} +}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Penify CLI - Detailed Usage Guide{\tc \v Penify CLI - Detailed Usage Guide}\par \pard\plain +{\bkmkstart AAAAAAAAPD} +{\bkmkend AAAAAAAAPD} +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +This document provides in-depth information about all features and capabilities of the Penify CLI tool.\par +{\bkmkstart AAAAAAAACW} +{\bkmkend AAAAAAAACW} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Table of Contents +\par} +{\tc\tcl2 \v Table of Contents} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Penify CLI - Detailed Usage Guide{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Table of Contents\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Authentication{ +\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Login Process\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +API Token Storage\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Token Precedence\par} +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Command Overview\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Commit Message Generation\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Code Documentation Generation{ +\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Use Cases\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Authentication Requirement\par} +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Configuration Settings\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Git Hooks{ +\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Post-Commit Hook\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Custom Hook Location\par} +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Advanced Use Cases{ +\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +CI/CD Integration\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Remote Repository Documentation\par} +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Troubleshooting{ +\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Common Issues\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Logs\par +\pard\plain \s122\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Support\par} +} +} +\par +\par} +{\bkmkstart AAAAAAAACX} +{\bkmkend AAAAAAAACX} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Authentication +\par} +{\tc\tcl2 \v Authentication} +{\bkmkstart AAAAAAAACY} +{\bkmkend AAAAAAAACY} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Login Process +\par} +{\tc\tcl3 \v Login Process} +When you run {\f2 penify login} , the tool:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Opens your default web browser\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Redirects you to Penify's login page\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Captures the authentication token after successful login\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +4.\tab Saves the token in {\f2 ~/.penify} file\par} +\par +\par} +{\bkmkstart AAAAAAAACZ} +{\bkmkend AAAAAAAACZ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +API Token Storage +\par} +{\tc\tcl3 \v API Token Storage} +API tokens are stored in your home directory in the {\f2 .penify} file. This JSON file contains:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \{\par + "api_keys": "your-api-token",\par + "llm": \{ "model": "...", "api_base": "...", "api_key": "..." \},\par + "jira": \{ "url": "...", "username": "...", "api_token": "..." \}\par +\}\par +} +\par} +{\bkmkstart AAAAAAAADA} +{\bkmkend AAAAAAAADA} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Token Precedence +\par} +{\tc\tcl3 \v Token Precedence} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Environment variable {\f2 PENIFY_API_TOKEN} (highest priority)\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Token in {\f2 ~/.penify} file\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAADB} +{\bkmkend AAAAAAAADB} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Command Overview +\par} +{\tc\tcl2 \v Command Overview} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify\par +\'E2\'94\'9C\'E2\'94\'80\'E2\'94\'80 commit Generate smart commit messages\par +\'E2\'94\'9C\'E2\'94\'80\'E2\'94\'80 config Configure local LLM and JIRA\par +\'E2\'94\'82 \'E2\'94\'9C\'E2\'94\'80\'E2\'94\'80 llm Configure local LLM settings\par +\'E2\'94\'82 \'E2\'94\'94\'E2\'94\'80\'E2\'94\'80 jira Configure JIRA integration\par +\'E2\'94\'9C\'E2\'94\'80\'E2\'94\'80 login Log in to Penify account\par +\'E2\'94\'94\'E2\'94\'80\'E2\'94\'80 docgen Generate code documentation\par + \'E2\'94\'9C\'E2\'94\'80\'E2\'94\'80 install-hook Install Git post-commit hook\par + \'E2\'94\'94\'E2\'94\'80\'E2\'94\'80 uninstall-hook Remove Git post-commit hook\par +} +\par} +{\bkmkstart AAAAAAAADC} +{\bkmkend AAAAAAAADC} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Commit Message Generation +\par} +{\tc\tcl2 \v Commit Message Generation} +The {\f2 commit} command analyzes your staged changes and generates meaningful commit messages. It can:\par +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Use a local LLM if configured\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Enhance messages with JIRA issue details\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Provide both title and description\par} +\par +For specific options and examples, see {\b docs/commit-commands.md}.\par} +{\bkmkstart AAAAAAAADD} +{\bkmkend AAAAAAAADD} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Code Documentation Generation +\par} +{\tc\tcl2 \v Code Documentation Generation} +The {\f2 docgen} command generates documentation for your code:\par +{\bkmkstart AAAAAAAADE} +{\bkmkend AAAAAAAADE} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Use Cases +\par} +{\tc\tcl3 \v Use Cases} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab {\b Current Git Diff} : Default behavior, documents only changed files\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab {\b Specific File} : Pass a file path with {\f2 -l path/to/file.py} \par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab {\b Entire Folder} : Pass a folder path with {\f2 -l path/to/folder} \par} +\par +\par} +{\bkmkstart AAAAAAAADF} +{\bkmkend AAAAAAAADF} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Authentication Requirement +\par} +{\tc\tcl3 \v Authentication Requirement} +This feature requires authentication with a Penify account. Run {\f2 penify login} before using documentation features.\par} +\par} +{\bkmkstart AAAAAAAADG} +{\bkmkend AAAAAAAADG} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Configuration Settings +\par} +{\tc\tcl2 \v Configuration Settings} +Configure local settings using the {\f2 config} command:\par +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b LLM Settings} : Configure a local LLM for commit message generation\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b JIRA Settings} : Set up JIRA integration for enhanced commit messages\par} +\par +For detailed configuration options, see {\b docs/config-commands.md}.\par} +{\bkmkstart AAAAAAAADH} +{\bkmkend AAAAAAAADH} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Git Hooks +\par} +{\tc\tcl2 \v Git Hooks} +Penify can install Git hooks to automate documentation generation:\par +{\bkmkstart AAAAAAAADI} +{\bkmkend AAAAAAAADI} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Post-Commit Hook +\par} +{\tc\tcl3 \v Post-Commit Hook} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b Install} : {\f2 penify docgen install-hook} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b What it does} : Automatically generates documentation for changed files after each commit\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b Uninstall} : {\f2 penify docgen uninstall-hook} \par} +\par +\par} +{\bkmkstart AAAAAAAADJ} +{\bkmkend AAAAAAAADJ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Custom Hook Location +\par} +{\tc\tcl3 \v Custom Hook Location} +You can specify a custom location for Git hooks:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen install-hook -l /path/to/git/repo\par +} +\par} +\par} +{\bkmkstart AAAAAAAADK} +{\bkmkend AAAAAAAADK} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Advanced Use Cases +\par} +{\tc\tcl2 \v Advanced Use Cases} +{\bkmkstart AAAAAAAADL} +{\bkmkend AAAAAAAADL} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +CI/CD Integration +\par} +{\tc\tcl3 \v CI/CD Integration} +For CI/CD pipelines:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Set {\f2 PENIFY_API_TOKEN} as an environment variable\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Run commands without requiring interactive login\par} +\par +\par} +{\bkmkstart AAAAAAAADM} +{\bkmkend AAAAAAAADM} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Remote Repository Documentation +\par} +{\tc\tcl3 \v Remote Repository Documentation} +Generate documentation for an entire repository:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid git clone https://github.com/user/repo\par +cd repo\par +penify docgen -l .\par +} +\par} +\par} +{\bkmkstart AAAAAAAADN} +{\bkmkend AAAAAAAADN} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Troubleshooting +\par} +{\tc\tcl2 \v Troubleshooting} +{\bkmkstart AAAAAAAADO} +{\bkmkend AAAAAAAADO} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Common Issues +\par} +{\tc\tcl3 \v Common Issues} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab {\b API Key Errors} : Ensure you've run {\f2 penify login} or set {\f2 PENIFY_API_TOKEN} \par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab {\b LLM Configuration} : Check your LLM settings with {\f2 cat ~/.penify} \par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab {\b JIRA Integration} : Verify JIRA credentials in your configuration\par} +\par +\par} +{\bkmkstart AAAAAAAADP} +{\bkmkend AAAAAAAADP} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Logs +\par} +{\tc\tcl3 \v Logs} +For more detailed logs, you can set the environment variable:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid export PENIFY_DEBUG=1\par +} +\par} +{\bkmkstart AAAAAAAADQ} +{\bkmkend AAAAAAAADQ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Support +\par} +{\tc\tcl3 \v Support} +For additional help, visit {\f2 https://docs.penify.dev/} or contact {\f2 support@penify.dev} \par} +\par} +}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Penify CLI - Documentation Generation Commands{\tc \v Penify CLI - Documentation Generation Commands}\par \pard\plain +{\bkmkstart AAAAAAAAPE} +{\bkmkend AAAAAAAAPE} +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +This document provides a detailed guide to all permutations and combinations of the {\f2 docgen} command, including extensive information about Git hook commands for automating documentation generation.\par +{\bkmkstart AAAAAAAADR} +{\bkmkend AAAAAAAADR} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Table of Contents +\par} +{\tc\tcl2 \v Table of Contents} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Basic Usage\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Command Options\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Option Combinations\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Git Hook Commands{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Hook Installation\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Hook Customization\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Hook Uninstallation\par} +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Advanced Use Cases\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Troubleshooting\par} +\par +\par} +{\bkmkstart AAAAAAAADS} +{\bkmkend AAAAAAAADS} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Basic Usage +\par} +{\tc\tcl2 \v Basic Usage} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen\par +} +\par +By default, this command:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Analyzes the current Git diff (changes since last commit)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Generates documentation for changed files only\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Requires authentication via {\f2 penify login} \par} +\par +\par} +{\bkmkstart AAAAAAAADT} +{\bkmkend AAAAAAAADT} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Command Options +\par} +{\tc\tcl2 \v Command Options} +{\bkmkstart AAAAAAAADU} +{\bkmkend AAAAAAAADU} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +-l, --location +\par} +{\tc\tcl3 \v -l, --location} +Specify a target for documentation generation:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Generate documentation for a specific file\par +penify docgen -l path/to/file.py\par +\par +# Generate documentation for a specific folder\par +penify docgen -l path/to/folder\par +} +\par +Without this flag, Penify analyzes only Git-tracked modified files.\par} +{\bkmkstart AAAAAAAADV} +{\bkmkend AAAAAAAADV} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Subcommands +\par} +{\tc\tcl3 \v Subcommands} +{\bkmkstart AAAAAAAADW} +{\bkmkend AAAAAAAADW} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +install-hook +\par} +{\tc\tcl4 \v install-hook} +Install a Git post-commit hook to automatically generate documentation:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen install-hook\par +} +\par} +{\bkmkstart AAAAAAAADX} +{\bkmkend AAAAAAAADX} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +uninstall-hook +\par} +{\tc\tcl4 \v uninstall-hook} +Remove the Git post-commit hook:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen uninstall-hook\par +} +\par} +\par} +\par} +{\bkmkstart AAAAAAAADY} +{\bkmkend AAAAAAAADY} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Option Combinations +\par} +{\tc\tcl2 \v Option Combinations} +{\bkmkstart AAAAAAAADZ} +{\bkmkend AAAAAAAADZ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate Documentation for Current Git Diff +\par} +{\tc\tcl3 \v Generate Documentation for Current Git Diff} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Basic usage - current Git diff\par +penify docgen\par +} +\par} +{\bkmkstart AAAAAAAAEA} +{\bkmkend AAAAAAAAEA} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate Documentation for a Specific File +\par} +{\tc\tcl3 \v Generate Documentation for a Specific File} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Single file documentation\par +penify docgen -l src/main.py\par +} +\par} +{\bkmkstart AAAAAAAAEB} +{\bkmkend AAAAAAAAEB} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Generate Documentation for a Folder +\par} +{\tc\tcl3 \v Generate Documentation for a Folder} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Folder documentation\par +penify docgen -l src/models/\par +} +\par} +{\bkmkstart AAAAAAAAEC} +{\bkmkend AAAAAAAAEC} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Install Hook in Current Repository +\par} +{\tc\tcl3 \v Install Hook in Current Repository} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Install hook in current Git repository\par +penify docgen install-hook\par +} +\par} +{\bkmkstart AAAAAAAAED} +{\bkmkend AAAAAAAAED} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Install Hook in Specific Repository +\par} +{\tc\tcl3 \v Install Hook in Specific Repository} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Install hook in a specific Git repository\par +penify docgen install-hook -l /path/to/repo\par +} +\par} +{\bkmkstart AAAAAAAAEE} +{\bkmkend AAAAAAAAEE} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Uninstall Hook from Current Repository +\par} +{\tc\tcl3 \v Uninstall Hook from Current Repository} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Uninstall hook from current Git repository\par +penify docgen uninstall-hook\par +} +\par} +{\bkmkstart AAAAAAAAEF} +{\bkmkend AAAAAAAAEF} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Uninstall Hook from Specific Repository +\par} +{\tc\tcl3 \v Uninstall Hook from Specific Repository} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Uninstall hook from a specific Git repository\par +penify docgen uninstall-hook -l /path/to/repo\par +} +\par} +\par} +{\bkmkstart AAAAAAAAEG} +{\bkmkend AAAAAAAAEG} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Git Hook Commands +\par} +{\tc\tcl2 \v Git Hook Commands} +Penify provides Git hook commands to automate documentation generation as part of your Git workflow.\par +{\bkmkstart AAAAAAAAEH} +{\bkmkend AAAAAAAAEH} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Hook Installation +\par} +{\tc\tcl3 \v Hook Installation} +{\bkmkstart AAAAAAAAEI} +{\bkmkend AAAAAAAAEI} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +How Hooks Work +\par} +{\tc\tcl4 \v How Hooks Work} +When you install a Git hook with {\f2 penify docgen install-hook} , Penify:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Creates a post-commit hook script in the {\f2 .git/hooks} directory\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Makes the script executable\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Configures the hook to run {\f2 penify docgen} after each commit\par} +\par +\par} +{\bkmkstart AAAAAAAAEJ} +{\bkmkend AAAAAAAAEJ} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Hook Script Content +\par} +{\tc\tcl4 \v Hook Script Content} +The generated post-commit hook contains:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid #!/bin/sh\par +# This is a post-commit hook generated by penify.\par +# Automatically generates documentation for changed files after each commit.\par +\par +penify docgen -gf /path/to/git/repository -t your_api_token\par +} +\par} +{\bkmkstart AAAAAAAAEK} +{\bkmkend AAAAAAAAEK} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Installation Location +\par} +{\tc\tcl4 \v Installation Location} +By default, hooks are installed in the current Git repository. You can specify a different location:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen install-hook -l /path/to/repo\par +} +\par} +{\bkmkstart AAAAAAAAEL} +{\bkmkend AAAAAAAAEL} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Installation Requirements +\par} +{\tc\tcl4 \v Installation Requirements} +To install hooks, you need:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +A valid Penify API token (login first with {\f2 penify login} )\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Write permissions to the {\f2 .git/hooks} directory\par} +\par +\par} +{\bkmkstart AAAAAAAAEM} +{\bkmkend AAAAAAAAEM} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Verifying Installation +\par} +{\tc\tcl4 \v Verifying Installation} +After installation, you can verify that the hook is installed:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid cat .git/hooks/post-commit\par +} +\par} +\par} +{\bkmkstart AAAAAAAAEN} +{\bkmkend AAAAAAAAEN} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Hook Customization +\par} +{\tc\tcl3 \v Hook Customization} +You can customize the post-commit hook after installation:\par +{\bkmkstart AAAAAAAAEO} +{\bkmkend AAAAAAAAEO} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Modifying Hook Behavior +\par} +{\tc\tcl4 \v Modifying Hook Behavior} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Edit the {\f2 .git/hooks/post-commit} file\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Add additional options to the {\f2 penify docgen} command\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Add other commands to run after commit\par} +\par +Example of a customized hook:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid #!/bin/sh\par +# This is a post-commit hook generated by penify.\par +# Automatically generates documentation for changed files after each commit.\par +\par +# Generate documentation\par +penify docgen -gf /path/to/git/repository -t your_api_token\par +\par +# Additional custom commands\par +echo "Documentation generation complete!"\par +} +\par} +{\bkmkstart AAAAAAAAEP} +{\bkmkend AAAAAAAAEP} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Advanced Hook Scenarios +\par} +{\tc\tcl4 \v Advanced Hook Scenarios} +{\b Conditional Documentation Generation} :\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid #!/bin/sh\par +# Only generate documentation for commits to the main branch\par +BRANCH=$(git rev-parse --abbrev-ref HEAD)\par +if [ "$BRANCH" = "main" ]; then\par + penify docgen -gf /path/to/git/repository -t your_api_token\par +fi\par +} +\par +{\b Documenting Specific Files/Folders} :\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid #!/bin/sh\par +# Only document Python files in the src directory\par +penify docgen -l src/ -gf /path/to/git/repository -t your_api_token\par +} +\par} +\par} +{\bkmkstart AAAAAAAAEQ} +{\bkmkend AAAAAAAAEQ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Hook Uninstallation +\par} +{\tc\tcl3 \v Hook Uninstallation} +{\bkmkstart AAAAAAAAER} +{\bkmkend AAAAAAAAER} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Standard Uninstallation +\par} +{\tc\tcl4 \v Standard Uninstallation} +To remove a hook from the current repository:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen uninstall-hook\par +} +\par} +{\bkmkstart AAAAAAAAES} +{\bkmkend AAAAAAAAES} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Specific Repository Uninstallation +\par} +{\tc\tcl4 \v Specific Repository Uninstallation} +To remove a hook from a specific repository:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen uninstall-hook -l /path/to/repo\par +} +\par} +{\bkmkstart AAAAAAAAET} +{\bkmkend AAAAAAAAET} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Manual Hook Removal +\par} +{\tc\tcl4 \v Manual Hook Removal} +If needed, you can manually remove the hook:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid rm .git/hooks/post-commit\par +} +\par} +{\bkmkstart AAAAAAAAEU} +{\bkmkend AAAAAAAAEU} +{{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid +Verifying Uninstallation +\par} +{\tc\tcl4 \v Verifying Uninstallation} +Check that the hook was successfully removed:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid ls -la .git/hooks/post-commit # Should return "No such file or directory"\par +} +\par} +\par} +\par} +{\bkmkstart AAAAAAAAEV} +{\bkmkend AAAAAAAAEV} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Advanced Use Cases +\par} +{\tc\tcl2 \v Advanced Use Cases} +{\bkmkstart AAAAAAAAEW} +{\bkmkend AAAAAAAAEW} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Continuous Integration +\par} +{\tc\tcl3 \v Continuous Integration} +Run documentation generation in CI pipelines:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # In your CI script\par +export PENIFY_API_TOKEN=your_api_token\par +penify docgen -l src/\par +} +\par} +{\bkmkstart AAAAAAAAEX} +{\bkmkend AAAAAAAAEX} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Batch Documentation +\par} +{\tc\tcl3 \v Batch Documentation} +Generate documentation for multiple repositories:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Bash script for batch documentation\par +for repo in repo1 repo2 repo3; do\par + cd /path/to/$repo\par + penify docgen -l .\par +done\par +} +\par} +{\bkmkstart AAAAAAAAEY} +{\bkmkend AAAAAAAAEY} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Custom Git Hook Integration +\par} +{\tc\tcl3 \v Custom Git Hook Integration} +Integrate with other Git hooks:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # In .git/hooks/pre-push\par +penify docgen -l src/\par +} +\par} +{\bkmkstart AAAAAAAAEZ} +{\bkmkend AAAAAAAAEZ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Documenting Release Tags +\par} +{\tc\tcl3 \v Documenting Release Tags} +Generate documentation when creating a release tag:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Document everything when creating a tag\par +git tag -a v1.0.0\par +penify docgen -l . # Document entire codebase\par +git commit --amend -m "Release v1.0.0 with updated documentation"\par +} +\par} +\par} +{\bkmkstart AAAAAAAAFA} +{\bkmkend AAAAAAAAFA} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Troubleshooting +\par} +{\tc\tcl2 \v Troubleshooting} +{\bkmkstart AAAAAAAAFB} +{\bkmkend AAAAAAAAFB} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Common Issues +\par} +{\tc\tcl3 \v Common Issues} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab **"Authentication required"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Run {\f2 penify login} before using documentation features\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check your API token with {\f2 cat ~/.penify} \par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab **"Permission denied when installing hook"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check Git repository permissions\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Try running with sudo (if appropriate for your environment)\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure the {\f2 .git/hooks} directory exists\par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab **"Hook installed but not running"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check if the hook is executable: {\f2 ls -la .git/hooks/post-commit} \par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Make it executable if needed: {\f2 chmod +x .git/hooks/post-commit} \par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check for syntax errors in the hook script\par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +4.\tab **"File or directory not found"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Verify the path provided to the {\f2 -l} option\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Ensure you're running the command from the correct directory\par} +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +5.\tab **"Hook uninstallation failed"**{ +\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Check permissions on the {\f2 .git/hooks} directory\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Try manual removal: {\f2 rm .git/hooks/post-commit} \par} +} +\par +\par} +{\bkmkstart AAAAAAAAFC} +{\bkmkend AAAAAAAAFC} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Debugging +\par} +{\tc\tcl3 \v Debugging} +For detailed output when running documentation commands:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid export PENIFY_DEBUG=1\par +penify docgen -l src/\par +} +\par} +{\bkmkstart AAAAAAAAFD} +{\bkmkend AAAAAAAAFD} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Getting Help +\par} +{\tc\tcl3 \v Getting Help} +For command-specific help:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen --help\par +penify docgen install-hook --help\par +penify docgen uninstall-hook --help\par +} + \par} +\par} +}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Penify CLI Example Workflows{\tc \v Penify CLI Example Workflows}\par \pard\plain +{\bkmkstart AAAAAAAAPF} +{\bkmkend AAAAAAAAPF} +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +This document demonstrates how to use Penify CLI in real-world development workflows to improve your productivity.\par +{\bkmkstart AAAAAAAAFE} +{\bkmkend AAAAAAAAFE} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Workflow 1: Efficient Git Commits with AI +\par} +{\tc\tcl2 \v Workflow 1: Efficient Git Commits with AI} +{\bkmkstart AAAAAAAAFF} +{\bkmkend AAAAAAAAFF} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Setup +\par} +{\tc\tcl3 \v Setup} +First, configure your local LLM for offline operation:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify config llm\par +} +\par +Configure your JIRA integration for enhanced commit messages:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify config jira\par +} +\par} +{\bkmkstart AAAAAAAAFG} +{\bkmkend AAAAAAAAFG} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Daily Workflow +\par} +{\tc\tcl3 \v Daily Workflow} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Make your code changes as usual\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab When ready to commit, use Penify to generate a smart commit message:\par} +\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit\par +} +\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Review and confirm the generated commit message\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Git commit and push as usual\par} +\par +\par} +{\bkmkstart AAAAAAAAFH} +{\bkmkend AAAAAAAAFH} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Benefits +\par} +{\tc\tcl3 \v Benefits} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Consistent and descriptive commit messages\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Automatic inclusion of relevant JIRA ticket information\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Time saved from writing detailed commit messages\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAAFI} +{\bkmkend AAAAAAAAFI} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Workflow 2: Documentation Generation Pipeline +\par} +{\tc\tcl2 \v Workflow 2: Documentation Generation Pipeline} +{\bkmkstart AAAAAAAAFJ} +{\bkmkend AAAAAAAAFJ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Setup +\par} +{\tc\tcl3 \v Setup} +Login to Penify to access advanced documentation features:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify login\par +} +\par +Install the Git hook for automatic documentation generation:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen install-hook\par +} +\par} +{\bkmkstart AAAAAAAAFK} +{\bkmkend AAAAAAAAFK} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Daily Workflow +\par} +{\tc\tcl3 \v Daily Workflow} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Make your code changes as usual\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Commit your changes\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +3.\tab Documentation is automatically generated for changed files\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +4.\tab Review the generated documentation\par} +\par +\par} +{\bkmkstart AAAAAAAAFL} +{\bkmkend AAAAAAAAFL} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Manual Documentation +\par} +{\tc\tcl3 \v Manual Documentation} +For specific files or folders:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen -l src/components/authentication\par +} +\par} +{\bkmkstart AAAAAAAAFM} +{\bkmkend AAAAAAAAFM} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Benefits +\par} +{\tc\tcl3 \v Benefits} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Always up-to-date documentation\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Consistent documentation style\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Time saved from writing detailed documentation\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAAFN} +{\bkmkend AAAAAAAAFN} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Workflow 3: Code Review Enhancement +\par} +{\tc\tcl2 \v Workflow 3: Code Review Enhancement} +{\bkmkstart AAAAAAAAFO} +{\bkmkend AAAAAAAAFO} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Setup +\par} +{\tc\tcl3 \v Setup} +Ensure you're logged into Penify:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify login\par +} +\par} +{\bkmkstart AAAAAAAAFP} +{\bkmkend AAAAAAAAFP} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Workflow +\par} +{\tc\tcl3 \v Workflow} +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Before submitting a PR, generate documentation for changed files:\par} +\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen\par +} +\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Include the generated documentation in your PR\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Reviewers can better understand your changes with the AI-generated explanations\par} +\par +\par} +{\bkmkstart AAAAAAAAFQ} +{\bkmkend AAAAAAAAFQ} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Benefits +\par} +{\tc\tcl3 \v Benefits} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Improved PR quality\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Faster code reviews\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Better team understanding of code changes\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAAFR} +{\bkmkend AAAAAAAAFR} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Workflow 4: Onboarding New Team Members +\par} +{\tc\tcl2 \v Workflow 4: Onboarding New Team Members} +{\bkmkstart AAAAAAAAFS} +{\bkmkend AAAAAAAAFS} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +For Team Leads +\par} +{\tc\tcl3 \v For Team Leads} +Generate comprehensive documentation for the entire codebase:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen -l .\par +} +\par} +{\bkmkstart AAAAAAAAFT} +{\bkmkend AAAAAAAAFT} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +For New Team Members +\par} +{\tc\tcl3 \v For New Team Members} +Generate focused documentation for components you're working on:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify docgen -l src/components/my-feature\par +} +\par} +{\bkmkstart AAAAAAAAFU} +{\bkmkend AAAAAAAAFU} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Benefits +\par} +{\tc\tcl3 \v Benefits} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Faster onboarding\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Better understanding of code structure\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Reduced questions to senior team members\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAAFV} +{\bkmkend AAAAAAAAFV} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Workflow 5: Legacy Code Understanding +\par} +{\tc\tcl2 \v Workflow 5: Legacy Code Understanding} +When working with unfamiliar legacy code:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Document a specific complex file\par +penify docgen -l src/legacy/complex_module.py\par +\par +# Document an entire legacy component\par +penify docgen -l src/legacy/old_component\par +} +\par +{\bkmkstart AAAAAAAAFW} +{\bkmkend AAAAAAAAFW} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Benefits +\par} +{\tc\tcl3 \v Benefits} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Quickly understand complex legacy systems\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Reduce time spent deciphering undocumented code\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Make safer changes to legacy systems \par} +\par +\par} +\par} +}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Penify CLI Tool{\tc \v Penify CLI Tool}\par \pard\plain +{\bkmkstart AAAAAAAAPG} +{\bkmkend AAAAAAAAPG} +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid + \par +A CLI tool to generate smart commit messages, code documentation, and more.\par +{\bkmkstart AAAAAAAAFX} +{\bkmkend AAAAAAAAFX} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Features +\par} +{\tc\tcl2 \v Features} +{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Automatically generate documentation for your code\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Support for multiple programming languages\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Git hook integration for automatic documentation on commits\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Folder and file analysis\par} +\par +\par} +{\bkmkstart AAAAAAAAFY} +{\bkmkend AAAAAAAAFY} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Installation +\par} +{\tc\tcl2 \v Installation} +Install from PyPI:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid pip install penify\par +} +\par} +{\bkmkstart AAAAAAAAFZ} +{\bkmkend AAAAAAAAFZ} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Usage +\par} +{\tc\tcl2 \v Usage} +Penify CLI provides several subcommands for different functionalities, organized into basic commands (no login required) and advanced commands (login required).\par} +{\bkmkstart AAAAAAAAGA} +{\bkmkend AAAAAAAAGA} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Basic Commands (No login required) +\par} +{\tc\tcl2 \v Basic Commands (No login required)} +{\bkmkstart AAAAAAAAGB} +{\bkmkend AAAAAAAAGB} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Commit +\par} +{\tc\tcl3 \v Commit} +Generate smart commit messages using local LLM:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify commit [-m "Optional message"] [-e] [-d]\par +} +\par +Options:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 -m, --message} : Optional custom commit message\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 -e, --terminal} : Open editor to modify commit message before committing\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 -d, --description} : Generate commit message with both title and description (without this flag, only title is generated)\par} +\par +\par} +{\bkmkstart AAAAAAAAGC} +{\bkmkend AAAAAAAAGC} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Config +\par} +{\tc\tcl3 \v Config} +Configure local LLM and JIRA settings:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Configure LLM settings\par +penify config llm --model MODEL_NAME [--api-base API_URL] [--api-key API_KEY]\par +\par +# Configure LLM settings through web interface\par +penify config llm-web\par +\par +# Configure JIRA settings\par +penify config jira --url JIRA_URL --username USERNAME --api-token TOKEN [--verify]\par +\par +# Configure JIRA settings through web interface\par +penify config jira-web\par +} +\par} +\par} +{\bkmkstart AAAAAAAAGD} +{\bkmkend AAAAAAAAGD} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Advanced Commands (Login required) +\par} +{\tc\tcl2 \v Advanced Commands (Login required)} +{\bkmkstart AAAAAAAAGE} +{\bkmkend AAAAAAAAGE} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Login +\par} +{\tc\tcl3 \v Login} +To log in and obtain an API token:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify login\par +} +\par +This command will open a browser window for authentication. After successful login, the API key will be saved locally for future use.\par} +{\bkmkstart AAAAAAAAGF} +{\bkmkend AAAAAAAAGF} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Documentation Generation +\par} +{\tc\tcl3 \v Documentation Generation} +Generate documentation for Git diff, files or folders:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Generate documentation for latest Git commit diff\par +penify docgen\par +\par +# Generate documentation for specific file or folder\par +penify docgen -l /path/to/file/or/folder\par +} +\par +Options:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 -l, --location} : Path to specific file or folder for documentation generation (defaults to current directory)\par} +\par +\par} +{\bkmkstart AAAAAAAAGG} +{\bkmkend AAAAAAAAGG} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Git Hook Management +\par} +{\tc\tcl3 \v Git Hook Management} +Install or uninstall Git post-commit hooks:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid # Install Git hook\par +penify docgen install-hook [-l /path/to/repo]\par +\par +# Uninstall Git hook\par +penify docgen uninstall-hook [-l /path/to/repo]\par +} +\par +Options:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\f2 -l, --location} : Path to the Git repository (defaults to current directory)\par} +\par +\par} +\par} +{\bkmkstart AAAAAAAAGH} +{\bkmkend AAAAAAAAGH} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Authentication +\par} +{\tc\tcl2 \v Authentication} +Penify CLI uses an API token for authentication with advanced features.\par +If no token is available and you try to access an advanced feature, you'll be prompted to log in.\par} +{\bkmkstart AAAAAAAAGI} +{\bkmkend AAAAAAAAGI} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Local LLM Configuration +\par} +{\tc\tcl2 \v Local LLM Configuration} +For commit message generation, Penify can use a local LLM. Configure it using:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify config llm --model MODEL_NAME --api-base API_URL --api-key API_KEY\par +} +\par +Common configurations:{ +\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +OpenAI: {\f2 --model gpt-3.5-turbo --api-base {\f2 https://api.openai.com/v1} --api-key YOUR_KEY} \par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Anthropic: {\f2 --model claude-2 --api-base {\f2 https://api.anthropic.com} --api-key YOUR_KEY} \par} +\par +\par} +{\bkmkstart AAAAAAAAGJ} +{\bkmkend AAAAAAAAGJ} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +JIRA Integration +\par} +{\tc\tcl2 \v JIRA Integration} +Configure JIRA integration to enhance commit messages with issue details:\par +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid penify config jira --url https://your-domain.atlassian.net --username your-email@example.com --api-token YOUR_API_TOKEN\par +} +\par} +{\bkmkstart AAAAAAAAGK} +{\bkmkend AAAAAAAAGK} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Development +\par} +{\tc\tcl2 \v Development} +To set up the development environment:\par +{ +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +1.\tab Clone the repository: { +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid git clone https://github.com/SingularityX-ai/penify-cli.git\par +} +\par +\pard\plain \s140\fi-360\li360\widctlpar\fs20\cgrid +2.\tab Install the package in editable mode: { +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid pip install -e .\par +} +\par} +\par +{\bkmkstart AAAAAAAAGL} +{\bkmkend AAAAAAAAGL} +{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Running Tests +\par} +{\tc\tcl3 \v Running Tests} +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid pytest\par +} +\par} +\par} +{\bkmkstart AAAAAAAAGM} +{\bkmkend AAAAAAAAGM} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +License +\par} +{\tc\tcl2 \v License} +This project is licensed under the MIT License.\par} +{\bkmkstart AAAAAAAAGN} +{\bkmkend AAAAAAAAGN} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Author +\par} +{\tc\tcl2 \v Author} +Suman Saurabh ({\f2 ss.sumansaurabh92@gmail.com})\par} +{\bkmkstart AAAAAAAAGO} +{\bkmkend AAAAAAAAGO} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Contributing +\par} +{\tc\tcl2 \v Contributing} +Contributions are welcome! Please feel free to submit a Pull Request.\par} +{\bkmkstart AAAAAAAAGP} +{\bkmkend AAAAAAAAGP} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Issues +\par} +{\tc\tcl2 \v Issues} +If you encounter any problems or have suggestions, please file an issue on the {\f2 GitHub repository}.\par} +{\bkmkstart AAAAAAAAGQ} +{\bkmkend AAAAAAAAGQ} +{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Support +\par} +{\tc\tcl2 \v Support} +For automated API Documentation, Architecture Documentation, Code Documentation, Pull Request Documentation, or if you need a demo, please join our {\f2 Discord support channel}. \par} +}} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Namespace Index\par \pard\plain +{\tc \v Namespace Index} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Namespace List\par \pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Here is a list of all namespaces with brief descriptions:} +{ +\par +\pard\plain \s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid +{\b {\b penify_hook} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.api_client} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.base_analyzer} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHE \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commands.auth_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commands.commit_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHW \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commands.config_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIA \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commands.doc_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIN \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commands.hook_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commit_analyzer} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIX \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.config_command} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJE \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.constants} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJH \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.file_analyzer} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJK \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.folder_analyzer} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJR \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.git_analyzer} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJW \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.jira_client} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKD \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.llm_client} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKV \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.login_command} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAALC \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.main} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAALF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.ui_utils} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAALH \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.utils} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAMI \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b setup} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAMO \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANC \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.conftest} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAND \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_commit_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANE \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_config_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_doc_commands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAOG \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_web_config} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAOS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +\par} +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Hierarchical Index\par \pard\plain +{\tc \v Hierarchical Index} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Class Hierarchy\par \pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid This inheritance list is sorted roughly, but not completely, alphabetically:} +{ +\par +\pard\plain \s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid +penify_hook.api_client.APIClient\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGU \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +penify_hook.base_analyzer.BaseAnalyzer\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHF \\*MERGEFORMAT}{\fldrslt pagenum}} +{ +\par +\pard\plain \s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid +penify_hook.commit_analyzer.CommitDocGenHook\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIY \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +penify_hook.file_analyzer.FileAnalyzerGenHook\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJM \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +penify_hook.folder_analyzer.FolderAnalyzerGenHook\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +penify_hook.git_analyzer.GitDocGenHook\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJY \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +}\par +Exception\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGR \\*MERGEFORMAT}{\fldrslt pagenum}} +{ +\par +\pard\plain \s102\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid +penify_hook.utils.GitRepoNotFoundError\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAMN \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +}\par +penify_hook.jira_client.JiraClient\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +penify_hook.llm_client.LLMClient\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKW \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +tests.test_commit_commands.TestCommitCommands\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +tests.test_config_commands.TestConfigCommands\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +tests.test_web_config.TestWebConfig\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAOT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +} +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Class Index\par \pard\plain +{\tc \v Class Index} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Class List\par \pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Here are the classes, structs, unions and interfaces with brief descriptions:} +{ +\par +\pard\plain \s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid +{\b {\b penify_hook.api_client.APIClient} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGU \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.base_analyzer.BaseAnalyzer} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.commit_analyzer.CommitDocGenHook} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIY \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b Exception} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGR \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.file_analyzer.FileAnalyzerGenHook} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJM \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.folder_analyzer.FolderAnalyzerGenHook} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.git_analyzer.GitDocGenHook} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJY \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.utils.GitRepoNotFoundError} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAMN \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.jira_client.JiraClient} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b penify_hook.llm_client.LLMClient} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKW \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_commit_commands.TestCommitCommands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_config_commands.TestConfigCommands} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAANT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b {\b tests.test_web_config.TestWebConfig} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAOT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +\par} +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +File Index\par \pard\plain +{\tc \v File Index} +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +File List\par \pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Here is a list of all files with brief descriptions:} +{ +\par +\pard\plain \s101\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/{\b setup.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABD \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b __init__.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAI \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b api_client.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAG \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b base_analyzer.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAH \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b commit_analyzer.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b config_command.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAR \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b constants.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAS \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b file_analyzer.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b folder_analyzer.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAU \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b git_analyzer.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAV \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b jira_client.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b llm_client.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAX \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b login_command.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAY \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b main.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAZ \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b ui_utils.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABA \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b utils.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABB \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/{\b __init__.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAJ \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/{\b auth_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAL \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/{\b commit_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAM \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/{\b config_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAN \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/{\b doc_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAO \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/{\b hook_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAP \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b __init__.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAK \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b conftest.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABE \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_commit_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABF \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_config_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABG \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_doc_commands.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABH \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +{\b /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_web_config.py} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABI \\*MERGEFORMAT}{\fldrslt pagenum}} +\par +\par} +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Namespace Documentation\par \pard\plain +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook} +{\xe \v penify_hook} +{\bkmkstart AAAAAAAAGS} +{\bkmkend AAAAAAAAGS} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b api_client}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b base_analyzer}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b commit_analyzer}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b config_command}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b constants}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b file_analyzer}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b folder_analyzer}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b git_analyzer}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b jira_client}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b llm_client}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b login_command}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b main}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b ui_utils}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b utils}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.api_client Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.api_client} +{\xe \v penify_hook.api_client} +{\bkmkstart AAAAAAAAGT} +{\bkmkend AAAAAAAAGT} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b APIClient}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.base_analyzer Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.base_analyzer} +{\xe \v penify_hook.base_analyzer} +{\bkmkstart AAAAAAAAHE} +{\bkmkend AAAAAAAAHE} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b BaseAnalyzer}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commands} +{\xe \v penify_hook.commands} +{\bkmkstart AAAAAAAAHS} +{\bkmkend AAAAAAAAHS} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b auth_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b commit_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b config_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b doc_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b hook_commands}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commands.auth_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commands.auth_commands} +{\xe \v penify_hook.commands.auth_commands} +{\bkmkstart AAAAAAAAHT} +{\bkmkend AAAAAAAAHT} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b save_credentials} (api_key)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b login} (api_url, dashboard_url)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v login\:penify_hook.commands.auth_commands} +{\xe \v penify_hook.commands.auth_commands\:login} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.auth_commands.login ( {\i api_url}, {\i dashboard_url})}} +\par +{\bkmkstart AAAAAAAAHU} +{\bkmkend AAAAAAAAHU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Open the login page in a web browser and capture the token via redirect.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1auth__commands_a78f375c58bb6f69f98675e6a9ac84655_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v save_credentials\:penify_hook.commands.auth_commands} +{\xe \v penify_hook.commands.auth_commands\:save_credentials} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.auth_commands.save_credentials ( {\i api_key})}} +\par +{\bkmkstart AAAAAAAAHV} +{\bkmkend AAAAAAAAHV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Save the API key in a priority-based manner.\par +\par +This function attempts to save the API key in two locations, based on priority:\par +1. In a `.env` file located in the root of the Git repository if one is found.\par +2. In a global `.penify` file located in the user's home directory as a\par +fallback. The function first tries to locate the Git repository using\par +`recursive_search_git_folder`. If a Git repository is found, it reads the\par +existing `.env` file (if present), updates or adds the API key under the key\par +`PENIFY_API_TOKEN`, and writes the updated content back. If any error occurs\par +during this process, it falls back to saving the credentials in the global\par +`.penify` file. The function handles exceptions and prints appropriate error\par +messages.\par +\par +Args:\par + api_key (str): The API key to save.\par +\par +Returns:\par + bool: True if the API key is saved successfully, False otherwise.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1auth__commands_aa3956ca1749d4218ea1dc6e5b6218b24_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commands.commit_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commands.commit_commands} +{\xe \v penify_hook.commands.commit_commands} +{\bkmkstart AAAAAAAAHW} +{\bkmkend AAAAAAAAHW} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b commit_code} (api_url, token, message, open_terminal, generate_description, llm_model=None, llm_api_base=None, llm_api_key=None, jira_url=None, jira_user=None, jira_api_token=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b setup_commit_parser} (parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b handle_commit} (args)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v commit_code\:penify_hook.commands.commit_commands} +{\xe \v penify_hook.commands.commit_commands\:commit_code} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.commit_commands.commit_code ( {\i api_url}, {\i token}, {\i message}, {\i open_terminal}, {\i generate_description}, {\i llm_model} = {\f2 None}, {\i llm_api_base} = {\f2 None}, {\i llm_api_key} = {\f2 None}, {\i jira_url} = {\f2 None}, {\i jira_user} = {\f2 None}, {\i jira_api_token} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAHX} +{\bkmkend AAAAAAAAHX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Enhance Git commits with AI-powered commit messages.\par +\par +This function allows for the generation of enhanced commit messages using\par +natural language processing models and optionally integrates with JIRA for\par +additional context. It processes the current Git folder to find relevant files\par +and generates a detailed commit message based on the provided parameters.\par +\par +Args:\par + api_url (str): URL of the API endpoint.\par + token (str): Authentication token for the API.\par + message (str): Initial commit message provided by the user.\par + open_terminal (bool): Whether to open the terminal after committing.\par + generate_description (bool): Whether to generate a detailed description in the commit message.\par + llm_model (str?): The language model to use for generating the commit message. Defaults to None.\par + llm_api_base (str?): Base URL of the LLM API. Defaults to None.\par + llm_api_key (str?): API key for accessing the LLM service. Defaults to None.\par + jira_url (str?): URL of the JIRA instance. Defaults to None.\par + jira_user (str?): Username for authenticating with JIRA. Defaults to None.\par + jira_api_token (str?): API token for accessing JIRA. Defaults to None.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1commit__commands_a62564c4e8ad59fc46d56cb0f9122a71a_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v handle_commit\:penify_hook.commands.commit_commands} +{\xe \v penify_hook.commands.commit_commands\:handle_commit} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.commit_commands.handle_commit ( {\i args})}} +\par +{\bkmkstart AAAAAAAAHY} +{\bkmkend AAAAAAAAHY} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Handle commit functionality by processing arguments and invoking the\par +appropriate commands.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1commit__commands_af4f739f524c38b437e4e47673d683e23_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v setup_commit_parser\:penify_hook.commands.commit_commands} +{\xe \v penify_hook.commands.commit_commands\:setup_commit_parser} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.commit_commands.setup_commit_parser ( {\i parser})}} +\par +{\bkmkstart AAAAAAAAHZ} +{\bkmkend AAAAAAAAHZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Sets up an argument parser for generating smart commit messages.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1commit__commands_a8627583116eb78e31a4d3cdc16d2f15c_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commands.config_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands} +{\bkmkstart AAAAAAAAIA} +{\bkmkend AAAAAAAAIA} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +None {\b load_env_files} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Path {\b get_penify_config} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Any {\b get_env_var_or_default} (str env_var, Any default=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b save_llm_config} (model, api_base, api_key)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b save_jira_config} (url, username, api_token)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict[str, str] {\b get_llm_config} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict[str, str] {\b get_jira_config} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b config_llm_web} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b config_jira_web} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Optional[str] {\b get_token} ()\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b DOTENV_AVAILABLE} = True\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b path}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v config_jira_web\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:config_jira_web} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.config_commands.config_jira_web ()}} +\par +{\bkmkstart AAAAAAAAIB} +{\bkmkend AAAAAAAAIB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Starts a web server for configuring JIRA settings.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_af115198ea5d6808ccb98733957f50b06_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v config_llm_web\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:config_llm_web} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.config_commands.config_llm_web ()}} +\par +{\bkmkstart AAAAAAAAIC} +{\bkmkend AAAAAAAAIC} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Starts an HTTP server for configuring LLM settings via a web interface.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a185dfc34a655ed80e6c95939b6f3c35c_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_env_var_or_default\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:get_env_var_or_default} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Any penify_hook.commands.config_commands.get_env_var_or_default (str {\i env_var}, Any {\i default} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAID} +{\bkmkend AAAAAAAAID} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Get environment variable or return default value.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a3caf2b062dd33b1f1d7ddc7224f0ff87_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_jira_config\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:get_jira_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Dict[str, str] penify_hook.commands.config_commands.get_jira_config ()}} +\par +{\bkmkstart AAAAAAAAIE} +{\bkmkend AAAAAAAAIE} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Retrieve JIRA configuration from environment variables.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a15bf3685c4dcb5c15ba6a4055e484cf2_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_llm_config\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:get_llm_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Dict[str, str] penify_hook.commands.config_commands.get_llm_config ()}} +\par +{\bkmkstart AAAAAAAAIF} +{\bkmkend AAAAAAAAIF} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Retrieve LLM configuration from environment variables.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a6492bc8e7df6e38bb06ad05e572d4cc0_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_penify_config\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:get_penify_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Path penify_hook.commands.config_commands.get_penify_config ()}} +\par +{\bkmkstart AAAAAAAAIG} +{\bkmkend AAAAAAAAIG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Returns the path to the `config.json` file within the `.penify` directory,\par +creating it if necessary.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a6559a82d0bf727703d550d1003d3ed20_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_token\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:get_token} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Optional[str] penify_hook.commands.config_commands.get_token ()}} +\par +{\bkmkstart AAAAAAAAIH} +{\bkmkend AAAAAAAAIH} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Retrieves an API token using a prioritized method.\par +\par +This function first attempts to load environment variables from all `.env`\par +files and checks if the `PENIFY_API_TOKEN` environment variable is set. If\par +found, it returns the token. If not, it looks for the API key in a\par +configuration file named 'api_keys'. If both methods fail, it returns None.\par +\par +Returns:\par + str or None: The API token if found, otherwise None.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a5503d51c905e2f1b299b12d2a73bd812_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v load_env_files\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:load_env_files} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + None penify_hook.commands.config_commands.load_env_files ()}} +\par +{\bkmkstart AAAAAAAAII} +{\bkmkend AAAAAAAAII} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Load environment variables from .env files in various locations with proper\par +priority.\par +\par +This function loads environment variables from .env files located in different\par +directories, prioritizing the current directory over the Git repo root and the\par +user home directory. The loading process ensures that later files override\par +earlier ones.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_aabe277132ce0bc0aacef951cf1dee2ae_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v save_jira_config\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:save_jira_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.config_commands.save_jira_config ( {\i url}, {\i username}, {\i api_token})}} +\par +{\bkmkstart AAAAAAAAIJ} +{\bkmkend AAAAAAAAIJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Save JIRA configuration settings to a .env file.\par +\par +This function saves JIRA configuration following these steps: 1. Determine the\par +target .env file location based on whether the current directory is inside a\par +Git repository. 2. If inside a Git repo, use the Git repo root's .env file;\par +otherwise, use the user home directory's .env file. 3. Read the existing\par +content of the .env file (if it exists) to preserve other settings. 4. Update\par +the .env content with the new JIRA configuration. 5. Write the updated content\par +back to the .env file. 6. Optionally, reload environment variables to make\par +changes immediately available.\par +\par +Args:\par + url (str): The JIRA URL to be saved in the .env file.\par + username (str): The JIRA username to be saved in the .env file.\par + api_token (str): The JIRA API token to be saved in the .env file.\par +\par +Returns:\par + bool: True if the configuration was successfully saved, False otherwise.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_ab2486ac2bf16b4a671e49625bfa4f9b4_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v save_llm_config\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:save_llm_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.config_commands.save_llm_config ( {\i model}, {\i api_base}, {\i api_key})}} +\par +{\bkmkstart AAAAAAAAIK} +{\bkmkend AAAAAAAAIK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Save LLM configuration settings to an .env file.\par +\par +This function saves the LLM configuration following a specific priority: 1. Git\par +repo root .env (if inside a git repo) 2. User home directory .env It handles\par +the detection of the Git repo root, reads the existing .env content, updates it\par +with the new LLM configuration, and writes it back to the file. It also reloads\par +the environment variables to make changes immediately available.\par +\par +Args:\par + model (str): The name of the language model.\par + api_base (str): The base URL for the API.\par + api_key (str): The API key for authentication.\par +\par +Returns:\par + bool: True if the configuration is saved successfully, False otherwise.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1config__commands_a4617bc5956e502c9555dc0dda0376df4_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v DOTENV_AVAILABLE\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:DOTENV_AVAILABLE} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +bool penify_hook.commands.config_commands.DOTENV_AVAILABLE = True}} +\par +{\bkmkstart AAAAAAAAIL} +{\bkmkend AAAAAAAAIL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v path\:penify_hook.commands.config_commands} +{\xe \v penify_hook.commands.config_commands\:path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.commands.config_commands.path}} +\par +{\bkmkstart AAAAAAAAIM} +{\bkmkend AAAAAAAAIM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commands.doc_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commands.doc_commands} +{\xe \v penify_hook.commands.doc_commands} +{\bkmkstart AAAAAAAAIN} +{\bkmkend AAAAAAAAIN} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b generate_doc} (api_url, token, location=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b setup_docgen_parser} (parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b handle_docgen} (args)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b docgen_description}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v generate_doc\:penify_hook.commands.doc_commands} +{\xe \v penify_hook.commands.doc_commands\:generate_doc} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.doc_commands.generate_doc ( {\i api_url}, {\i token}, {\i location} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAIO} +{\bkmkend AAAAAAAAIO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generates documentation based on the given parameters.\par +\par +This function initializes an API client using the provided API URL and token.\par +It then generates documentation by analyzing the specified location, which can\par +be a folder, a file, or the current working directory if no location is\par +provided. The function handles different types of analysis based on the input\par +location and reports any errors encountered during the process.\par +\par +Args:\par + api_url (str): The URL of the API to connect to for documentation generation.\par + token (str): The authentication token for accessing the API.\par + location (str?): The path to a specific file or folder to analyze. If not provided,\par + the current working directory is used.\par +} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1doc__commands_a4daac68bc563432bf25c85dc78081a25_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v handle_docgen\:penify_hook.commands.doc_commands} +{\xe \v penify_hook.commands.doc_commands\:handle_docgen} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.doc_commands.handle_docgen ( {\i args})}} +\par +{\bkmkstart AAAAAAAAIP} +{\bkmkend AAAAAAAAIP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Handle document generation and hook management based on subcommands.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1doc__commands_a2006ab13bff718ef783868a910c0b704_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v setup_docgen_parser\:penify_hook.commands.doc_commands} +{\xe \v penify_hook.commands.doc_commands\:setup_docgen_parser} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.doc_commands.setup_docgen_parser ( {\i parser})}} +\par +{\bkmkstart AAAAAAAAIQ} +{\bkmkend AAAAAAAAIQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Configure a parser for generating documentation using Git commands.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1doc__commands_acc7f4ead1b11951d885fa5c151c2cbe0_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v docgen_description\:penify_hook.commands.doc_commands} +{\xe \v penify_hook.commands.doc_commands\:docgen_description} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.commands.doc_commands.docgen_description}} +\par +{\bkmkstart AAAAAAAAIR} +{\bkmkend AAAAAAAAIR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\b Initial value:}{ +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid 1 = {\cf22 """Generate code documentation using Penify.}\par +2 {\cf22 }\par +3 {\cf22 This command requires you to be logged in to your Penify account.}\par +4 {\cf22 You can generate documentation for:}\par +5 {\cf22 - Current Git diff (default)}\par +6 {\cf22 - Specific file}\par +7 {\cf22 - Specific folder}\par +8 {\cf22 """}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commands.hook_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commands.hook_commands} +{\xe \v penify_hook.commands.hook_commands} +{\bkmkstart AAAAAAAAIS} +{\bkmkend AAAAAAAAIS} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b install_git_hook} (location, token)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b uninstall_git_hook} (location)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b HOOK_FILENAME} = "post-commit"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b HOOK_TEMPLATE}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v install_git_hook\:penify_hook.commands.hook_commands} +{\xe \v penify_hook.commands.hook_commands\:install_git_hook} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.hook_commands.install_git_hook ( {\i location}, {\i token})}} +\par +{\bkmkstart AAAAAAAAIT} +{\bkmkend AAAAAAAAIT} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Install a post-commit Git hook that generates documentation for changed files.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1hook__commands_adff8f5d3bf1c3795974a391ee95b72b2_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v uninstall_git_hook\:penify_hook.commands.hook_commands} +{\xe \v penify_hook.commands.hook_commands\:uninstall_git_hook} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commands.hook_commands.uninstall_git_hook ( {\i location})}} +\par +{\bkmkstart AAAAAAAAIU} +{\bkmkend AAAAAAAAIU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Uninstalls the post-commit hook from the specified location.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1commands_1_1hook__commands_a81543eb5fa835fd1237f24e8bce6201d_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v HOOK_FILENAME\:penify_hook.commands.hook_commands} +{\xe \v penify_hook.commands.hook_commands\:HOOK_FILENAME} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.commands.hook_commands.HOOK_FILENAME = "post-commit"}} +\par +{\bkmkstart AAAAAAAAIV} +{\bkmkend AAAAAAAAIV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v HOOK_TEMPLATE\:penify_hook.commands.hook_commands} +{\xe \v penify_hook.commands.hook_commands\:HOOK_TEMPLATE} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.commands.hook_commands.HOOK_TEMPLATE}} +\par +{\bkmkstart AAAAAAAAIW} +{\bkmkend AAAAAAAAIW} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\b Initial value:}{ +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid 1 = {\cf22 """#!/bin/sh}\par +2 {\cf22 # This is a post-commit hook generated by penify.}\par +3 {\cf22 # Automatically generates documentation for changed files after each commit.}\par +4 {\cf22 }\par +5 {\cf22 penify docgen -gf \{git_folder_path\} -t \{token\}}\par +6 {\cf22 """}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commit_analyzer Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commit_analyzer} +{\xe \v penify_hook.commit_analyzer} +{\bkmkstart AAAAAAAAIX} +{\bkmkend AAAAAAAAIX} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b CommitDocGenHook}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.config_command Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.config_command} +{\xe \v penify_hook.config_command} +{\bkmkstart AAAAAAAAJE} +{\bkmkend AAAAAAAAJE} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b setup_config_parser} (parent_parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b handle_config} (args)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v handle_config\:penify_hook.config_command} +{\xe \v penify_hook.config_command\:handle_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.config_command.handle_config ( {\i args})}} +\par +{\bkmkstart AAAAAAAAJF} +{\bkmkend AAAAAAAAJF} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Handle configuration settings based on the specified config type.\par +\par +This function processes different types of configurations such as LLM (Language\par +Model) and JIRA. It saves configurations, sets up web-based configurations, and\par +verifies JIRA connections. Depending on the `args.config_type`, it imports\par +necessary modules, handles configuration saving or setup, and optionally\par +verifies JIRA connectivity.\par +\par +Args:\par + args (argparse.Namespace): Command-line arguments containing the type of configuration to handle.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1config__command_a240e5331681eb574ac319d7458783bde_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v setup_config_parser\:penify_hook.config_command} +{\xe \v penify_hook.config_command\:setup_config_parser} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.config_command.setup_config_parser ( {\i parent_parser})}} +\par +{\bkmkstart AAAAAAAAJG} +{\bkmkend AAAAAAAAJG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Set up configuration parsers with subcommands for LLM and JIRA settings.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1config__command_a4f3eb92164a69df1446d745f8a09285e_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.constants Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.constants} +{\xe \v penify_hook.constants} +{\bkmkstart AAAAAAAAJH} +{\bkmkend AAAAAAAAJH} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b API_URL} = 'http://localhost:8000/api'\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b DASHBOARD_URL} = "https://dashboard.penify.dev/auth/localhost/login"\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v API_URL\:penify_hook.constants} +{\xe \v penify_hook.constants\:API_URL} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.constants.API_URL = 'http://localhost:8000/api'}} +\par +{\bkmkstart AAAAAAAAJI} +{\bkmkend AAAAAAAAJI} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v DASHBOARD_URL\:penify_hook.constants} +{\xe \v penify_hook.constants\:DASHBOARD_URL} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.constants.DASHBOARD_URL = "https://dashboard.penify.dev/auth/localhost/login"}} +\par +{\bkmkstart AAAAAAAAJJ} +{\bkmkend AAAAAAAAJJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.file_analyzer Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.file_analyzer} +{\xe \v penify_hook.file_analyzer} +{\bkmkstart AAAAAAAAJK} +{\bkmkend AAAAAAAAJK} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b FileAnalyzerGenHook}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b logger} = logging.getLogger(__name__)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v logger\:penify_hook.file_analyzer} +{\xe \v penify_hook.file_analyzer\:logger} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.file_analyzer.logger = logging.getLogger(__name__)}} +\par +{\bkmkstart AAAAAAAAJL} +{\bkmkend AAAAAAAAJL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.folder_analyzer Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.folder_analyzer} +{\xe \v penify_hook.folder_analyzer} +{\bkmkstart AAAAAAAAJR} +{\bkmkend AAAAAAAAJR} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b FolderAnalyzerGenHook}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.git_analyzer Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.git_analyzer} +{\xe \v penify_hook.git_analyzer} +{\bkmkstart AAAAAAAAJW} +{\bkmkend AAAAAAAAJW} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b GitDocGenHook}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b logger} = logging.getLogger(__name__)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v logger\:penify_hook.git_analyzer} +{\xe \v penify_hook.git_analyzer\:logger} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.git_analyzer.logger = logging.getLogger(__name__)}} +\par +{\bkmkstart AAAAAAAAJX} +{\bkmkend AAAAAAAAJX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.jira_client Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.jira_client} +{\xe \v penify_hook.jira_client} +{\bkmkstart AAAAAAAAKD} +{\bkmkend AAAAAAAAKD} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b JiraClient}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b JIRA_AVAILABLE} = True\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v JIRA_AVAILABLE\:penify_hook.jira_client} +{\xe \v penify_hook.jira_client\:JIRA_AVAILABLE} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +bool penify_hook.jira_client.JIRA_AVAILABLE = True}} +\par +{\bkmkstart AAAAAAAAKE} +{\bkmkend AAAAAAAAKE} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.llm_client Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.llm_client} +{\xe \v penify_hook.llm_client} +{\bkmkstart AAAAAAAAKV} +{\bkmkend AAAAAAAAKV} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b LLMClient}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.login_command Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.login_command} +{\xe \v penify_hook.login_command} +{\bkmkstart AAAAAAAALC} +{\bkmkend AAAAAAAALC} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b setup_login_parser} (parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b handle_login} (args)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v handle_login\:penify_hook.login_command} +{\xe \v penify_hook.login_command\:handle_login} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.login_command.handle_login ( {\i args})}} +\par +{\bkmkstart AAAAAAAALD} +{\bkmkend AAAAAAAALD} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Initiates a user login process using predefined constants and the `login`\par +function.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1login__command_ae4bf932fbafeff834b0a0c5a37f74ccd_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v setup_login_parser\:penify_hook.login_command} +{\xe \v penify_hook.login_command\:setup_login_parser} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.login_command.setup_login_parser ( {\i parser})}} +\par +{\bkmkstart AAAAAAAALE} +{\bkmkend AAAAAAAALE} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Set up command-line arguments for login.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1login__command_aae63db4c484797bead34b7d874020c6a_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.main Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.main} +{\xe \v penify_hook.main} +{\bkmkstart AAAAAAAALF} +{\bkmkend AAAAAAAALF} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b main} ()\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v main\:penify_hook.main} +{\xe \v penify_hook.main\:main} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.main.main ()}} +\par +{\bkmkstart AAAAAAAALG} +{\bkmkend AAAAAAAALG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Main function to handle command-line interface (CLI) interactions with Penify\par +services.\par +\par +This tool provides a command-line interface for generating smart commit\par +messages, configuring local-LLM and JIRA, and generating code documentation. It\par +supports basic commands that do not require login and advanced commands that\par +require user authentication. The `--version` flag can be used to display the\par +version information.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1main_a16838b20df4bd14ee4b5e1dd2906738f_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.ui_utils Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils} +{\bkmkstart AAAAAAAALH} +{\bkmkend AAAAAAAALH} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b format_info} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b format_success} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b format_warning} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b format_error} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b format_highlight} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b format_file_path} (file_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_info} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_success} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_warning} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_error} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_processing} (file_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_status} (status, message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b create_progress_bar} (total, desc="Processing", unit="item")\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b create_stage_progress_bar} (stages, desc="Processing")\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b update_stage} (pbar, stage_name)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b autoreset}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b INFO_COLOR} = Fore.CYAN\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b SUCCESS_COLOR} = Fore.GREEN\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b WARNING_COLOR} = Fore.YELLOW\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b ERROR_COLOR} = Fore.RED\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b HIGHLIGHT_COLOR} = Fore.BLUE\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b NEUTRAL_COLOR} = Fore.WHITE\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b SUCCESS_SYMBOL} = "\'E2\'9C\'93"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b WARNING_SYMBOL} = "\'E2\'97\'8B"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b ERROR_SYMBOL} = "\'E2\'9C\'97"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b PROCESSING_SYMBOL} = "\'E2\'9F\'B3"\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Detailed Description\par +\pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid UI utilities for Penify CLI.\par +\par +This module provides utility functions for consistent UI formatting,\par +colored output, and progress indicators across the Penify CLI application.\par +} + \par +}} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v create_progress_bar\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:create_progress_bar} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.create_progress_bar ( {\i total}, {\i desc} = {\f2 "Processing"}, {\i unit} = {\f2 "item"})}} +\par +{\bkmkstart AAAAAAAALI} +{\bkmkend AAAAAAAALI} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Create a tqdm progress bar with consistent styling.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a12b92532b1458af94f3649d411b5505c_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v create_stage_progress_bar\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:create_stage_progress_bar} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.create_stage_progress_bar ( {\i stages}, {\i desc} = {\f2 "Processing"})}} +\par +{\bkmkstart AAAAAAAALJ} +{\bkmkend AAAAAAAALJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Create a tqdm progress bar for processing stages with consistent styling.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a3da02cd1140179a9ce60f62c85fccfef_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v format_error\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:format_error} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.format_error ( {\i message})}} +\par +{\bkmkstart AAAAAAAALK} +{\bkmkend AAAAAAAALK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Format an error message with the specified error color.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a4dd934568897433fa73f9cc182ac4a3e_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v format_file_path\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:format_file_path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.format_file_path ( {\i file_path})}} +\par +{\bkmkstart AAAAAAAALL} +{\bkmkend AAAAAAAALL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Format a file path with a warning color.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_af3441fb3c2c3850b8b3b6455a9fdaba4_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v format_highlight\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:format_highlight} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.format_highlight ( {\i message})}} +\par +{\bkmkstart AAAAAAAALM} +{\bkmkend AAAAAAAALM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Format a highlighted message with appropriate color.} + \par +}} +{\xe \v format_info\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:format_info} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.format_info ( {\i message})}} +\par +{\bkmkstart AAAAAAAALN} +{\bkmkend AAAAAAAALN} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Format an informational message with appropriate color.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a92c3e466d1912058167be2eacf85b9f6_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v format_success\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:format_success} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.format_success ( {\i message})}} +\par +{\bkmkstart AAAAAAAALO} +{\bkmkend AAAAAAAALO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Formats a success message with green color and reset style.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a532cdb4de7c679ce8b29c3e9116c4776_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v format_warning\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:format_warning} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.format_warning ( {\i message})}} +\par +{\bkmkstart AAAAAAAALP} +{\bkmkend AAAAAAAALP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Format a warning message with appropriate color.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a0a6fd2613c6fe053b6e4356cd9e5cda2_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v print_error\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:print_error} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.print_error ( {\i message})}} +\par +{\bkmkstart AAAAAAAALQ} +{\bkmkend AAAAAAAALQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Print an error message with appropriate formatting.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a6f0acd7dd91abfe67d0807803bc3b65f_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v print_info\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:print_info} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.print_info ( {\i message})}} +\par +{\bkmkstart AAAAAAAALR} +{\bkmkend AAAAAAAALR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Prints an informational message with formatting.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a811f0adf6e9bf71510c379b6fa155e44_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v print_processing\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:print_processing} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.print_processing ( {\i file_path})}} +\par +{\bkmkstart AAAAAAAALS} +{\bkmkend AAAAAAAALS} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Print a processing message for a specified file.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_adfcbbfe39029ab6d1dd33e7bf75ae115_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v print_status\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:print_status} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.print_status ( {\i status}, {\i message})}} +\par +{\bkmkstart AAAAAAAALT} +{\bkmkend AAAAAAAALT} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Print a status message with an appropriate symbol.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_aa6e684c00e26199440137a87ed9b195c_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v print_success\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:print_success} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.print_success ( {\i message})}} +\par +{\bkmkstart AAAAAAAALU} +{\bkmkend AAAAAAAALU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Prints a formatted success message.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a2b16aa6b68a9edea5f29f84f1c4be79a_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v print_warning\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:print_warning} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.print_warning ( {\i message})}} +\par +{\bkmkstart AAAAAAAALV} +{\bkmkend AAAAAAAALV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Prints a warning message with formatted output.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a1ffbb9671dbe233770268e2dd66a67fa_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v update_stage\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:update_stage} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.ui_utils.update_stage ( {\i pbar}, {\i stage_name})}} +\par +{\bkmkstart AAAAAAAALW} +{\bkmkend AAAAAAAALW} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Update the progress bar with a new stage name.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1ui__utils_a5a7340d0fc60fb80f17514d60bf45f1d_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v autoreset\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:autoreset} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.autoreset}} +\par +{\bkmkstart AAAAAAAALX} +{\bkmkend AAAAAAAALX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v ERROR_COLOR\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:ERROR_COLOR} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.ERROR_COLOR = Fore.RED}} +\par +{\bkmkstart AAAAAAAALY} +{\bkmkend AAAAAAAALY} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v ERROR_SYMBOL\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:ERROR_SYMBOL} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.ui_utils.ERROR_SYMBOL = "\'E2\'9C\'97"}} +\par +{\bkmkstart AAAAAAAALZ} +{\bkmkend AAAAAAAALZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v HIGHLIGHT_COLOR\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:HIGHLIGHT_COLOR} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.HIGHLIGHT_COLOR = Fore.BLUE}} +\par +{\bkmkstart AAAAAAAAMA} +{\bkmkend AAAAAAAAMA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v INFO_COLOR\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:INFO_COLOR} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.INFO_COLOR = Fore.CYAN}} +\par +{\bkmkstart AAAAAAAAMB} +{\bkmkend AAAAAAAAMB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v NEUTRAL_COLOR\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:NEUTRAL_COLOR} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.NEUTRAL_COLOR = Fore.WHITE}} +\par +{\bkmkstart AAAAAAAAMC} +{\bkmkend AAAAAAAAMC} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v PROCESSING_SYMBOL\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:PROCESSING_SYMBOL} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.ui_utils.PROCESSING_SYMBOL = "\'E2\'9F\'B3"}} +\par +{\bkmkstart AAAAAAAAMD} +{\bkmkend AAAAAAAAMD} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v SUCCESS_COLOR\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:SUCCESS_COLOR} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.SUCCESS_COLOR = Fore.GREEN}} +\par +{\bkmkstart AAAAAAAAME} +{\bkmkend AAAAAAAAME} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v SUCCESS_SYMBOL\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:SUCCESS_SYMBOL} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.ui_utils.SUCCESS_SYMBOL = "\'E2\'9C\'93"}} +\par +{\bkmkstart AAAAAAAAMF} +{\bkmkend AAAAAAAAMF} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v WARNING_COLOR\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:WARNING_COLOR} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.ui_utils.WARNING_COLOR = Fore.YELLOW}} +\par +{\bkmkstart AAAAAAAAMG} +{\bkmkend AAAAAAAAMG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v WARNING_SYMBOL\:penify_hook.ui_utils} +{\xe \v penify_hook.ui_utils\:WARNING_SYMBOL} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +string penify_hook.ui_utils.WARNING_SYMBOL = "\'E2\'97\'8B"}} +\par +{\bkmkstart AAAAAAAAMH} +{\bkmkend AAAAAAAAMH} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.utils Namespace Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.utils} +{\xe \v penify_hook.utils} +{\bkmkstart AAAAAAAAMI} +{\bkmkend AAAAAAAAMI} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b GitRepoNotFoundError}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b get_repo_details} (Repo repo)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b recursive_search_git_folder} (folder_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b find_git_parent} (path)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b logger} = logging.getLogger(__name__)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v find_git_parent\:penify_hook.utils} +{\xe \v penify_hook.utils\:find_git_parent} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.utils.find_git_parent ( {\i path})}} +\par +{\bkmkstart AAAAAAAAMJ} +{\bkmkend AAAAAAAAMJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Traverse up from the given path to find the nearest directory containing a .git\par +subdirectory.} + \par +}} +{\xe \v get_repo_details\:penify_hook.utils} +{\xe \v penify_hook.utils\:get_repo_details} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.utils.get_repo_details (Repo {\i repo})}} +\par +{\bkmkstart AAAAAAAAMK} +{\bkmkend AAAAAAAAMK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Determine the details of a repository including its remote URL, hosting\par +service, organization name, and repository name.\par +\par +This function extracts the remote URL from the given Git repository object and\par +determines the hosting service (e.g., GitHub, Azure DevOps, Bitbucket, GitLab).\par +It then parses the URL to extract the organization name and repository name. If\par +the URL does not match any known hosting service pattern, it sets the hosting\par +service as "Unknown". The function handles exceptions that may occur during\par +this process and logs an error message if needed.\par +\par +Args:\par + repo (Repo): A GitPython Repo object representing the local git repository.\par +\par +Returns:\par + dict: A dictionary containing the organization name, repository name, and hosting\par + service.\par +} + \par +}} +{\xe \v recursive_search_git_folder\:penify_hook.utils} +{\xe \v penify_hook.utils\:recursive_search_git_folder} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.utils.recursive_search_git_folder ( {\i folder_path})}} +\par +{\bkmkstart AAAAAAAAML} +{\bkmkend AAAAAAAAML} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Recursively searches for a .git folder starting from the given directory.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacepenify__hook_1_1utils_a95c3f9c80860d6a2e2d061d2fb660a3f_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v logger\:penify_hook.utils} +{\xe \v penify_hook.utils\:logger} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.utils.logger = logging.getLogger(__name__)}} +\par +{\bkmkstart AAAAAAAAMM} +{\bkmkend AAAAAAAAMM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +setup Namespace Reference\par \pard\plain +{\tc\tcl2 \v setup} +{\xe \v setup} +{\bkmkstart AAAAAAAAMO} +{\bkmkend AAAAAAAAMO} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b name}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b version}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b packages}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b install_requires}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b entry_points}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b author}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b author_email}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b description}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b long_description}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b long_description_content_type}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b url}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b classifiers}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b python_requires}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variable Documentation\par +\pard\plain +{\xe \v author\:setup} +{\xe \v setup\:author} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.author}} +\par +{\bkmkstart AAAAAAAAMP} +{\bkmkend AAAAAAAAMP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v author_email\:setup} +{\xe \v setup\:author_email} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.author_email}} +\par +{\bkmkstart AAAAAAAAMQ} +{\bkmkend AAAAAAAAMQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v classifiers\:setup} +{\xe \v setup\:classifiers} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.classifiers}} +\par +{\bkmkstart AAAAAAAAMR} +{\bkmkend AAAAAAAAMR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v description\:setup} +{\xe \v setup\:description} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.description}} +\par +{\bkmkstart AAAAAAAAMS} +{\bkmkend AAAAAAAAMS} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v entry_points\:setup} +{\xe \v setup\:entry_points} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.entry_points}} +\par +{\bkmkstart AAAAAAAAMT} +{\bkmkend AAAAAAAAMT} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v install_requires\:setup} +{\xe \v setup\:install_requires} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.install_requires}} +\par +{\bkmkstart AAAAAAAAMU} +{\bkmkend AAAAAAAAMU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v long_description\:setup} +{\xe \v setup\:long_description} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.long_description}} +\par +{\bkmkstart AAAAAAAAMV} +{\bkmkend AAAAAAAAMV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v long_description_content_type\:setup} +{\xe \v setup\:long_description_content_type} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.long_description_content_type}} +\par +{\bkmkstart AAAAAAAAMW} +{\bkmkend AAAAAAAAMW} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v name\:setup} +{\xe \v setup\:name} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.name}} +\par +{\bkmkstart AAAAAAAAMX} +{\bkmkend AAAAAAAAMX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v packages\:setup} +{\xe \v setup\:packages} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.packages}} +\par +{\bkmkstart AAAAAAAAMY} +{\bkmkend AAAAAAAAMY} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v python_requires\:setup} +{\xe \v setup\:python_requires} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.python_requires}} +\par +{\bkmkstart AAAAAAAAMZ} +{\bkmkend AAAAAAAAMZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v url\:setup} +{\xe \v setup\:url} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.url}} +\par +{\bkmkstart AAAAAAAANA} +{\bkmkend AAAAAAAANA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v version\:setup} +{\xe \v setup\:version} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +setup.version}} +\par +{\bkmkstart AAAAAAAANB} +{\bkmkend AAAAAAAANB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests Namespace Reference\par \pard\plain +{\tc\tcl2 \v tests} +{\xe \v tests} +{\bkmkstart AAAAAAAANC} +{\bkmkend AAAAAAAANC} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b conftest}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b test_commit_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b test_config_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b test_doc_commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b test_web_config}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.conftest Namespace Reference\par \pard\plain +{\tc\tcl2 \v tests.conftest} +{\xe \v tests.conftest} +{\bkmkstart AAAAAAAAND} +{\bkmkend AAAAAAAAND} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_commit_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v tests.test_commit_commands} +{\xe \v tests.test_commit_commands} +{\bkmkstart AAAAAAAANE} +{\bkmkend AAAAAAAANE} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b TestCommitCommands}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_config_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v tests.test_config_commands} +{\xe \v tests.test_config_commands} +{\bkmkstart AAAAAAAANS} +{\bkmkend AAAAAAAANS} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b TestConfigCommands}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_doc_commands Namespace Reference\par \pard\plain +{\tc\tcl2 \v tests.test_doc_commands} +{\xe \v tests.test_doc_commands} +{\bkmkstart AAAAAAAAOG} +{\bkmkend AAAAAAAAOG} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_generate_doc_no_location} (mock_getcwd, mock_api_client, mock_folder_analyzer, mock_file_analyzer, mock_git_analyzer)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_generate_doc_file_location} (mock_api_client, mock_folder_analyzer, mock_file_analyzer, mock_git_analyzer)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_generate_doc_folder_location} (mock_api_client, mock_folder_analyzer, mock_file_analyzer, mock_git_analyzer)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_generate_doc_error_handling} (mock_api_client, mock_git_analyzer, mock_exit)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_setup_docgen_parser} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_handle_docgen_install_hook} (mock_exit, mock_get_token, mock_generate_doc, mock_uninstall_hook, mock_install_hook)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_handle_docgen_uninstall_hook} (mock_exit, mock_get_token, mock_generate_doc, mock_uninstall_hook, mock_install_hook)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_handle_docgen_generate} (mock_get_token, mock_generate_doc, mock_uninstall_hook, mock_install_hook)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_handle_docgen_no_token} (mock_exit, mock_get_token)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_generate_doc_with_file_exception} (mock_api_client, mock_getcwd)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_generate_doc_with_folder_exception} (mock_api_client, mock_getcwd)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Function Documentation\par +\pard\plain +{\xe \v test_generate_doc_error_handling\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_generate_doc_error_handling} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_generate_doc_error_handling ( {\i mock_api_client}, {\i mock_git_analyzer}, {\i mock_exit})}} +\par +{\bkmkstart AAAAAAAAOH} +{\bkmkend AAAAAAAAOH} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generate a documentation string for the provided code snippet using\par +Google Docstring style.\par +\par +Short one line description: Test function to ensure proper error\par +handling during API calls with GitAnalyzer. Multiline long description:\par +This test function is designed to verify that the generate_doc function\par +handles exceptions correctly when an error occurs during API interaction\par +with GitAnalyzer. It sets up a mock API client and a mock Git analyzer,\par +causing the analyzer to raise an exception to simulate a failure\par +condition. The function then asserts that the exit code is set to 1 when\par +the error handling mechanism is invoked.\par +\par +Args:\par + mock_api_client (MagicMock): A mock object simulating the API client.\par + mock_git_analyzer (MagicMock): A mock object simulating the Git analyzer, configured to raise an\par + exception.\par + mock_exit (MagicMock): A mock object representing the exit function, which should be called\par + with an error code.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_aec76cc25c23476794234cdadbcaef0c0_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_generate_doc_file_location\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_generate_doc_file_location} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_generate_doc_file_location ( {\i mock_api_client}, {\i mock_folder_analyzer}, {\i mock_file_analyzer}, {\i mock_git_analyzer})}} +\par +{\bkmkstart AAAAAAAAOI} +{\bkmkend AAAAAAAAOI} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test generating a documentation file location.\par +\par +This function tests the process of generating a documentation file\par +location using mock objects for API client, folder analyzer, file\par +analyzer, and Git analyzer. It sets up the necessary mocks, calls the\par +`generate_doc` function with specified parameters, and asserts that the\par +appropriate methods on the mock objects are called as expected.\par +\par +Args:\par + mock_api_client (MagicMock): Mock object for the API client.\par + mock_folder_analyzer (MagicMock): Mock object for the folder analyzer.\par + mock_file_analyzer (MagicMock): Mock object for the file analyzer.\par + mock_git_analyzer (MagicMock): Mock object for the Git analyzer.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a0e74c920f258f442914771164fe26b45_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_generate_doc_folder_location\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_generate_doc_folder_location} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_generate_doc_folder_location ( {\i mock_api_client}, {\i mock_folder_analyzer}, {\i mock_file_analyzer}, {\i mock_git_analyzer})}} +\par +{\bkmkstart AAAAAAAAOJ} +{\bkmkend AAAAAAAAOJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the function to generate documentation for a folder location.\par +\par +It sets up mock objects for API client, folder analyzer, file analyzer,\par +and Git analyzer, then calls the `generate_doc` function with specified\par +parameters. Finally, it asserts that the correct methods on the mock\par +objects were called as expected.\par +\par +Args:\par + mock_api_client (MagicMock): Mock object for the API client.\par + mock_folder_analyzer (MagicMock): Mock object for the folder analyzer.\par + mock_file_analyzer (MagicMock): Mock object for the file analyzer.\par + mock_git_analyzer (MagicMock): Mock object for the Git analyzer.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a4bb75610e40d94d42bc169b25403c186_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_generate_doc_no_location\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_generate_doc_no_location} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_generate_doc_no_location ( {\i mock_getcwd}, {\i mock_api_client}, {\i mock_folder_analyzer}, {\i mock_file_analyzer}, {\i mock_git_analyzer})}} +\par +{\bkmkstart AAAAAAAAOK} +{\bkmkend AAAAAAAAOK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test function to generate documentation without location information.\par +\par +This function sets up mocks for the API client, current working\par +directory, and Git analyzer. It then calls the `generate_doc` function\par +with a fake API URL and token. The function is expected to initialize\par +the API client, configure the Git analyzer, and run it without any\par +location information.\par +\par +Args:\par + mock_getcwd (MagicMock): Mock for os.getcwd().\par + mock_api_client (MagicMock): Mock for creating an API client.\par + mock_folder_analyzer (MagicMock): Mock for folder analysis.\par + mock_file_analyzer (MagicMock): Mock for file analysis.\par + mock_git_analyzer (MagicMock): Mock for Git analyzer setup.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a806110833eb0aad547156faf014b31d8_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_generate_doc_with_file_exception\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_generate_doc_with_file_exception} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_generate_doc_with_file_exception ( {\i mock_api_client}, {\i mock_getcwd})}} +\par +{\bkmkstart AAAAAAAAOL} +{\bkmkend AAAAAAAAOL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generate documentation from a Python source file.\par +\par +This function reads a Python file and generates a docstring based on its\par +content. It uses mock objects to simulate API calls and directory\par +operations during testing.\par +\par +Args:\par + mock_api_client (unittest.mock.MagicMock): A mock object for simulating API client behavior.\par + mock_getcwd (unittest.mock.MagicMock): A mock object for simulating the current working directory function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a335e7fd4912192c7276cf31bbebc6eb0_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_generate_doc_with_folder_exception\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_generate_doc_with_folder_exception} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_generate_doc_with_folder_exception ( {\i mock_api_client}, {\i mock_getcwd})}} +\par +{\bkmkstart AAAAAAAAOM} +{\bkmkend AAAAAAAAOM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generate documentation from a given API endpoint and save it to a\par +folder.\par +\par +This function fetches data from the specified API endpoint, processes\par +it, and saves the generated documentation in the provided folder. If an\par +error occurs during the fetching process, a SystemExit exception is\par +raised with an appropriate message.\par +\par +Args:\par + api_url (str): The URL of the API endpoint from which data will be fetched.\par + token (str): The authentication token required to access the API.\par + folder_path (str): The path to the folder where the documentation will be saved.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a64165ddfdb3071a88422f080f0e529a3_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_handle_docgen_generate\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_handle_docgen_generate} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_handle_docgen_generate ( {\i mock_get_token}, {\i mock_generate_doc}, {\i mock_uninstall_hook}, {\i mock_install_hook})}} +\par +{\bkmkstart AAAAAAAAON} +{\bkmkend AAAAAAAAON} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the direct documentation generation functionality.\par +\par +This function tests the `handle_docgen` function when no subcommand is\par +provided. It verifies that the document generation hook is called and\par +the uninstall and install hooks are not called.\par +\par +Args:\par + mock_get_token (MagicMock): Mocked function to get authentication token.\par + mock_generate_doc (MagicMock): Mocked function for generating documentation.\par + mock_uninstall_hook (MagicMock): Mocked function for uninstalling the document generation hook.\par + mock_install_hook (MagicMock): Mocked function for installing the document generation hook.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_ab158ffa48469b6c097a7a55fcb20c21a_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_handle_docgen_install_hook\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_handle_docgen_install_hook} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_handle_docgen_install_hook ( {\i mock_exit}, {\i mock_get_token}, {\i mock_generate_doc}, {\i mock_uninstall_hook}, {\i mock_install_hook})}} +\par +{\bkmkstart AAAAAAAAOO} +{\bkmkend AAAAAAAAOO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the handling of the 'install-hook' subcommand.\par +\par +This function sets up a mock environment where it simulates the\par +execution of the 'install-hook' subcommand. It verifies that the\par +`mock_install_hook` is called with the correct arguments, while\par +`mock_generate_doc` and `mock_uninstall_hook` are not called.\par +\par +Args:\par + mock_exit (MagicMock): Mock object for sys.exit.\par + mock_get_token (MagicMock): Mock object to simulate fetching a token.\par + mock_generate_doc (MagicMock): Mock object to simulate generating documentation.\par + mock_uninstall_hook (MagicMock): Mock object to simulate uninstalling a hook.\par + mock_install_hook (MagicMock): Mock object to simulate installing a hook.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_ab74688baa8c9b5ba302c2877a9789d05_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_handle_docgen_no_token\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_handle_docgen_no_token} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_handle_docgen_no_token ( {\i mock_exit}, {\i mock_get_token})}} +\par +{\bkmkstart AAAAAAAAOP} +{\bkmkend AAAAAAAAOP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the behavior of the `handle_docgen` function when no token is\par +provided.\par +\par +This function asserts that if no token is returned by `mock_get_token`,\par +the `handle_docgen` function will call `mock_exit` with a status code of\par +1.\par +\par +Args:\par + mock_exit (MagicMock): A MagicMock object simulating the `exit` function.\par + mock_get_token (MagicMock): A MagicMock object simulating the `get_token` function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_af9b01e5fc89255cac96747fa081c442c_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_handle_docgen_uninstall_hook\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_handle_docgen_uninstall_hook} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_handle_docgen_uninstall_hook ( {\i mock_exit}, {\i mock_get_token}, {\i mock_generate_doc}, {\i mock_uninstall_hook}, {\i mock_install_hook})}} +\par +{\bkmkstart AAAAAAAAOQ} +{\bkmkend AAAAAAAAOQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the uninstall-hook subcommand of the handle_docgen function.\par +This test case sets up a mock environment and verifies that the\par +uninstall-hook is called with the correct location, while generate_doc\par +and install_hook are not called.\par +\par +Args:\par + mock_exit (MagicMock): A mock for the exit function.\par + mock_get_token (MagicMock): A mock for the get_token function.\par + mock_generate_doc (MagicMock): A mock for the generate_doc function.\par + mock_uninstall_hook (MagicMock): A mock for the uninstall_hook function.\par + mock_install_hook (MagicMock): A mock for the install_hook function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a1458af9ad0128c3ca1263b552fd5e482_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_setup_docgen_parser\:tests.test_doc_commands} +{\xe \v tests.test_doc_commands\:test_setup_docgen_parser} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_doc_commands.test_setup_docgen_parser ()}} +\par +{\bkmkstart AAAAAAAAOR} +{\bkmkend AAAAAAAAOR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the setup_docgen_parser function to ensure it properly configures\par +the ArgumentParser for docgen options.\par +\par +It verifies that the parser correctly sets up docgen options and handles\par +different subcommands like 'install-hook' and 'uninstall-hook'.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "namespacetests_1_1test__doc__commands_a0f27751d0ba2acfe40ef7e85bccf47d7_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_web_config Namespace Reference\par \pard\plain +{\tc\tcl2 \v tests.test_web_config} +{\xe \v tests.test_web_config} +{\bkmkstart AAAAAAAAOS} +{\bkmkend AAAAAAAAOS} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b TestWebConfig}\par +} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +Class Documentation{\tc \v Class Documentation} +\par \pard\plain +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.api_client.APIClient Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient} +{\bkmkstart AAAAAAAAGU} +{\bkmkend AAAAAAAAGU} +Collaboration diagram for penify_hook.api_client.APIClient:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1api__client_1_1APIClient__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, {\b api_url}, str api_token=None, str bearer_token=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b send_file_for_docstring_generation} (self, file_name, content, line_numbers, repo_details=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b generate_commit_summary} (self, git_diff, str instruction="", repo_details=None, dict jira_context=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +list[str] {\b get_supported_file_types} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b generate_commit_summary_with_llm} (self, diff, message, bool generate_description, repo_details, {\b LLMClient} llm_client, jira_context=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b get_api_key} (self)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b api_url}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b AUTH_TOKEN}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b BEARER_TOKEN}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.api_client.APIClient.__init__ ( {\i self}, {\i api_url}, str {\i api_token} = {\f2 None}, str {\i bearer_token} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAGV} +{\bkmkend AAAAAAAAGV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v generate_commit_summary\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:generate_commit_summary} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.api_client.APIClient.generate_commit_summary ( {\i self}, {\i git_diff}, str {\i instruction} = {\f2 ""}, {\i repo_details} = {\f2 None}, dict {\i jira_context} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAGW} +{\bkmkend AAAAAAAAGW} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generates a commit summary by sending a POST request to the API endpoint.\par +\par +This function constructs a payload containing the git diff and any additional\par +instructions provided. It then sends this payload to a specified API endpoint\par +to generate a summary of the commit. If the request is successful, it returns\par +the response from the API; otherwise, it returns None. The function also\par +handles optional repository details and JIRA context if they are provided.\par +\par +Args:\par + git_diff (str): The git diff of the commit.\par + instruction (str): Additional instruction for the commit. Defaults to "".\par + repo_details (dict): Details of the git repository. Defaults to None.\par + jira_context (dict): JIRA issue details to enhance the commit summary. Defaults to None.\par +\par +Returns:\par + dict: The response from the API if the request is successful, None otherwise.\par +} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1api__client_1_1APIClient_a7ff74798e7d428b4e2f20095287eb2ce_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v generate_commit_summary_with_llm\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:generate_commit_summary_with_llm} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.api_client.APIClient.generate_commit_summary_with_llm ( {\i self}, {\i diff}, {\i message}, bool {\i generate_description}, {\i repo_details}, {\b LLMClient} {\i llm_client}, {\i jira_context} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAGX} +{\bkmkend AAAAAAAAGX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generates a commit summary using a local LLM client; falls back to API on\par +error.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1api__client_1_1APIClient_ac0ada470b897935f9fb372cd0e7e51e3_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_api_key\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:get_api_key} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.api_client.APIClient.get_api_key ( {\i self})}} +\par +{\bkmkstart AAAAAAAAGY} +{\bkmkend AAAAAAAAGY} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Fetch an API key from a specified URL using a Bearer token.} + \par +}} +{\xe \v get_supported_file_types\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:get_supported_file_types} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + list[str] penify_hook.api_client.APIClient.get_supported_file_types ( {\i self})}} +\par +{\bkmkstart AAAAAAAAGZ} +{\bkmkend AAAAAAAAGZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Retrieve supported file types from the API or return a default list.} + \par +}} +{\xe \v send_file_for_docstring_generation\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:send_file_for_docstring_generation} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.api_client.APIClient.send_file_for_docstring_generation ( {\i self}, {\i file_name}, {\i content}, {\i line_numbers}, {\i repo_details} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAHA} +{\bkmkend AAAAAAAAHA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Send file content and modified lines to the API and return modified content.} + \par +}} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v api_url\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:api_url} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.api_client.APIClient.api_url}} +\par +{\bkmkstart AAAAAAAAHB} +{\bkmkend AAAAAAAAHB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v AUTH_TOKEN\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:AUTH_TOKEN} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.api_client.APIClient.AUTH_TOKEN}} +\par +{\bkmkstart AAAAAAAAHC} +{\bkmkend AAAAAAAAHC} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v BEARER_TOKEN\:penify_hook.api_client.APIClient} +{\xe \v penify_hook.api_client.APIClient\:BEARER_TOKEN} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.api_client.APIClient.BEARER_TOKEN}} +\par +{\bkmkstart AAAAAAAAHD} +{\bkmkend AAAAAAAAHD} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b api_client.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.base_analyzer.BaseAnalyzer Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer} +{\bkmkstart AAAAAAAAHF} +{\bkmkend AAAAAAAAHF} +Inheritance diagram for penify_hook.base_analyzer.BaseAnalyzer:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for penify_hook.base_analyzer.BaseAnalyzer:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1base__analyzer_1_1BaseAnalyzer__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b folder_path}, {\b APIClient} {\b api_client})\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b folder_path}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b repo_path}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b repo}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b repo_details}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b relative_file_path}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b api_client}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b supported_file_types}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.base_analyzer.BaseAnalyzer.__init__ ( {\i self}, str {\i folder_path}, {\b APIClient} {\i api_client})}} +\par +{\bkmkstart AAAAAAAAHG} +{\bkmkend AAAAAAAAHG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +Reimplemented in {\b penify_hook.folder_analyzer.FolderAnalyzerGenHook} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHH \\*MERGEFORMAT}{\fldrslt pagenum}}}), {\b penify_hook.file_analyzer.FileAnalyzerGenHook} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHI \\*MERGEFORMAT}{\fldrslt pagenum}}}), {\b penify_hook.git_analyzer.GitDocGenHook} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHJ \\*MERGEFORMAT}{\fldrslt pagenum}}}), and {\b penify_hook.commit_analyzer.CommitDocGenHook} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHK \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v api_client\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:api_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.api_client}} +\par +{\bkmkstart AAAAAAAAHL} +{\bkmkend AAAAAAAAHL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v folder_path\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:folder_path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.folder_path}} +\par +{\bkmkstart AAAAAAAAHM} +{\bkmkend AAAAAAAAHM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v relative_file_path\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:relative_file_path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.relative_file_path}} +\par +{\bkmkstart AAAAAAAAHN} +{\bkmkend AAAAAAAAHN} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v repo\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:repo} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.repo}} +\par +{\bkmkstart AAAAAAAAHO} +{\bkmkend AAAAAAAAHO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v repo_details\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:repo_details} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.repo_details}} +\par +{\bkmkstart AAAAAAAAHP} +{\bkmkend AAAAAAAAHP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v repo_path\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:repo_path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.repo_path}} +\par +{\bkmkstart AAAAAAAAHQ} +{\bkmkend AAAAAAAAHQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v supported_file_types\:penify_hook.base_analyzer.BaseAnalyzer} +{\xe \v penify_hook.base_analyzer.BaseAnalyzer\:supported_file_types} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.base_analyzer.BaseAnalyzer.supported_file_types}} +\par +{\bkmkstart AAAAAAAAHR} +{\bkmkend AAAAAAAAHR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b base_analyzer.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.commit_analyzer.CommitDocGenHook Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook} +{\bkmkstart AAAAAAAAIY} +{\bkmkend AAAAAAAAIY} +Inheritance diagram for penify_hook.commit_analyzer.CommitDocGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for penify_hook.commit_analyzer.CommitDocGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b repo_path}, {\b APIClient} {\b api_client}, {\b llm_client}=None, jira_client=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +dict {\b get_summary} (self, str instruction, bool generate_description)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b run} (self, Optional[str] msg, bool edit_commit_message, bool generate_description)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +tuple {\b process_jira_integration} (self, str title, str description, str msg)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b llm_client}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Private Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b _amend_commit} (self)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commit_analyzer.CommitDocGenHook.__init__ ( {\i self}, str {\i repo_path}, {\b APIClient} {\i api_client}, {\i llm_client} = {\f2 None}, {\i jira_client} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAHK} +{\bkmkend AAAAAAAAHK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +Reimplemented from {\b penify_hook.base_analyzer.BaseAnalyzer} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHG \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par +Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_af127d86729e226d74dbeb095b008db3e_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v _amend_commit\:penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook\:_amend_commit} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commit_analyzer.CommitDocGenHook._amend_commit ( {\i self}){\f2 [private]}}} +\par +{\bkmkstart AAAAAAAAIZ} +{\bkmkend AAAAAAAAIZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Amends the last commit message in the repository.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_ac999c5cbc852a7ec3b412ccb43c274ca_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_summary\:penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook\:get_summary} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + dict penify_hook.commit_analyzer.CommitDocGenHook.get_summary ( {\i self}, str {\i instruction}, bool {\i generate_description})}} +\par +{\bkmkstart AAAAAAAAJA} +{\bkmkend AAAAAAAAJA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generate a summary for the commit based on the staged changes.\par +\par +This function retrieves the differences of the staged changes in the repository\par +and generates a commit summary using the provided instruction. If there are no\par +changes staged for commit, an exception is raised. If a JIRA client is\par +connected, it will attempt to extract issue keys from the current branch and\par +use them to fetch context. The summary can be generated either with a Language\par +Model (LLM) client or through the API client.\par +\par +Args:\par + instruction (str): A string containing instructions for generating the commit summary.\par + generate_description (bool): Whether to include detailed descriptions in the summary.\par +\par +Raises:\par + ValueError: If there are no changes staged for commit.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a8496194276441fa2eb2fa014eaab9a37_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v process_jira_integration\:penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook\:process_jira_integration} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + tuple penify_hook.commit_analyzer.CommitDocGenHook.process_jira_integration ( {\i self}, str {\i title}, str {\i description}, str {\i msg})}} +\par +{\bkmkstart AAAAAAAAJB} +{\bkmkend AAAAAAAAJB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Process JIRA integration by extracting issue keys from commit message\par +components and branch name.\par +\par +This function looks for JIRA issue keys in the provided commit title,\par +description, original user message, and the active branch name. It uses these\par +keys to update the commit message with JIRA information and adds comments to\par +the corresponding JIRA issues. If no keys are found, it logs a warning.\par +\par +Args:\par + title (str): The generated commit title.\par + description (str): The generated commit description.\par + msg (str): The original user message that might contain JIRA references.\par +\par +Returns:\par + tuple: A tuple containing the updated commit title and description with included JIRA\par + information.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_adda13cc121d96342476ccf72b63a007f_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v run\:penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook\:run} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.commit_analyzer.CommitDocGenHook.run ( {\i self}, Optional[str] {\i msg}, bool {\i edit_commit_message}, bool {\i generate_description})}} +\par +{\bkmkstart AAAAAAAAJC} +{\bkmkend AAAAAAAAJC} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Run the post-commit hook.\par +\par +This method processes the modified files from the last commit, stages them, and\par +creates an auto-commit with an optional message. It also handles JIRA\par +integration if available. If there is an error generating the commit summary,\par +an exception is raised.\par +\par +Args:\par + msg (Optional[str]): An optional message to include in the commit.\par + edit_commit_message (bool): A flag indicating whether to open the git commit\par + edit terminal after committing.\par + generate_description (bool): A flag indicating whether to include a description\par + in the commit message.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1commit__analyzer_1_1CommitDocGenHook_a6370a03f7ed9175ef6f81e931a105ea9_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v llm_client\:penify_hook.commit_analyzer.CommitDocGenHook} +{\xe \v penify_hook.commit_analyzer.CommitDocGenHook\:llm_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.commit_analyzer.CommitDocGenHook.llm_client}} +\par +{\bkmkstart AAAAAAAAJD} +{\bkmkend AAAAAAAAJD} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b commit_analyzer.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +Exception Class Reference\par \pard\plain +{\tc\tcl2 \v Exception} +{\xe \v Exception} +{\bkmkstart AAAAAAAAGR} +{\bkmkend AAAAAAAAGR} +Inheritance diagram for Exception:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classException__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for Exception:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classException__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b utils.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.file_analyzer.FileAnalyzerGenHook Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.file_analyzer.FileAnalyzerGenHook} +{\xe \v penify_hook.file_analyzer.FileAnalyzerGenHook} +{\bkmkstart AAAAAAAAJM} +{\bkmkend AAAAAAAAJM} +Inheritance diagram for penify_hook.file_analyzer.FileAnalyzerGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for penify_hook.file_analyzer.FileAnalyzerGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b file_path}, {\b APIClient} {\b api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b process_file} (self, {\b file_path}, pbar, str new_param="")\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b print_processing} (self, {\b file_path})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b run} (self)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b file_path}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.file_analyzer.FileAnalyzerGenHook} +{\xe \v penify_hook.file_analyzer.FileAnalyzerGenHook\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.file_analyzer.FileAnalyzerGenHook.__init__ ( {\i self}, str {\i file_path}, {\b APIClient} {\i api_client})}} +\par +{\bkmkstart AAAAAAAAHI} +{\bkmkend AAAAAAAAHI} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +Reimplemented from {\b penify_hook.base_analyzer.BaseAnalyzer} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHG \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v print_processing\:penify_hook.file_analyzer.FileAnalyzerGenHook} +{\xe \v penify_hook.file_analyzer.FileAnalyzerGenHook\:print_processing} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.file_analyzer.FileAnalyzerGenHook.print_processing ( {\i self}, {\i file_path})}} +\par +{\bkmkstart AAAAAAAAJN} +{\bkmkend AAAAAAAAJN} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Prints a message indicating that a file is being processed.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a6ab39391dfb7686f2a2d21a702dd3073_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v process_file\:penify_hook.file_analyzer.FileAnalyzerGenHook} +{\xe \v penify_hook.file_analyzer.FileAnalyzerGenHook\:process_file} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.file_analyzer.FileAnalyzerGenHook.process_file ( {\i self}, {\i file_path}, {\i pbar}, str {\i new_param} = {\f2 ""})}} +\par +{\bkmkstart AAAAAAAAJO} +{\bkmkend AAAAAAAAJO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Processes a file by validating its extension, reading content,\par +generating documentation, and writing changes back to the file. The function\par +performs several stages of processing: 1. Validates the file's extension to\par +ensure it is supported. 2. Reads the content of the file. 3. Sends the file\par +content for documentation generation. 4. Writes the generated documentation\par +back to the file if there are changes.\par +\par +Args:\par + file_path (str): The path of the file to be processed.\par + pbar (tqdm.tqdm): A progress bar object to update the status of processing stages.\par + new_param (str?): An additional parameter for future use. Defaults to an empty string.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a2cc6c22ef588fccf3eed9bbc57fb6d6e_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v run\:penify_hook.file_analyzer.FileAnalyzerGenHook} +{\xe \v penify_hook.file_analyzer.FileAnalyzerGenHook\:run} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.file_analyzer.FileAnalyzerGenHook.run ( {\i self})}} +\par +{\bkmkstart AAAAAAAAJP} +{\bkmkend AAAAAAAAJP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Runs the documentation process with a progress bar.\par +\par +This method orchestrates the documentation process by creating a progress bar,\par +processing the file, and handling exceptions to ensure the progress bar\par +completes properly. It updates the progress bar through various stages and\par +provides feedback based on the result of the file processing.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1file__analyzer_1_1FileAnalyzerGenHook_a4f4dffbc432fac3e259d957dd1e187f1_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v file_path\:penify_hook.file_analyzer.FileAnalyzerGenHook} +{\xe \v penify_hook.file_analyzer.FileAnalyzerGenHook\:file_path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.file_analyzer.FileAnalyzerGenHook.file_path}} +\par +{\bkmkstart AAAAAAAAJQ} +{\bkmkend AAAAAAAAJQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b file_analyzer.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.folder_analyzer.FolderAnalyzerGenHook Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.folder_analyzer.FolderAnalyzerGenHook} +{\xe \v penify_hook.folder_analyzer.FolderAnalyzerGenHook} +{\bkmkstart AAAAAAAAJS} +{\bkmkend AAAAAAAAJS} +Inheritance diagram for penify_hook.folder_analyzer.FolderAnalyzerGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for penify_hook.folder_analyzer.FolderAnalyzerGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b dir_path}, {\b APIClient} {\b api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b list_all_files_in_dir} (self, str {\b dir_path})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b run} (self)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b dir_path}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.folder_analyzer.FolderAnalyzerGenHook} +{\xe \v penify_hook.folder_analyzer.FolderAnalyzerGenHook\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.folder_analyzer.FolderAnalyzerGenHook.__init__ ( {\i self}, str {\i dir_path}, {\b APIClient} {\i api_client})}} +\par +{\bkmkstart AAAAAAAAHH} +{\bkmkend AAAAAAAAHH} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +Reimplemented from {\b penify_hook.base_analyzer.BaseAnalyzer} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHG \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v list_all_files_in_dir\:penify_hook.folder_analyzer.FolderAnalyzerGenHook} +{\xe \v penify_hook.folder_analyzer.FolderAnalyzerGenHook\:list_all_files_in_dir} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.folder_analyzer.FolderAnalyzerGenHook.list_all_files_in_dir ( {\i self}, str {\i dir_path})}} +\par +{\bkmkstart AAAAAAAAJT} +{\bkmkend AAAAAAAAJT} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid List all non-hidden files in a directory and its subdirectories.\par +\par +This function recursively traverses the specified directory and its\par +subdirectories, collecting paths of all non-hidden files. It filters out hidden\par +directories and files (those starting with a dot) to ensure only visible files\par +are returned.\par +\par +Args:\par + dir_path (str): The path to the directory whose files and subdirectory files need to be listed.\par +} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_a70b845318fc7ac3b607daf26378e19ec_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v run\:penify_hook.folder_analyzer.FolderAnalyzerGenHook} +{\xe \v penify_hook.folder_analyzer.FolderAnalyzerGenHook\:run} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.folder_analyzer.FolderAnalyzerGenHook.run ( {\i self})}} +\par +{\bkmkstart AAAAAAAAJU} +{\bkmkend AAAAAAAAJU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Run the post-commit hook and process files with a progress bar.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1folder__analyzer_1_1FolderAnalyzerGenHook_afd189d1b8c773bf710a899eb21fd76cc_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v dir_path\:penify_hook.folder_analyzer.FolderAnalyzerGenHook} +{\xe \v penify_hook.folder_analyzer.FolderAnalyzerGenHook\:dir_path} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.folder_analyzer.FolderAnalyzerGenHook.dir_path}} +\par +{\bkmkstart AAAAAAAAJV} +{\bkmkend AAAAAAAAJV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b folder_analyzer.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.git_analyzer.GitDocGenHook Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.git_analyzer.GitDocGenHook} +{\xe \v penify_hook.git_analyzer.GitDocGenHook} +{\bkmkstart AAAAAAAAJY} +{\bkmkend AAAAAAAAJY} +Inheritance diagram for penify_hook.git_analyzer.GitDocGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for penify_hook.git_analyzer.GitDocGenHook:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b repo_path}, {\b APIClient} {\b api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b get_modified_files_in_last_commit} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b get_modified_lines} (self, diff_text)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b process_file} (self, file_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b run} (self)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Additional Inherited Members\par +\pard\plain +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.git_analyzer.GitDocGenHook} +{\xe \v penify_hook.git_analyzer.GitDocGenHook\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.git_analyzer.GitDocGenHook.__init__ ( {\i self}, str {\i repo_path}, {\b APIClient} {\i api_client})}} +\par +{\bkmkstart AAAAAAAAHJ} +{\bkmkend AAAAAAAAHJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +\par +{ +Reimplemented from {\b penify_hook.base_analyzer.BaseAnalyzer} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHG \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par +Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a92275fddb43dbef6dfdb6c1ed6e96d0c_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v get_modified_files_in_last_commit\:penify_hook.git_analyzer.GitDocGenHook} +{\xe \v penify_hook.git_analyzer.GitDocGenHook\:get_modified_files_in_last_commit} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.git_analyzer.GitDocGenHook.get_modified_files_in_last_commit ( {\i self})}} +\par +{\bkmkstart AAAAAAAAJZ} +{\bkmkend AAAAAAAAJZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Get the list of files modified in the last commit.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a17549766100e91eb94b5f1a1d34bf481_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_modified_lines\:penify_hook.git_analyzer.GitDocGenHook} +{\xe \v penify_hook.git_analyzer.GitDocGenHook\:get_modified_lines} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.git_analyzer.GitDocGenHook.get_modified_lines ( {\i self}, {\i diff_text})}} +\par +{\bkmkstart AAAAAAAAKA} +{\bkmkend AAAAAAAAKA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Extract modified line numbers from a diff text.\par +\par +This function processes a diff text to identify and extract the line numbers\par +that have been modified. It distinguishes between added and deleted lines and\par +keeps track of the current line number as it parses through the diff. The\par +function handles hunk headers and ensures that any deletions at the end of the\par +file are also captured.\par +\par +Args:\par + diff_text (str): A string containing the diff text to be processed.\par +} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a974d2f51315ed6a1965a7fd7e2ced0cd_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v process_file\:penify_hook.git_analyzer.GitDocGenHook} +{\xe \v penify_hook.git_analyzer.GitDocGenHook\:process_file} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.git_analyzer.GitDocGenHook.process_file ( {\i self}, {\i file_path})}} +\par +{\bkmkstart AAAAAAAAKB} +{\bkmkend AAAAAAAAKB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Processes a file by checking its type, reading its content, and sending it to\par +an API.\par +\par +This method constructs the absolute path of the specified file and verifies if\par +the file has a valid extension. If the file type is supported, it reads the\par +content of the file and retrieves the differences from the last commit in the\par +repository. If changes are detected, it sends the file content along with the\par +modified lines to an API for further processing. If the API response indicates\par +no changes, the original file will not be overwritten.\par +\par +Args:\par + file_path (str): The relative path to the file to be processed.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a05313caa22b173ce75638f0db08eeb85_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v run\:penify_hook.git_analyzer.GitDocGenHook} +{\xe \v penify_hook.git_analyzer.GitDocGenHook\:run} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.git_analyzer.GitDocGenHook.run ( {\i self})}} +\par +{\bkmkstart AAAAAAAAKC} +{\bkmkend AAAAAAAAKC} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Run the post-commit hook.\par +\par +This method retrieves the list of modified files from the last commit and\par +processes each file. It stages any files that have been modified during\par +processing and creates an auto-commit if changes were made. A progress bar is\par +displayed to indicate the processing status of each file. The method handles\par +any exceptions that occur during file processing, printing an error message for\par +each file that fails to process. If any modifications are made to the files, an\par +auto-commit is created to save those changes.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1git__analyzer_1_1GitDocGenHook_a3beba14e92d717391a74bb70b1fab0ae_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b git_analyzer.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.utils.GitRepoNotFoundError Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.utils.GitRepoNotFoundError} +{\xe \v penify_hook.utils.GitRepoNotFoundError} +{\bkmkstart AAAAAAAAMN} +{\bkmkend AAAAAAAAMN} +Inheritance diagram for penify_hook.utils.GitRepoNotFoundError:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1utils_1_1GitRepoNotFoundError__inherit__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +Collaboration diagram for penify_hook.utils.GitRepoNotFoundError:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1utils_1_1GitRepoNotFoundError__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b utils.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.jira_client.JiraClient Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient} +{\bkmkstart AAAAAAAAKF} +{\bkmkend AAAAAAAAKF} +Collaboration diagram for penify_hook.jira_client.JiraClient:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b jira_url}=None, str {\b jira_user}=None, str {\b jira_api_token}=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b is_connected} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +List[str] {\b extract_issue_keys_from_branch} (self, str branch_name)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +List[str] {\b extract_issue_keys} (self, str text)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Optional[Dict[str, Any]] {\b get_issue_details} (self, str issue_key)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b add_comment} (self, str issue_key, str comment)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b update_issue_status} (self, str issue_key, str transition_name)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +tuple {\b format_commit_message_with_jira_info} (self, str commit_title, str commit_description, List[str] issue_keys=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict[str, Any] {\b get_detailed_issue_context} (self, str issue_key)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict[str, Any] {\b get_commit_context_from_issues} (self, List[str] issue_keys)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +tuple {\b enhance_commit_message} (self, str title, str description, List[str] issue_keys)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b jira_url}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b jira_user}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b jira_api_token}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b jira_client}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Detailed Description\par +\pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Client for interacting with JIRA API\par +} + \par +}} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.jira_client.JiraClient.__init__ ( {\i self}, str {\i jira_url} = {\f2 None}, str {\i jira_user} = {\f2 None}, str {\i jira_api_token} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAKG} +{\bkmkend AAAAAAAAKG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Initialize the JIRA client.\par +\par +Args:\par + jira_url: Base URL for JIRA instance (e.g., "https://your-domain.atlassian.net")\par + jira_user: JIRA username or email\par + jira_api_token: JIRA API token\par +} + \par +}} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v add_comment\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:add_comment} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + bool penify_hook.jira_client.JiraClient.add_comment ( {\i self}, str {\i issue_key}, str {\i comment})}} +\par +{\bkmkstart AAAAAAAAKH} +{\bkmkend AAAAAAAAKH} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Adds a comment to a JIRA issue.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_aa1f374116c64cd5f1492ec7f7e40f9c1_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v enhance_commit_message\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:enhance_commit_message} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + tuple penify_hook.jira_client.JiraClient.enhance_commit_message ( {\i self}, str {\i title}, str {\i description}, List[str] {\i issue_keys})}} +\par +{\bkmkstart AAAAAAAAKI} +{\bkmkend AAAAAAAAKI} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Enhance a commit message with business and technical context from JIRA issues.\par +\par +This function first checks if the list of issue keys is empty or if there is no\par +connection. If so, it returns the original title and description without\par +modification. It then retrieves context information from the specified JIRA\par +issues. If the primary issue is missing, it formats the commit message with\par +basic JIRA info. The function enhances the commit title by prefixing it with\par +the primary issue key if not already included. It appends a business context\par +section to the description, including details like issue type, status,\par +priority, sprint, acceptance criteria, and a condensed issue description. If\par +comments are available, they are added as technical notes. Finally, related\par +issues are listed.\par +\par +Args:\par + title (str): Original commit title.\par + description (str): Original commit description.\par + issue_keys (List[str]): List of JIRA issue keys to include in the enhanced commit message.\par +\par +Returns:\par + tuple: A tuple containing the enhanced commit title and description with added\par + context from JIRA issues.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a70d2c5a6432aa6f238da0ff65d49a760_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v extract_issue_keys\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:extract_issue_keys} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + List[str] penify_hook.jira_client.JiraClient.extract_issue_keys ( {\i self}, str {\i text})}} +\par +{\bkmkstart AAAAAAAAKJ} +{\bkmkend AAAAAAAAKJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Extract unique JIRA issue keys from the given text.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_ad2823ad1d3baaedd38039913c3a97fd7_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v extract_issue_keys_from_branch\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:extract_issue_keys_from_branch} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + List[str] penify_hook.jira_client.JiraClient.extract_issue_keys_from_branch ( {\i self}, str {\i branch_name})}} +\par +{\bkmkstart AAAAAAAAKK} +{\bkmkend AAAAAAAAKK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Extracts unique JIRA issue keys from a branch name.} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a093d6456fe053ef7a7862d5d6851910c_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v format_commit_message_with_jira_info\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:format_commit_message_with_jira_info} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + tuple penify_hook.jira_client.JiraClient.format_commit_message_with_jira_info ( {\i self}, str {\i commit_title}, str {\i commit_description}, List[str] {\i issue_keys} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAKL} +{\bkmkend AAAAAAAAKL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Format commit message with JIRA issue information.\par +\par +This function updates the provided commit title and description by\par +incorporating JIRA issue keys. If no issue keys are supplied, it extracts them\par +from the commit title and description. It then formats the commit title to\par +include the first issue key if not already present and appends detailed\par +information about each issue to the commit description.\par +\par +Args:\par + commit_title (str): The original commit title.\par + commit_description (str): The original commit description.\par + issue_keys (List[str]?): A list of JIRA issue keys to include in the commit message. If not\par + provided, issue keys will be extracted from both the title and the description.\par +\par +Returns:\par + tuple: A tuple containing the updated commit title and description with JIRA\par + information included.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a49ea1149758f7f5212149d357b13cc23_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_commit_context_from_issues\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:get_commit_context_from_issues} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Dict[str, Any] penify_hook.jira_client.JiraClient.get_commit_context_from_issues ( {\i self}, List[str] {\i issue_keys})}} +\par +{\bkmkstart AAAAAAAAKM} +{\bkmkend AAAAAAAAKM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Gather contextual information from JIRA issues to improve commit messages.\par +\par +This function processes a list of JIRA issue keys, retrieves detailed context\par +for each issue, and aggregates it into a dictionary that can be used to enhance\par +commit messages. It first retrieves the primary issue (the first key in the\par +list) and then gathers basic details for any related issues. The resulting\par +context includes information from both the primary and related issues, along\par +with all issue keys.\par +\par +Args:\par + issue_keys: List of JIRA issue keys to gather information from\par +\par +Returns:\par + Dict containing business and technical context from the issues\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_afb41ce6f13c30b1265d439ddf04bf2cd_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_detailed_issue_context\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:get_detailed_issue_context} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Dict[str, Any] penify_hook.jira_client.JiraClient.get_detailed_issue_context ( {\i self}, str {\i issue_key})}} +\par +{\bkmkstart AAAAAAAAKN} +{\bkmkend AAAAAAAAKN} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Retrieve comprehensive details about a JIRA issue including context for better\par +commit messages.\par +\par +This function fetches detailed information from a specified JIRA issue and\par +constructs a dictionary containing various context fields such as the issue\par +summary, description, type, status, priority, comments, URL, and additional\par +custom fields like acceptance criteria and sprint information. It handles\par +errors by logging appropriate warnings or errors.\par +\par +Args:\par + issue_key (str): The JIRA issue key (e.g., "PROJECT-123").\par +\par +Returns:\par + Dict[str, Any]: A dictionary containing business and technical context from the issue.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_aa967169a4b7970c67c0947b9ac56f746_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v get_issue_details\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:get_issue_details} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Optional[Dict[str, Any]] penify_hook.jira_client.JiraClient.get_issue_details ( {\i self}, str {\i issue_key})}} +\par +{\bkmkstart AAAAAAAAKO} +{\bkmkend AAAAAAAAKO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Retrieve details of a JIRA issue based on its key.\par +\par +This function fetches detailed information about a specified JIRA issue using\par +the provided issue key. It first checks if the JIRA client is connected; if\par +not, it logs a warning and returns `None`. If connected, it attempts to\par +retrieve the issue from the JIRA server. On success, it constructs and returns\par +a dictionary containing various details such as the issue's key, summary,\par +status, description, assignee, reporter, type, priority, and URL. Errors during\par +this process are logged, and `None` is returned.\par +\par +Args:\par + issue_key (str): The JIRA issue key (e.g., "PROJECT-123").\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a65f6924819084b7c8d268956a784804a_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v is_connected\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:is_connected} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + bool penify_hook.jira_client.JiraClient.is_connected ( {\i self})}} +\par +{\bkmkstart AAAAAAAAKP} +{\bkmkend AAAAAAAAKP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Check if the JIRA client is connected.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_a00d0f9ae006313a21576362d26ac5ec8_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v update_issue_status\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:update_issue_status} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + bool penify_hook.jira_client.JiraClient.update_issue_status ( {\i self}, str {\i issue_key}, str {\i transition_name})}} +\par +{\bkmkstart AAAAAAAAKQ} +{\bkmkend AAAAAAAAKQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Update the status of a JIRA issue.\par +\par +This method checks if the JIRA client is connected, retrieves available\par +transitions for the given issue, finds the transition ID by name, and updates\par +the issue's status accordingly. If any step fails or the specified transition\par +is not found, appropriate logs are generated, and False is returned.\par +\par +Args:\par + issue_key (str): The key of the JIRA issue to be updated.\par + transition_name (str): The name of the desired transition.\par +\par +Returns:\par + bool: True if the status was successfully updated, False otherwise.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1jira__client_1_1JiraClient_aca8837552d37bfd611de23441a240826_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v jira_api_token\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:jira_api_token} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.jira_client.JiraClient.jira_api_token}} +\par +{\bkmkstart AAAAAAAAKR} +{\bkmkend AAAAAAAAKR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v jira_client\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:jira_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.jira_client.JiraClient.jira_client}} +\par +{\bkmkstart AAAAAAAAKS} +{\bkmkend AAAAAAAAKS} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v jira_url\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:jira_url} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.jira_client.JiraClient.jira_url}} +\par +{\bkmkstart AAAAAAAAKT} +{\bkmkend AAAAAAAAKT} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v jira_user\:penify_hook.jira_client.JiraClient} +{\xe \v penify_hook.jira_client.JiraClient\:jira_user} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.jira_client.JiraClient.jira_user}} +\par +{\bkmkstart AAAAAAAAKU} +{\bkmkend AAAAAAAAKU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b jira_client.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +penify_hook.llm_client.LLMClient Class Reference\par \pard\plain +{\tc\tcl2 \v penify_hook.llm_client.LLMClient} +{\xe \v penify_hook.llm_client.LLMClient} +{\bkmkstart AAAAAAAAKW} +{\bkmkend AAAAAAAAKW} +Collaboration diagram for penify_hook.llm_client.LLMClient:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1llm__client_1_1LLMClient__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b __init__} (self, str {\b model}=None, str api_base=None, str api_key=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b litellm} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict {\b generate_commit_summary} (self, str diff, str message, bool generate_description, Dict repo_details, Dict jira_context=None)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b model}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Private Attributes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b _litellm}\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Detailed Description\par +\pard\plain +{ +\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Client for interacting with LLM models using LiteLLM.\par +} + \par +}} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Constructor & Destructor Documentation\par +\pard\plain +{\xe \v __init__\:penify_hook.llm_client.LLMClient} +{\xe \v penify_hook.llm_client.LLMClient\:__init__} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.llm_client.LLMClient.__init__ ( {\i self}, str {\i model} = {\f2 None}, str {\i api_base} = {\f2 None}, str {\i api_key} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAKX} +{\bkmkend AAAAAAAAKX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Initialize the LLM client.\par +\par +Args:\par + model: LLM model to use (e.g., "gpt-4", "ollama/llama2", etc.)\par + api_base: Base URL for API requests (e.g., "http://localhost:11434" for Ollama)\par + api_key: API key for the LLM service\par +} + \par +}} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v generate_commit_summary\:penify_hook.llm_client.LLMClient} +{\xe \v penify_hook.llm_client.LLMClient\:generate_commit_summary} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b + Dict penify_hook.llm_client.LLMClient.generate_commit_summary ( {\i self}, str {\i diff}, str {\i message}, bool {\i generate_description}, Dict {\i repo_details}, Dict {\i jira_context} = {\f2 None})}} +\par +{\bkmkstart AAAAAAAAKY} +{\bkmkend AAAAAAAAKY} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Generate a concise and descriptive commit summary based on Git diff, user\par +instructions, repository details, and optional JIRA context.\par +\par +This function constructs a prompt for an LLM to produce a commit title and, if\par +requested, a detailed description. The summary adheres to Semantic Commit\par +Messages guidelines. If JIRA context is provided, it enriches the prompt with\par +relevant issue information.\par +\par +Args:\par + diff (str): Git diff of changes.\par + message (str): User-provided commit message or instructions.\par + generate_description (bool): Flag indicating whether to include a detailed description in the summary.\par + repo_details (Dict): Details about the repository.\par + jira_context (Dict?): Optional JIRA issue context to enhance the summary.\par +\par +Returns:\par + Dict: A dictionary containing the title and description for the commit. If\par + `generate_description` is False, the 'description' key may be absent.\par +\par +Raises:\par + ValueError: If the LLM model is not configured.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1llm__client_1_1LLMClient_a2ad3014dac466ee1d8e00306d0cf2000_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v litellm\:penify_hook.llm_client.LLMClient} +{\xe \v penify_hook.llm_client.LLMClient\:litellm} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def penify_hook.llm_client.LLMClient.litellm ( {\i self})}} +\par +{\bkmkstart AAAAAAAAKZ} +{\bkmkend AAAAAAAAKZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Returns the litellm module, loading it if necessary.} + \par +}Here is the caller graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classpenify__hook_1_1llm__client_1_1LLMClient_ad6f06658ca922793f879474f2234518e_icgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Data Documentation\par +\pard\plain +{\xe \v _litellm\:penify_hook.llm_client.LLMClient} +{\xe \v penify_hook.llm_client.LLMClient\:_litellm} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.llm_client.LLMClient._litellm{\f2 [private]}}} +\par +{\bkmkstart AAAAAAAALA} +{\bkmkend AAAAAAAALA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\xe \v model\:penify_hook.llm_client.LLMClient} +{\xe \v penify_hook.llm_client.LLMClient\:model} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +penify_hook.llm_client.LLMClient.model}} +\par +{\bkmkstart AAAAAAAALB} +{\bkmkend AAAAAAAALB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/{\b llm_client.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_commit_commands.TestCommitCommands Class Reference\par \pard\plain +{\tc\tcl2 \v tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands} +{\bkmkstart AAAAAAAANF} +{\bkmkend AAAAAAAANF} +Collaboration diagram for tests.test_commit_commands.TestCommitCommands:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b mock_api_client} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b mock_llm_client} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b mock_jira_client} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b mock_commit_doc_gen} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b mock_git_folder_search} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b mock_print_functions} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_commit_code_with_llm_client} (self, mock_error, mock_warning, mock_info, {\b mock_git_folder_search}, mock_doc_gen, {\b mock_llm_client}, {\b mock_api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_commit_code_with_jira_client} (self, mock_error, mock_warning, mock_info, {\b mock_git_folder_search}, mock_doc_gen, {\b mock_jira_client}, {\b mock_llm_client}, {\b mock_api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_commit_code_with_jira_connection_failure} (self, mock_error, mock_warning, mock_info, {\b mock_git_folder_search}, mock_doc_gen, {\b mock_jira_client}, {\b mock_api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_commit_code_error_handling} (self, mock_print, mock_exit, {\b mock_git_folder_search}, mock_doc_gen, {\b mock_api_client})\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_setup_commit_parser} (self)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_handle_commit} (self, mock_print_info, mock_commit_code, mock_get_token, mock_get_llm_config, mock_get_jira_config)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v mock_api_client\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:mock_api_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.mock_api_client ( {\i self})}} +\par +{\bkmkstart AAAAAAAANG} +{\bkmkend AAAAAAAANG} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Mocks an instance of APIClient using unittest.mock.\par +\par +This function creates a mock object for APIClient and yields it along\par +with the mocked instance. It is useful for testing purposes where real\par +API calls should be avoided.\par +\par +Yields:\par + tuple: A tuple containing the mock of APIClient and the mocked instance of\par + APIClient.\par +} + \par +}} +{\xe \v mock_commit_doc_gen\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:mock_commit_doc_gen} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.mock_commit_doc_gen ( {\i self})}} +\par +{\bkmkstart AAAAAAAANH} +{\bkmkend AAAAAAAANH} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Mocks the CommitDocGenHook class and returns a MagicMock instance.\par +\par +This function uses the `patch` decorator from the `unittest.mock` module\par +to create a mock of the `CommitDocGenHook` class. It then sets up this\par +mock to return a new `MagicMock` instance when invoked. The function\par +yields both the mock object and the mocked instance, allowing for easy\par +testing of functions that rely on `CommitDocGenHook`.\par +\par +Returns:\par + tuple: A tuple containing two elements:\par + - mock (patch): The patch object used to mock the `CommitDocGenHook`\par + class.\par + - doc_gen_instance (MagicMock): The mocked instance of\par + `CommitDocGenHook`.\par +} + \par +}} +{\xe \v mock_git_folder_search\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:mock_git_folder_search} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.mock_git_folder_search ( {\i self})}} +\par +{\bkmkstart AAAAAAAANI} +{\bkmkend AAAAAAAANI} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Mock the `recursive_search_git_folder` function to return a predefined\par +git folder path.\par +\par +This function uses the `patch` decorator from the `unittest.mock` module\par +to intercept calls to `penify_hook.utils.recursive_search_git_folder`.\par +When called, it will return '/mock/git/folder' instead of performing an\par +actual search. This is useful for testing purposes where you need a\par +consistent response without interacting with the file system.\par +\par +Yields:\par + MagicMock: A mock object that simulates the `recursive_search_git_folder` function.\par +} + \par +}} +{\xe \v mock_jira_client\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:mock_jira_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.mock_jira_client ( {\i self})}} +\par +{\bkmkstart AAAAAAAANJ} +{\bkmkend AAAAAAAANJ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Create a mock JIRA client for testing purposes.\par +\par +This function yields a tuple containing a mock JIRA client instance and\par +its `is_connected` method. The mock client is configured to simulate an\par +active connection. This is useful for unit tests that require\par +interaction with a JIRA client without making actual network calls.\par +\par +Yields:\par + tuple: A tuple containing the mocked JIRA client instance and its\par + `is_connected` method.\par +} + \par +}} +{\xe \v mock_llm_client\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:mock_llm_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.mock_llm_client ( {\i self})}} +\par +{\bkmkstart AAAAAAAANK} +{\bkmkend AAAAAAAANK} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Mock an instance of LLMClient for testing purposes.\par +\par +This function yields a mock object representing an instance of\par +LLMClient, which can be used to simulate interactions with a language\par +model during testing. The mock is patched to replace the actual\par +LLMClient class from the penify_hook module.\par +\par +Yields:\par + tuple: A tuple containing two elements:\par + - mock (MagicMock): The mock object for LLMClient.\par + - llm_client_instance (MagicMock): An instance of the mocked LLMClient.\par +} + \par +}} +{\xe \v mock_print_functions\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:mock_print_functions} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.mock_print_functions ( {\i self})}} +\par +{\bkmkstart AAAAAAAANL} +{\bkmkend AAAAAAAANL} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Mocks the print functions from `penify_hook.ui_utils` for testing\par +purposes.\par +\par +This function uses Python's `unittest.mock.patch` to replace the actual\par +print functions (`print`, `print_warning`, and `print_error`) with mock\par +objects. These mock objects can be used in tests to capture calls made\par +to these print functions without actually printing anything.\par +\par +Yields:\par + tuple: A tuple containing three mock objects corresponding to `print_info`,\par + `print_warning`,\par + and `print_error`.\par +} + \par +}} +{\xe \v test_commit_code_error_handling\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:test_commit_code_error_handling} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.test_commit_code_error_handling ( {\i self}, {\i mock_print}, {\i mock_exit}, {\i mock_git_folder_search}, {\i mock_doc_gen}, {\i mock_api_client})}} +\par +{\bkmkstart AAAAAAAANM} +{\bkmkend AAAAAAAANM} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the error handling in the test_commit_code function.\par +\par +This function sets up mocks to simulate exceptions and test the error\par +handling of the commit_code function. It verifies that the function\par +correctly prints an error message and exits with a status code of 1 when\par +an exception occurs during documentation generation.\par +\par +Args:\par + mock_print (MagicMock): Mock for the print function, used to verify error message output.\par + mock_exit (MagicMock): Mock for the sys.exit function, used to verify exit behavior.\par + mock_git_folder_search (MagicMock): Mock for the git_folder_search function, returning a mock Git folder\par + path.\par + mock_doc_gen (MagicMock): Mock for the doc_gen function, simulating an exception during\par + documentation generation.\par + mock_api_client (MagicMock): Mock for the API client class, not directly used but referenced in the\par + function signature.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands_a43c2ff3707124aa48e8eb581106b8691_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_commit_code_with_jira_client\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:test_commit_code_with_jira_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.test_commit_code_with_jira_client ( {\i self}, {\i mock_error}, {\i mock_warning}, {\i mock_info}, {\i mock_git_folder_search}, {\i mock_doc_gen}, {\i mock_jira_client}, {\i mock_llm_client}, {\i mock_api_client})}} +\par +{\bkmkstart AAAAAAAANN} +{\bkmkend AAAAAAAANN} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test committing code using a JIRA client.\par +\par +This function tests the commit_code function with various parameters,\par +including API and JIRA credentials. It sets up mock objects for\par +dependencies such as the JIRA client, LLM client, and doc generator to\par +simulate the behavior of the real classes. The function then calls\par +commit_code and verifies that the JIRA client and doc generator are\par +called with the correct parameters.\par +\par +Args:\par + mock_error (MagicMock): A MagicMock object for simulating error logging.\par + mock_warning (MagicMock): A MagicMock object for simulating warning logging.\par + mock_info (MagicMock): A MagicMock object for simulating info logging.\par + mock_git_folder_search (MagicMock): A MagicMock object for simulating the git folder search function.\par + mock_doc_gen (MagicMock): A MagicMock object for simulating the doc generator function.\par + mock_jira_client (MagicMock): A MagicMock object for simulating the JIRA client class.\par + mock_llm_client (MagicMock): A MagicMock object for simulating the LLM client class.\par + mock_api_client (MagicMock): A MagicMock object for simulating the API client class.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands_af9c09013055ec39ddde86b487aefcf8b_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_commit_code_with_jira_connection_failure\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:test_commit_code_with_jira_connection_failure} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.test_commit_code_with_jira_connection_failure ( {\i self}, {\i mock_error}, {\i mock_warning}, {\i mock_info}, {\i mock_git_folder_search}, {\i mock_doc_gen}, {\i mock_jira_client}, {\i mock_api_client})}} +\par +{\bkmkstart AAAAAAAANO} +{\bkmkend AAAAAAAANO} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the commit_code function when JIRA connection fails.\par +\par +This function tests the scenario where the JIRA connection fails during\par +a code commit. It sets up various mocks to simulate different components\par +of the system and then calls the `commit_code` function with specific\par +parameters. The function is expected to handle the JIRA connection\par +failure gracefully by logging an appropriate warning.\par +\par +Args:\par + mock_error (MagicMock): Mock for error logging.\par + mock_warning (MagicMock): Mock for warning logging.\par + mock_info (MagicMock): Mock for info logging.\par + mock_git_folder_search (MagicMock): Mock for searching the Git folder.\par + mock_doc_gen (MagicMock): Mock for generating documentation.\par + mock_jira_client (MagicMock): Mock for creating a JIRA client.\par + mock_api_client (MagicMock): Mock for creating an API client.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands_acea0d934ee0f2b914b0b893736e8fe4e_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_commit_code_with_llm_client\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:test_commit_code_with_llm_client} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.test_commit_code_with_llm_client ( {\i self}, {\i mock_error}, {\i mock_warning}, {\i mock_info}, {\i mock_git_folder_search}, {\i mock_doc_gen}, {\i mock_llm_client}, {\i mock_api_client})}} +\par +{\bkmkstart AAAAAAAANP} +{\bkmkend AAAAAAAANP} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test committing code using an LLM client.\par +\par +This function sets up mock objects for various components and then calls\par +the `commit_code` function with specified parameters. It verifies that\par +the correct mocks are created and called with the appropriate arguments.\par +\par +Args:\par + mock_error (MagicMock): Mock object for error handling.\par + mock_warning (MagicMock): Mock object for warning logging.\par + mock_info (MagicMock): Mock object for info logging.\par + mock_git_folder_search (MagicMock): Mock object to simulate git folder search.\par + mock_doc_gen (MagicMock): Mock object for document generation.\par + mock_llm_client (MagicMock): Mock object for LLM client interaction.\par + mock_api_client (MagicMock): Mock object for API client interaction.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands_acc4b1e4189792a3f7c11d2a745f479c0_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_handle_commit\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:test_handle_commit} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.test_handle_commit ( {\i self}, {\i mock_print_info}, {\i mock_commit_code}, {\i mock_get_token}, {\i mock_get_llm_config}, {\i mock_get_jira_config})}} +\par +{\bkmkstart AAAAAAAANQ} +{\bkmkend AAAAAAAANQ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the handle_commit function with various mock objects.\par +\par +This function sets up mocks for retrieving LLM configuration, JIRA\par +configuration, and commit code. It then creates an argument object and\par +calls the handle_commit function. Finally, it verifies that the mock\par +functions were called with the expected arguments.\par +\par +Args:\par + mock_print_info (MagicMock): Mock object for printing information.\par + mock_commit_code (MagicMock): Mock object for committing code.\par + mock_get_token (MagicMock): Mock object for retrieving API token.\par + mock_get_llm_config (MagicMock): Mock object for retrieving LLM configuration.\par + mock_get_jira_config (MagicMock): Mock object for retrieving JIRA configuration.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands_ac13e368262340af98b30fd8ebdac6597_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_setup_commit_parser\:tests.test_commit_commands.TestCommitCommands} +{\xe \v tests.test_commit_commands.TestCommitCommands\:test_setup_commit_parser} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_commit_commands.TestCommitCommands.test_setup_commit_parser ( {\i self})}} +\par +{\bkmkstart AAAAAAAANR} +{\bkmkend AAAAAAAANR} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Set up the argument parser for the commit command.\par +\par +This function configures an argument parser to handle various options\par +for committing changes. It adds three arguments: - '-m' or '--message':\par +An optional argument to specify a contextual commit message with a\par +default value of "N/A". - '-e' or '--terminal': A boolean flag to open\par +an edit terminal before committing. - '-d' or '--description': A boolean\par +flag that, when set to False, indicates the generation of a commit\par +message with title and description.\par +\par +Args:\par + parser (MagicMock): The argument parser to be configured.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__commit__commands_1_1TestCommitCommands_a4d04b125e102190a768f65f1948f15bc_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_commit_commands.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_config_commands.TestConfigCommands Class Reference\par \pard\plain +{\tc\tcl2 \v tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands} +{\bkmkstart AAAAAAAANT} +{\bkmkend AAAAAAAANT} +Collaboration diagram for tests.test_config_commands.TestConfigCommands:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_penify_config_existing_dir} (self, mock_file_open, mock_makedirs, mock_path, mock_git_folder)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_penify_config_new_dir} (self, mock_file_open, mock_makedirs, mock_path, mock_git_folder)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_llm_config_exists} (self, mock_file_open, mock_get_config)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_llm_config_empty} (self, mock_file_open, mock_get_config)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_llm_config_invalid_json} (self, mock_print, mock_file_open, mock_get_config)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_jira_config_exists} (self, mock_file_open, mock_get_config)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_save_llm_config_success} (self, mock_print, mock_json_dump, mock_file_open, mock_get_config)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_save_llm_config_failure} (self, mock_print, mock_file_open, mock_get_config)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_save_jira_config_success} (self, mock_print, mock_json_dump, mock_file_open, mock_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_token_from_env} (self, mock_file_open, mock_path, mock_getenv)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_token_from_config} (self, mock_file_open, mock_path, mock_getenv)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_get_token_not_found} (self, mock_file_open, mock_path, mock_getenv)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v test_get_jira_config_exists\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_jira_config_exists} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_jira_config_exists ( {\i self}, {\i mock_file_open}, {\i mock_get_config})}} +\par +{\bkmkstart AAAAAAAANU} +{\bkmkend AAAAAAAANU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test that get_jira_config returns the correct JIRA configuration when\par +the configuration file exists.\par +\par +It sets up a mock for the configuration file to simulate its existence\par +and verifies that the function reads from the correct file and returns\par +the expected JIRA configuration dictionary. Additionally, it checks that\par +the mock file open is called with the appropriate arguments.\par +\par +Args:\par + mock_file_open (MagicMock): A mock for the `open` function.\par + mock_get_config (MagicMock): A mock for the `get_config` function, which is expected to return a mock\par + configuration file object.\par +\par +Returns:\par + None: This test function does not explicitly return anything. Its assertions\par + serve as the verification of its correctness.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_aee37b97432821d19758c6325d4c74bcf_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_llm_config_empty\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_llm_config_empty} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_llm_config_empty ( {\i self}, {\i mock_file_open}, {\i mock_get_config})}} +\par +{\bkmkstart AAAAAAAANV} +{\bkmkend AAAAAAAANV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the behavior of get_llm_config when called with an empty\par +configuration file.\par +\par +This function sets up a mock configuration file that exists but returns\par +no content. It then calls the `get_llm_config` function and asserts that\par +it returns an empty dictionary and that the file open method was called\par +exactly once with the correct arguments.\par +\par +Args:\par + mock_file_open (MagicMock): A MagicMock object simulating the built-in open function.\par + mock_get_config (MagicMock): A MagicMock object simulating the get_config function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_abd12f028b89aa9cd1152c0b9ece5d3cd_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_llm_config_exists\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_llm_config_exists} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_llm_config_exists ( {\i self}, {\i mock_file_open}, {\i mock_get_config})}} +\par +{\bkmkstart AAAAAAAANW} +{\bkmkend AAAAAAAANW} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the get_llm_config function when the configuration file exists.\par +\par +This function sets up a mock configuration file that exists and returns\par +it when called. It then calls the get_llm_config function and asserts\par +that it returns the correct configuration dictionary. Additionally, it\par +checks that the mock_file_open function was called with the correct\par +arguments.\par +\par +Args:\par + mock_file_open (MagicMock): A mock for the open() function.\par + mock_get_config (MagicMock): A mock for the get_config() function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_adf9f2233a3f4cc5725b9d4f05758b167_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_llm_config_invalid_json\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_llm_config_invalid_json} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_llm_config_invalid_json ( {\i self}, {\i mock_print}, {\i mock_file_open}, {\i mock_get_config})}} +\par +{\bkmkstart AAAAAAAANX} +{\bkmkend AAAAAAAANX} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test function to verify the behavior of get_llm_config when reading an\par +invalid JSON file.\par +\par +It sets up a mock configuration file that exists but contains invalid\par +JSON. The function is expected to handle this gracefully by printing an\par +error message and returning an empty dictionary.\par +\par +Args:\par + mock_print (MagicMock): Mock for the print function.\par + mock_file_open (MagicMock): Mock for the open function.\par + mock_get_config (MagicMock): Mock for the get_config function, which returns the mock configuration\par + file.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a473984d31452b56acd6ce4011a1248bd_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_penify_config_existing_dir\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_penify_config_existing_dir} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_penify_config_existing_dir ( {\i self}, {\i mock_file_open}, {\i mock_makedirs}, {\i mock_path}, {\i mock_git_folder})}} +\par +{\bkmkstart AAAAAAAANY} +{\bkmkend AAAAAAAANY} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the get_penify_config function when the .penify config directory\par +exists.\par +\par +It should not create a new directory and assert that all mocked\par +functions were called correctly.\par +\par +Args:\par + mock_file_open (MagicMock): A MagicMock object simulating the open() function.\par + mock_makedirs (MagicMock): A MagicMock object simulating the os.makedirs() function.\par + mock_path (MagicMock): A MagicMock object simulating the Path class from pathlib module.\par + mock_git_folder (MagicMock): A MagicMock object simulating the git_folder_search() function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a2e8162082bcdd5652bb37bdb14cf453a_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_penify_config_new_dir\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_penify_config_new_dir} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_penify_config_new_dir ( {\i self}, {\i mock_file_open}, {\i mock_makedirs}, {\i mock_path}, {\i mock_git_folder})}} +\par +{\bkmkstart AAAAAAAANZ} +{\bkmkend AAAAAAAANZ} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the behavior of get_penify_config when the .penify directory does\par +not exist.\par +\par +This function mocks various system calls to simulate a scenario where\par +the .penify directory is not present. It then asserts that the\par +appropriate actions are taken to create the directory and write an empty\par +JSON file.\par +\par +Args:\par + mock_file_open (MagicMock): A MagicMock object simulating the `open` function.\par + mock_makedirs (MagicMock): A MagicMock object simulating the `os.makedirs` function.\par + mock_path (MagicMock): A MagicMock object simulating the `Path` class from `pathlib`.\par + mock_git_folder (MagicMock): A MagicMock object simulating a git folder search function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a33d4760eee3b67e1cde3aed755ebb948_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_token_from_config\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_token_from_config} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_token_from_config ( {\i self}, {\i mock_file_open}, {\i mock_path}, {\i mock_getenv})}} +\par +{\bkmkstart AAAAAAAAOA} +{\bkmkend AAAAAAAAOA} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test retrieving a token from the configuration.\par +\par +This function sets up mocks for environment variables and configuration\par +files, calls the `get_token` function, and asserts its behavior. It\par +verifies that when the environment variable is not found, the function\par +reads a token from a configuration file located in the user's home\par +directory.\par +\par +Args:\par + mock_file_open (MagicMock): A mock for the `open` function.\par + mock_path (MagicMock): A mock for the `pathlib.Path` class.\par + mock_getenv (MagicMock): A mock for the `os.getenv` function.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a6c0207be563c3de59a6d16277805114c_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_token_from_env\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_token_from_env} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_token_from_env ( {\i self}, {\i mock_file_open}, {\i mock_path}, {\i mock_getenv})}} +\par +{\bkmkstart AAAAAAAAOB} +{\bkmkend AAAAAAAAOB} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test retrieving a token from the environment variable.\par +\par +This function tests the behavior of `get_token` when an environment\par +variable is set. It verifies that if the 'PENIFY_API_TOKEN' environment\par +variable exists, the function returns its value without attempting to\par +read a file.\par +\par +Args:\par + mock_file_open (MagicMock): A MagicMock object for simulating file operations.\par + mock_path (MagicMock): A MagicMock object for simulating path operations.\par + mock_getenv (MagicMock): A MagicMock object for simulating environment variable retrieval.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a3355f7d313bebaa71694387cf2bc5232_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_get_token_not_found\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_get_token_not_found} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_get_token_not_found ( {\i self}, {\i mock_file_open}, {\i mock_path}, {\i mock_getenv})}} +\par +{\bkmkstart AAAAAAAAOC} +{\bkmkend AAAAAAAAOC} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the get_token function when the API token environment variable is\par +not found.\par +\par +This function tests the scenario where the `PENIFY_API_TOKEN`\par +environment variable is not set. It mocks the environment variable to\par +return `None`, and verifies that the function returns `None`. The test\par +also checks that the environment variable is accessed once and that a\par +file open operation is attempted on a configuration file located in the\par +user's home directory.\par +\par +Args:\par + mock_file_open (MagicMock): Mock for the built-in `open` function.\par + mock_path (MagicMock): Mock for the `pathlib.Path` module.\par + mock_getenv (MagicMock): Mock for the `os.getenv` function.\par +\par +Returns:\par + None: The function does not return anything; it asserts conditions to verify\par + correctness.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a400ca5d9fcdc159714e8df54920f9436_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_save_jira_config_success\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_save_jira_config_success} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_save_jira_config_success ( {\i self}, {\i mock_print}, {\i mock_json_dump}, {\i mock_file_open}, {\i mock_path})}} +\par +{\bkmkstart AAAAAAAAOD} +{\bkmkend AAAAAAAAOD} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the save_jira_config function to ensure it saves JIRA configuration\par +successfully.\par +\par +This function sets up mocks for various dependencies and tests the\par +functionality of saving a JIRA configuration. It asserts that the\par +function returns `True`, the JSON dump is called with the correct\par +configuration, and the print statement contains the expected message.\par +\par +Args:\par + mock_print (MagicMock): Mock for the print function.\par + mock_json_dump (MagicMock): Mock for the json.dump function.\par + mock_file_open (MagicMock): Mock for the open function.\par + mock_path (MagicMock): Mock for the path module.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_af8d62310da2d768e21770f8f01ff5375_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_save_llm_config_failure\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_save_llm_config_failure} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_save_llm_config_failure ( {\i self}, {\i mock_print}, {\i mock_file_open}, {\i mock_get_config})}} +\par +{\bkmkstart AAAAAAAAOE} +{\bkmkend AAAAAAAAOE} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test function to verify that the save_llm_config function returns False\par +and prints an error message when it fails to save the LLM configuration\par +due to a permission error.\par +\par +It sets up a mock configuration file that exists and calls the\par +save_llm_config function with valid parameters. The function is expected\par +to return False and print "Error saving LLM configuration: Permission\par +denied" in case of a failure.\par +\par +Args:\par + self (TestLLMConfig): An instance of the test class.\par + mock_print (MagicMock): A MagicMock object representing the print function, which will be used\par + to assert that it was called with the expected error message.\par + mock_file_open (MagicMock): A MagicMock object representing the open function, which is not used in\par + this test but is included as a parameter for completeness.\par + mock_get_config (MagicMock): A MagicMock object representing the get_config function, which will be\par + used to return the mock configuration file.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_a73a264dfb21e16003e095b79f6eab2ac_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_save_llm_config_success\:tests.test_config_commands.TestConfigCommands} +{\xe \v tests.test_config_commands.TestConfigCommands\:test_save_llm_config_success} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_config_commands.TestConfigCommands.test_save_llm_config_success ( {\i self}, {\i mock_print}, {\i mock_json_dump}, {\i mock_file_open}, {\i mock_get_config})}} +\par +{\bkmkstart AAAAAAAAOF} +{\bkmkend AAAAAAAAOF} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the save_llm_config function successfully.\par +\par +This function tests that the save_llm_config function correctly saves an\par +LLM configuration and handles various mock objects and side effects. It\par +ensures that the function returns True upon successful execution, writes\par +the expected configuration to a file, and prints a confirmation message.\par +\par +Args:\par + mock_print (MagicMock): A mock object for the print function.\par + mock_json_dump (MagicMock): A mock object for json.dump.\par + mock_file_open (MagicMock): A mock object for file opening.\par + mock_get_config (MagicMock): A mock object to return a configuration file mock.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__config__commands_1_1TestConfigCommands_acd8df8219441b9e9871b903a681400d9_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_config_commands.py}\par +}\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +tests.test_web_config.TestWebConfig Class Reference\par \pard\plain +{\tc\tcl2 \v tests.test_web_config.TestWebConfig} +{\xe \v tests.test_web_config.TestWebConfig} +{\bkmkstart AAAAAAAAOT} +{\bkmkend AAAAAAAAOT} +Collaboration diagram for tests.test_web_config.TestWebConfig:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__web__config_1_1TestWebConfig__coll__graph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +\par +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Member Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_config_llm_web_server_setup} (self, mock_resource_filename, mock_server, mock_webbrowser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b test_config_jira_web_server_setup} (self, mock_resource_filename, mock_server, mock_webbrowser)\par +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Member Function Documentation\par +\pard\plain +{\xe \v test_config_jira_web_server_setup\:tests.test_web_config.TestWebConfig} +{\xe \v tests.test_web_config.TestWebConfig\:test_config_jira_web_server_setup} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_web_config.TestWebConfig.test_config_jira_web_server_setup ( {\i self}, {\i mock_resource_filename}, {\i mock_server}, {\i mock_webbrowser})}} +\par +{\bkmkstart AAAAAAAAOU} +{\bkmkend AAAAAAAAOU} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Test the configuration and setup of a JIRA web server.\par +\par +This function tests the entire process of setting up a JIRA web server,\par +including mocking necessary resources, configuring the server to shut\par +down after handling one request, and verifying that the web browser is\par +opened with the correct URL. The function uses several mocks to simulate\par +external dependencies such as resource files, servers, and web browsers.\par +\par +Args:\par + mock_resource_filename (MagicMock): A MagicMock object for simulating the `resource_filename` function.\par + mock_server (MagicMock): A MagicMock object for simulating the server setup.\par + mock_webbrowser (MagicMock): A MagicMock object for simulating the web browser opening.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__web__config_1_1TestWebConfig_a06e600222e426b003850509cb1d3190a_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\xe \v test_config_llm_web_server_setup\:tests.test_web_config.TestWebConfig} +{\xe \v tests.test_web_config.TestWebConfig\:test_config_llm_web_server_setup} +\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid { +{\b +def tests.test_web_config.TestWebConfig.test_config_llm_web_server_setup ( {\i self}, {\i mock_resource_filename}, {\i mock_server}, {\i mock_webbrowser})}} +\par +{\bkmkstart AAAAAAAAOV} +{\bkmkend AAAAAAAAOV} +{ +\pard\plain \s61\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid +{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid +{ +\par +\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid Set up and test the web server configuration for an LLM (Large Language\par +Model) web interface.\par +\par +This function configures a mock web server for testing purposes,\par +including setting up resource filenames, mocking server behavior, and\par +verifying that the web browser is opened and the server starts\par +correctly. The function uses various mocks to simulate external\par +dependencies such as `resource_filename` and `server`.\par +\par +Args:\par + mock_resource_filename (MagicMock): A MagicMock object simulating the `resource_filename` function.\par + mock_server (MagicMock): A MagicMock object simulating the context manager for the web server.\par + mock_webbrowser (MagicMock): A MagicMock object simulating the `webbrowser` module.\par +} + \par +}Here is the call graph for this function:{ +\pard\plain +\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classtests_1_1test__web__config_1_1TestWebConfig_afc6440352201d207ea8b4d26f8ccfa35_cgraph.svg" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par +} +} +{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} +The documentation for this class was generated from the following file:{\par +\pard\plain \s121\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/{\b test_web_config.py}\par +} +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +File Documentation{\tc \v File Documentation} +\par \pard\plain +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/commit-commands.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/commit-commands.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/commit-commands.md} +{\bkmkstart AAAAAAAAAA} +{\bkmkend AAAAAAAAAA} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/config-commands.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/config-commands.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/config-commands.md} +{\bkmkstart AAAAAAAAAB} +{\bkmkend AAAAAAAAAB} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/detailed-usage.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/detailed-usage.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/detailed-usage.md} +{\bkmkstart AAAAAAAAAC} +{\bkmkend AAAAAAAAAC} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/doc_commands.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/doc_commands.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/doc_commands.md} +{\bkmkstart AAAAAAAAAD} +{\bkmkend AAAAAAAAAD} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/example-workflows.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/example-workflows.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/example-workflows.md} +{\bkmkstart AAAAAAAAAE} +{\bkmkend AAAAAAAAAE} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/penify-cli-documentation.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/penify-cli-documentation.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/docs/penify-cli-documentation.md} +{\bkmkstart AAAAAAAAAF} +{\bkmkend AAAAAAAAAF} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/api_client.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/api_client.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/api_client.py} +{\bkmkstart AAAAAAAAAG} +{\bkmkend AAAAAAAAAG} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.api_client.APIClient}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.api_client}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/base_analyzer.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/base_analyzer.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/base_analyzer.py} +{\bkmkstart AAAAAAAAAH} +{\bkmkend AAAAAAAAAH} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.base_analyzer.BaseAnalyzer}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.base_analyzer}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/__init__.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/__init__.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/__init__.py} +{\bkmkstart AAAAAAAAAI} +{\bkmkend AAAAAAAAAI} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/__init__.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/__init__.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/__init__.py} +{\bkmkstart AAAAAAAAAJ} +{\bkmkend AAAAAAAAAJ} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/__init__.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/__init__.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/__init__.py} +{\bkmkstart AAAAAAAAAK} +{\bkmkend AAAAAAAAAK} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/auth_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/auth_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/auth_commands.py} +{\bkmkstart AAAAAAAAAL} +{\bkmkend AAAAAAAAAL} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands.auth_commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.auth_commands.save_credentials} (api_key)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.auth_commands.login} (api_url, dashboard_url)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/commit_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/commit_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/commit_commands.py} +{\bkmkstart AAAAAAAAAM} +{\bkmkend AAAAAAAAAM} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands.commit_commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.commit_commands.commit_code} (api_url, token, message, open_terminal, generate_description, llm_model=None, llm_api_base=None, llm_api_key=None, jira_url=None, jira_user=None, jira_api_token=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.commit_commands.setup_commit_parser} (parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.commit_commands.handle_commit} (args)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/config_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/config_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/config_commands.py} +{\bkmkstart AAAAAAAAAN} +{\bkmkend AAAAAAAAAN} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands.config_commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +None {\b penify_hook.commands.config_commands.load_env_files} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Path {\b penify_hook.commands.config_commands.get_penify_config} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Any {\b penify_hook.commands.config_commands.get_env_var_or_default} (str env_var, Any default=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.config_commands.save_llm_config} (model, api_base, api_key)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.config_commands.save_jira_config} (url, username, api_token)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict[str, str] {\b penify_hook.commands.config_commands.get_llm_config} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Dict[str, str] {\b penify_hook.commands.config_commands.get_jira_config} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.config_commands.config_llm_web} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.config_commands.config_jira_web} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +Optional[str] {\b penify_hook.commands.config_commands.get_token} ()\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b penify_hook.commands.config_commands.DOTENV_AVAILABLE} = True\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.commands.config_commands.path}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/doc_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/doc_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/doc_commands.py} +{\bkmkstart AAAAAAAAAO} +{\bkmkend AAAAAAAAAO} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands.doc_commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.doc_commands.generate_doc} (api_url, token, location=None)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.doc_commands.setup_docgen_parser} (parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.doc_commands.handle_docgen} (args)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.commands.doc_commands.docgen_description}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/hook_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/hook_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commands/hook_commands.py} +{\bkmkstart AAAAAAAAAP} +{\bkmkend AAAAAAAAAP} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commands.hook_commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.hook_commands.install_git_hook} (location, token)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.commands.hook_commands.uninstall_git_hook} (location)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.commands.hook_commands.HOOK_FILENAME} = "post-commit"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.commands.hook_commands.HOOK_TEMPLATE}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commit_analyzer.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commit_analyzer.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/commit_analyzer.py} +{\bkmkstart AAAAAAAAAQ} +{\bkmkend AAAAAAAAAQ} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.commit_analyzer.CommitDocGenHook}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.commit_analyzer}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/config_command.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/config_command.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/config_command.py} +{\bkmkstart AAAAAAAAAR} +{\bkmkend AAAAAAAAAR} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.config_command}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.config_command.setup_config_parser} (parent_parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.config_command.handle_config} (args)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/constants.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/constants.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/constants.py} +{\bkmkstart AAAAAAAAAS} +{\bkmkend AAAAAAAAAS} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.constants}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.constants.API_URL} = 'http://localhost:8000/api'\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.constants.DASHBOARD_URL} = "https://dashboard.penify.dev/auth/localhost/login"\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/file_analyzer.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/file_analyzer.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/file_analyzer.py} +{\bkmkstart AAAAAAAAAT} +{\bkmkend AAAAAAAAAT} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.file_analyzer.FileAnalyzerGenHook}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.file_analyzer}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.file_analyzer.logger} = logging.getLogger(__name__)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/folder_analyzer.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/folder_analyzer.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/folder_analyzer.py} +{\bkmkstart AAAAAAAAAU} +{\bkmkend AAAAAAAAAU} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.folder_analyzer.FolderAnalyzerGenHook}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.folder_analyzer}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/git_analyzer.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/git_analyzer.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/git_analyzer.py} +{\bkmkstart AAAAAAAAAV} +{\bkmkend AAAAAAAAAV} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.git_analyzer.GitDocGenHook}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.git_analyzer}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.git_analyzer.logger} = logging.getLogger(__name__)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/jira_client.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/jira_client.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/jira_client.py} +{\bkmkstart AAAAAAAAAW} +{\bkmkend AAAAAAAAAW} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.jira_client.JiraClient}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.jira_client}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +bool {\b penify_hook.jira_client.JIRA_AVAILABLE} = True\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/llm_client.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/llm_client.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/llm_client.py} +{\bkmkstart AAAAAAAAAX} +{\bkmkend AAAAAAAAAX} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.llm_client.LLMClient}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.llm_client}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/login_command.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/login_command.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/login_command.py} +{\bkmkstart AAAAAAAAAY} +{\bkmkend AAAAAAAAAY} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.login_command}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.login_command.setup_login_parser} (parser)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.login_command.handle_login} (args)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/main.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/main.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/main.py} +{\bkmkstart AAAAAAAAAZ} +{\bkmkend AAAAAAAAAZ} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.main}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.main.main} ()\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/ui_utils.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/ui_utils.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/ui_utils.py} +{\bkmkstart AAAAAAAABA} +{\bkmkend AAAAAAAABA} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.ui_utils}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.format_info} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.format_success} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.format_warning} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.format_error} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.format_highlight} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.format_file_path} (file_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.print_info} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.print_success} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.print_warning} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.print_error} (message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.print_processing} (file_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.print_status} (status, message)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.create_progress_bar} (total, desc="Processing", unit="item")\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.create_stage_progress_bar} (stages, desc="Processing")\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.ui_utils.update_stage} (pbar, stage_name)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.autoreset}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.INFO_COLOR} = Fore.CYAN\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.SUCCESS_COLOR} = Fore.GREEN\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.WARNING_COLOR} = Fore.YELLOW\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.ERROR_COLOR} = Fore.RED\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.HIGHLIGHT_COLOR} = Fore.BLUE\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.ui_utils.NEUTRAL_COLOR} = Fore.WHITE\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.ui_utils.SUCCESS_SYMBOL} = "\'E2\'9C\'93"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.ui_utils.WARNING_SYMBOL} = "\'E2\'97\'8B"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.ui_utils.ERROR_SYMBOL} = "\'E2\'9C\'97"\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +string {\b penify_hook.ui_utils.PROCESSING_SYMBOL} = "\'E2\'9F\'B3"\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/utils.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/utils.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/penify_hook/utils.py} +{\bkmkstart AAAAAAAABB} +{\bkmkend AAAAAAAABB} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b penify_hook.utils.GitRepoNotFoundError}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b penify_hook.utils}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.utils.get_repo_details} (Repo repo)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.utils.recursive_search_git_folder} (folder_path)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b penify_hook.utils.find_git_parent} (path)\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b penify_hook.utils.logger} = logging.getLogger(__name__)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/README.md File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/README.md} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/README.md} +{\bkmkstart AAAAAAAABC} +{\bkmkend AAAAAAAABC} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/setup.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/setup.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/setup.py} +{\bkmkstart AAAAAAAABD} +{\bkmkend AAAAAAAABD} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b setup}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Variables\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.name}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.version}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.packages}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.install_requires}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.entry_points}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.author}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.author_email}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.description}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.long_description}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.long_description_content_type}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.url}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.classifiers}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +{\b setup.python_requires}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/conftest.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/conftest.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/conftest.py} +{\bkmkstart AAAAAAAABE} +{\bkmkend AAAAAAAABE} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests.conftest}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_commit_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_commit_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_commit_commands.py} +{\bkmkstart AAAAAAAABF} +{\bkmkend AAAAAAAABF} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b tests.test_commit_commands.TestCommitCommands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests.test_commit_commands}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_config_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_config_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_config_commands.py} +{\bkmkstart AAAAAAAABG} +{\bkmkend AAAAAAAABG} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b tests.test_config_commands.TestConfigCommands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests.test_config_commands}\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_doc_commands.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_doc_commands.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_doc_commands.py} +{\bkmkstart AAAAAAAABH} +{\bkmkend AAAAAAAABH} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests.test_doc_commands}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Functions\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_generate_doc_no_location} (mock_getcwd, mock_api_client, mock_folder_analyzer, mock_file_analyzer, mock_git_analyzer)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_generate_doc_file_location} (mock_api_client, mock_folder_analyzer, mock_file_analyzer, mock_git_analyzer)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_generate_doc_folder_location} (mock_api_client, mock_folder_analyzer, mock_file_analyzer, mock_git_analyzer)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_generate_doc_error_handling} (mock_api_client, mock_git_analyzer, mock_exit)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_setup_docgen_parser} ()\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_handle_docgen_install_hook} (mock_exit, mock_get_token, mock_generate_doc, mock_uninstall_hook, mock_install_hook)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_handle_docgen_uninstall_hook} (mock_exit, mock_get_token, mock_generate_doc, mock_uninstall_hook, mock_install_hook)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_handle_docgen_generate} (mock_get_token, mock_generate_doc, mock_uninstall_hook, mock_install_hook)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_handle_docgen_no_token} (mock_exit, mock_get_token)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_generate_doc_with_file_exception} (mock_api_client, mock_getcwd)\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +def {\b tests.test_doc_commands.test_generate_doc_with_folder_exception} (mock_api_client, mock_getcwd)\par +} +\par \pard\plain + +\pard\plain \sect\sbkpage +\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid +/tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_web_config.py File Reference\par \pard\plain +{\tc\tcl2 \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_web_config.py} +{\xe \v /tmp/github_reposRepoArchDocGenContext/Penify-dev/penify-cli/tests/test_web_config.py} +{\bkmkstart AAAAAAAABI} +{\bkmkend AAAAAAAABI} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Classes\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +class {\b tests.test_web_config.TestWebConfig}\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Namespaces\par +\pard\plain + +{ +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests}\par +\pard\plain \s120\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid +namespace {\b tests.test_web_config}\par +} + +\pard\plain \sect\sbkpage +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid +\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Index\par +\pard\plain +{\tc \v Index} +{\field\fldedit {\*\fldinst INDEX \\c2 \\*MERGEFORMAT}{\fldrslt INDEX}} +}