main
parent
97b858b2f5
commit
ba2dd4c682
@ -0,0 +1,3 @@
|
|||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
@ -0,0 +1 @@
|
|||||||
|
GUI.py
|
@ -0,0 +1,400 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||||
|
<open-files />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.Settings">
|
||||||
|
<connections />
|
||||||
|
<browser-settings>
|
||||||
|
<general>
|
||||||
|
<display-mode value="TABBED" />
|
||||||
|
<navigation-history-size value="100" />
|
||||||
|
<show-object-details value="false" />
|
||||||
|
<enable-sticky-paths value="true" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<object-type-filter>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="true" />
|
||||||
|
<object-type name="ROLE" enabled="true" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="true" />
|
||||||
|
<object-type name="CHARSET" enabled="true" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED_TABLE" enabled="true" />
|
||||||
|
<object-type name="COLUMN" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="true" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||||
|
<object-type name="ARGUMENT" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="true" />
|
||||||
|
<object-type name="CLUSTER" enabled="true" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</object-type-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting>
|
||||||
|
<object-type name="COLUMN" sorting-type="NAME" />
|
||||||
|
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||||
|
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||||
|
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||||
|
<object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
|
||||||
|
</sorting>
|
||||||
|
<default-editors>
|
||||||
|
<object-type name="VIEW" editor-type="SELECTION" />
|
||||||
|
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||||
|
<object-type name="TYPE" editor-type="SELECTION" />
|
||||||
|
</default-editors>
|
||||||
|
</browser-settings>
|
||||||
|
<navigation-settings>
|
||||||
|
<lookup-filters>
|
||||||
|
<lookup-objects>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="false" />
|
||||||
|
<object-type name="ROLE" enabled="false" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="false" />
|
||||||
|
<object-type name="CHARSET" enabled="false" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="false" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="false" />
|
||||||
|
<object-type name="CLUSTER" enabled="false" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</lookup-objects>
|
||||||
|
<force-database-load value="false" />
|
||||||
|
<prompt-connection-selection value="true" />
|
||||||
|
<prompt-schema-selection value="true" />
|
||||||
|
</lookup-filters>
|
||||||
|
</navigation-settings>
|
||||||
|
<dataset-grid-settings>
|
||||||
|
<general>
|
||||||
|
<enable-zooming value="true" />
|
||||||
|
<enable-column-tooltip value="true" />
|
||||||
|
</general>
|
||||||
|
<sorting>
|
||||||
|
<nulls-first value="true" />
|
||||||
|
<max-sorting-columns value="4" />
|
||||||
|
</sorting>
|
||||||
|
<audit-columns>
|
||||||
|
<column-names value="" />
|
||||||
|
<visible value="true" />
|
||||||
|
<editable value="false" />
|
||||||
|
</audit-columns>
|
||||||
|
</dataset-grid-settings>
|
||||||
|
<dataset-editor-settings>
|
||||||
|
<text-editor-popup>
|
||||||
|
<active value="false" />
|
||||||
|
<active-if-empty value="false" />
|
||||||
|
<data-length-threshold value="100" />
|
||||||
|
<popup-delay value="1000" />
|
||||||
|
</text-editor-popup>
|
||||||
|
<values-actions-popup>
|
||||||
|
<show-popup-button value="true" />
|
||||||
|
<element-count-threshold value="1000" />
|
||||||
|
<data-length-threshold value="250" />
|
||||||
|
</values-actions-popup>
|
||||||
|
<general>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<fetch-timeout value="30" />
|
||||||
|
<trim-whitespaces value="true" />
|
||||||
|
<convert-empty-strings-to-null value="true" />
|
||||||
|
<select-content-on-cell-edit value="true" />
|
||||||
|
<large-value-preview-active value="true" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<prompt-filter-dialog value="true" />
|
||||||
|
<default-filter-type value="BASIC" />
|
||||||
|
</filters>
|
||||||
|
<qualified-text-editor text-length-threshold="300">
|
||||||
|
<content-types>
|
||||||
|
<content-type name="Text" enabled="true" />
|
||||||
|
<content-type name="Properties" enabled="true" />
|
||||||
|
<content-type name="XML" enabled="true" />
|
||||||
|
<content-type name="DTD" enabled="true" />
|
||||||
|
<content-type name="HTML" enabled="true" />
|
||||||
|
<content-type name="XHTML" enabled="true" />
|
||||||
|
<content-type name="SQL" enabled="true" />
|
||||||
|
<content-type name="PL/SQL" enabled="true" />
|
||||||
|
<content-type name="JSON" enabled="true" />
|
||||||
|
<content-type name="JSON5" enabled="true" />
|
||||||
|
<content-type name="YAML" enabled="true" />
|
||||||
|
</content-types>
|
||||||
|
</qualified-text-editor>
|
||||||
|
<record-navigation>
|
||||||
|
<navigation-target value="VIEWER" />
|
||||||
|
</record-navigation>
|
||||||
|
</dataset-editor-settings>
|
||||||
|
<code-editor-settings>
|
||||||
|
<general>
|
||||||
|
<show-object-navigation-gutter value="false" />
|
||||||
|
<show-spec-declaration-navigation-gutter value="true" />
|
||||||
|
<enable-spellchecking value="true" />
|
||||||
|
<enable-reference-spellchecking value="false" />
|
||||||
|
</general>
|
||||||
|
<confirmations>
|
||||||
|
<save-changes value="false" />
|
||||||
|
<revert-changes value="true" />
|
||||||
|
<exit-on-changes value="ASK" />
|
||||||
|
</confirmations>
|
||||||
|
</code-editor-settings>
|
||||||
|
<code-completion-settings>
|
||||||
|
<filters>
|
||||||
|
<basic-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</basic-filter>
|
||||||
|
<extended-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</extended-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting enabled="true">
|
||||||
|
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||||
|
<sorting-element type="OBJECT" id="column" />
|
||||||
|
<sorting-element type="OBJECT" id="table" />
|
||||||
|
<sorting-element type="OBJECT" id="view" />
|
||||||
|
<sorting-element type="OBJECT" id="materialized view" />
|
||||||
|
<sorting-element type="OBJECT" id="index" />
|
||||||
|
<sorting-element type="OBJECT" id="constraint" />
|
||||||
|
<sorting-element type="OBJECT" id="trigger" />
|
||||||
|
<sorting-element type="OBJECT" id="synonym" />
|
||||||
|
<sorting-element type="OBJECT" id="sequence" />
|
||||||
|
<sorting-element type="OBJECT" id="procedure" />
|
||||||
|
<sorting-element type="OBJECT" id="function" />
|
||||||
|
<sorting-element type="OBJECT" id="package" />
|
||||||
|
<sorting-element type="OBJECT" id="type" />
|
||||||
|
<sorting-element type="OBJECT" id="dimension" />
|
||||||
|
<sorting-element type="OBJECT" id="cluster" />
|
||||||
|
<sorting-element type="OBJECT" id="dblink" />
|
||||||
|
<sorting-element type="OBJECT" id="schema" />
|
||||||
|
<sorting-element type="OBJECT" id="role" />
|
||||||
|
<sorting-element type="OBJECT" id="user" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="function" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||||
|
</sorting>
|
||||||
|
<format>
|
||||||
|
<enforce-code-style-case value="true" />
|
||||||
|
</format>
|
||||||
|
</code-completion-settings>
|
||||||
|
<execution-engine-settings>
|
||||||
|
<statement-execution>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<execution-timeout value="20" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<focus-result value="false" />
|
||||||
|
<prompt-execution value="false" />
|
||||||
|
</statement-execution>
|
||||||
|
<script-execution>
|
||||||
|
<command-line-interfaces />
|
||||||
|
<execution-timeout value="300" />
|
||||||
|
</script-execution>
|
||||||
|
<method-execution>
|
||||||
|
<execution-timeout value="30" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<parameter-history-size value="10" />
|
||||||
|
</method-execution>
|
||||||
|
</execution-engine-settings>
|
||||||
|
<operation-settings>
|
||||||
|
<transactions>
|
||||||
|
<uncommitted-changes>
|
||||||
|
<on-project-close value="ASK" />
|
||||||
|
<on-disconnect value="ASK" />
|
||||||
|
<on-autocommit-toggle value="ASK" />
|
||||||
|
</uncommitted-changes>
|
||||||
|
<multiple-uncommitted-changes>
|
||||||
|
<on-commit value="ASK" />
|
||||||
|
<on-rollback value="ASK" />
|
||||||
|
</multiple-uncommitted-changes>
|
||||||
|
</transactions>
|
||||||
|
<session-browser>
|
||||||
|
<disconnect-session value="ASK" />
|
||||||
|
<kill-session value="ASK" />
|
||||||
|
<reload-on-filter-change value="false" />
|
||||||
|
</session-browser>
|
||||||
|
<compiler>
|
||||||
|
<compile-type value="KEEP" />
|
||||||
|
<compile-dependencies value="ASK" />
|
||||||
|
<always-show-controls value="false" />
|
||||||
|
</compiler>
|
||||||
|
</operation-settings>
|
||||||
|
<ddl-file-settings>
|
||||||
|
<extensions>
|
||||||
|
<mapping file-type-id="VIEW" extensions="vw" />
|
||||||
|
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||||
|
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||||
|
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||||
|
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||||
|
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||||
|
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||||
|
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||||
|
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||||
|
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||||
|
</extensions>
|
||||||
|
<general>
|
||||||
|
<lookup-ddl-files value="true" />
|
||||||
|
<create-ddl-files value="false" />
|
||||||
|
<synchronize-ddl-files value="true" />
|
||||||
|
<use-qualified-names value="false" />
|
||||||
|
<make-scripts-rerunnable value="true" />
|
||||||
|
</general>
|
||||||
|
</ddl-file-settings>
|
||||||
|
<general-settings>
|
||||||
|
<regional-settings>
|
||||||
|
<date-format value="MEDIUM" />
|
||||||
|
<number-format value="UNGROUPED" />
|
||||||
|
<locale value="SYSTEM_DEFAULT" />
|
||||||
|
<use-custom-formats value="false" />
|
||||||
|
</regional-settings>
|
||||||
|
<environment>
|
||||||
|
<environment-types>
|
||||||
|
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||||
|
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||||
|
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||||
|
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||||
|
</environment-types>
|
||||||
|
<visibility-settings>
|
||||||
|
<connection-tabs value="true" />
|
||||||
|
<dialog-headers value="true" />
|
||||||
|
<object-editor-tabs value="true" />
|
||||||
|
<script-editor-tabs value="false" />
|
||||||
|
<execution-result-tabs value="true" />
|
||||||
|
</visibility-settings>
|
||||||
|
</environment>
|
||||||
|
</general-settings>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/实验.iml" filepath="$PROJECT_DIR$/.idea/实验.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
@ -0,0 +1,47 @@
|
|||||||
|
import tkinter as tk
|
||||||
|
import subprocess
|
||||||
|
import threading
|
||||||
|
|
||||||
|
# 使用线程来运行 NEW.py和 NEV.py。
|
||||||
|
def run_new():
|
||||||
|
try:
|
||||||
|
threading.Thread(target=lambda: subprocess.run(["python", "NEW.py"])).start()
|
||||||
|
except FileNotFoundError:
|
||||||
|
print("找不到NEW.py文件")
|
||||||
|
|
||||||
|
|
||||||
|
def run_nev():
|
||||||
|
try:
|
||||||
|
threading.Thread(target=lambda: subprocess.run(["python", "NEV.py"])).start()
|
||||||
|
except FileNotFoundError:
|
||||||
|
print("找不到NEV.py文件")
|
||||||
|
|
||||||
|
|
||||||
|
# 创建主窗口
|
||||||
|
root = tk.Tk()
|
||||||
|
root.title("文件安全传输工具")
|
||||||
|
# 设置窗口大小
|
||||||
|
root.geometry("300x150")
|
||||||
|
|
||||||
|
# 创建标签
|
||||||
|
label = tk.Label(root, text="请选择您的身份:")
|
||||||
|
label.pack(pady=10)
|
||||||
|
|
||||||
|
# 创建按钮框架,用于在同一行放置按钮
|
||||||
|
button_frame = tk.Frame(root)
|
||||||
|
button_frame.pack()
|
||||||
|
|
||||||
|
# 创建发送方按钮
|
||||||
|
sender_button = tk.Button(button_frame, text="发送方", command=run_new)
|
||||||
|
sender_button.pack(side=tk.LEFT, padx=10)
|
||||||
|
|
||||||
|
# 创建接收方按钮
|
||||||
|
receiver_button = tk.Button(button_frame, text="接收方", command=run_nev)
|
||||||
|
receiver_button.pack(side=tk.LEFT, padx=10)
|
||||||
|
|
||||||
|
# 创建关闭按钮
|
||||||
|
confirm_button = tk.Button(button_frame, text="关闭", command=root.destroy)
|
||||||
|
confirm_button.pack(side=tk.LEFT, padx=10)
|
||||||
|
|
||||||
|
# 运行主循环
|
||||||
|
root.mainloop()
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCFkCLhWcpNPbTu
|
||||||
|
12H30PAvVJY7ui5BauTEzfILeH0ki9x3HeUvGmFxeY6JVCO+obio8NT1DWaVl2NC
|
||||||
|
6SRhnLRGg2Oq4LgbAOBqBpatF7GL3e1aHzugWmCQdH3oFgw2bQQOrK7OoZc0FXSq
|
||||||
|
DvfvMkxn4cgVv75Rcz/GaUzGnmNCzjBH+sQrnQj9my694YUT+HSnabXHDje+EZ2I
|
||||||
|
j7wbjQl941RV0mITt4bgJdVE09UuVEIz76K/yRMzrvwsSUwokvt9XFsQvRGyGUC9
|
||||||
|
42BPlvxVGz744P6DuXIZ3Dt+DGNhNJliIuLNhIolGO85eqtbPHKeMDPvx1pO+Y4B
|
||||||
|
us9AplA/AgMBAAECggEAJoUUWjPAMZirVvrNKWCb9LqLfXxLnNhMVColNYOxa9ne
|
||||||
|
Yog/sd8E3Wo2XoriqDcR/789W9Nak6gOm5yLvo8oOvHny791uWv+TPXLfO5JaVI/
|
||||||
|
Au/hDXUjRmYibc32BbhZJDZPUA6wgffyJp2cieLSwF8Qip07MVhwuzNhTiMd84UD
|
||||||
|
H8vdDCPi6wZ41glMzGCJVRJAAmxz8XkYeMz6ghtMtilAxz30IBnKAFsSgFQGtZJk
|
||||||
|
Hg2STxvMWMkn3j6Vnl88YfMAhe+fAbqhDuh/Uy0Py+XaTULUNOJXZtKyCwO3leJm
|
||||||
|
PdfeCoQVG4/BYZhd7cZgT9pv0d0FTl9vWg/FC88h4QKBgQC8iiF5B/8/CRiVbq17
|
||||||
|
c31ka7pb2oBSJlDpemN7vhA6D9ZwFDDvsFi/ezHLUuizZvuo9pYsFkNKWtgZKE4w
|
||||||
|
/nCZqP4HTC9rRIIFf7/XlJuMrRXuAkkbyRWSP9DxfudO+QBVqdXp2pJoPJfiFrkb
|
||||||
|
mM3t3GjL7eTCdo9ixItOOsx8jwKBgQC1WkIPegQdbfhCe9taH/DxaWcJkgSpVdwC
|
||||||
|
Yhm7dEj+DngRcmTDehXJmaA6mqVMGK2Q4HeYNzUmQPzpAp7NyW4m7E87hj9uzA2m
|
||||||
|
2DXzfZuf3GM6vE+DKif3umBV0yEW7oJb6BxE1RDGUC/vfwXinxBDTtiEYOZ26fi5
|
||||||
|
1vqcugApUQKBgQClOoCfKuz79yK+QqJyYAHx8Z7+RHzUgZPDKWjp1uUtnReWXXuN
|
||||||
|
cwQzuukmgOBB6Ox/ZKqytEgAb6CWW4Y61aEkaL9G8fNUlFNGMnCToz62iDGBxir/
|
||||||
|
2Le41YhtO4PG59ztNcusB8rq4r9Qeg17K+y8mb6ViURDT9fU/N4AjvMJ7QKBgGey
|
||||||
|
foee+29gjE5nyBuWnA1Oec5tIiE5qR3rvk8DxSEQYPOI97kWvBKUt5wLBW2nxsdK
|
||||||
|
stfk6Y1AJ92M1AVTopq7EOs2blsKbtvyUZczQaN9P3g8aTLVDhmHBsLMgOU96Ghp
|
||||||
|
JpDtTDQ5cc9+UH0u+vuhwAih5+YjD0gkdxTa/nChAoGBAJJ7Ps+GGlnbAouFMT1S
|
||||||
|
bwRuNAVZcNzu5ud0jKAPEvNwa9WFlFObh77taI9aIqGzcibena+7+6ld7sBzo769
|
||||||
|
umYbe+3o4nqDIzhL0rZuSG8cq6ajkq1al9WVG/nlJ99YBjaEltmBVVOQ3ysBuGZj
|
||||||
|
HR7g/XAyJzUFadT8BEdh/vZm
|
||||||
|
-----END PRIVATE KEY-----
|
@ -0,0 +1,9 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhZAi4VnKTT207tdh99Dw
|
||||||
|
L1SWO7ouQWrkxM3yC3h9JIvcdx3lLxphcXmOiVQjvqG4qPDU9Q1mlZdjQukkYZy0
|
||||||
|
RoNjquC4GwDgagaWrRexi93tWh87oFpgkHR96BYMNm0EDqyuzqGXNBV0qg737zJM
|
||||||
|
Z+HIFb++UXM/xmlMxp5jQs4wR/rEK50I/ZsuveGFE/h0p2m1xw43vhGdiI+8G40J
|
||||||
|
feNUVdJiE7eG4CXVRNPVLlRCM++iv8kTM678LElMKJL7fVxbEL0RshlAveNgT5b8
|
||||||
|
VRs++OD+g7lyGdw7fgxjYTSZYiLizYSKJRjvOXqrWzxynjAz78daTvmOAbrPQKZQ
|
||||||
|
PwIDAQAB
|
||||||
|
-----END PUBLIC KEY-----
|
@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC37VWLRKKVTRnY
|
||||||
|
OMJuebhBoaX30zUhv9KiVpCJ1RY+OT3s+4vU2OjaJt6ql6E1xPPbecKGPc+9aZFj
|
||||||
|
18jZsZgXC4aVpANP17ApzniAXXjoyYsrAL0e1dxGviZolDfrDJTllP2FIyfmFgRn
|
||||||
|
GUVrfcUqSL5DJ/GU9qR1EhSHBVUwmet6HFAXwRDJYZ49YvRHeExnzv7p4qgQkEy1
|
||||||
|
G9/phYRS26tvI+910eRRbWcKuGounr1ZOB81Aym8RnRlipUipqpTiCUWvvY2TpEe
|
||||||
|
jSPA5WCjzjom8Jo8zepqvImB7G2zIy9/0C+daLtJZUvoCy8CHFmqk2buQXWUIu4C
|
||||||
|
6mrsY76fAgMBAAECggEAAI1BEIvTxitiKJ2qQKu2lNBm7bG4iBctVQSb4qyGNkyl
|
||||||
|
5DG1QkFJXjgNbaR3ZlllKF6fcwsU/op3/L1Ao+kaZEM16JQKNZBbYVD34teQ5Yog
|
||||||
|
FvRmhbY5wA+8qSuk2rLpLLgh89krsAUVywHL7/tYUJDvy3M9MlB3eAqojH4D0G3Z
|
||||||
|
llKhYThTmtjIWvvSAXCLL0QSXP/DOGgU4OPLsJ0vxrvXObkzT7WHeHLbfB3y9kTj
|
||||||
|
An3zEaTmQulEbpq4QOKjIETtyLcWTbUxaL5baikGWRAkS+BrncSfNqpgsnvgyg1f
|
||||||
|
nuTdi2TC+VZIDal+HtYGQgwtIrHzu53NgXUZE3D21QKBgQDhFmtpQoK8LfOkLPW6
|
||||||
|
6el9VjvRqvyrLo+ymHqxpYUxPXKFwToqa3TeKY/56kx5cy9oogCV8LwR0Yt7awiz
|
||||||
|
Syxv8RBZoPsaVuEaY3FunVcPC+eCE1O2N0pOqIy1Ff/6G94y37U7sSm5oCHJTRET
|
||||||
|
ApHJt8m1LmFRRS5QYnzn3Js1/QKBgQDRL82O6u4Ei+11ZjyzQgA75iukZVWKNHrI
|
||||||
|
haDTbwdasaItlLKO+xJQEN0IzkPNbuEyrqRMWtqyWaT2fpCkJXZWom8IzLmhL3SD
|
||||||
|
Htdiq2VvCt/Pq6SELNzLJT7pbVzuA7HosOK+z+Zc5+TOEPORgKydlNVY452iJP/Y
|
||||||
|
lGLHAEtbywKBgGpMUjGFjYQdF2DDMtEwwmnEnb9oxqZ4+LfZNqhKiNo2MK1mEXgT
|
||||||
|
A0Af1LSrp637bbo2N5yX8dlgYkTIyXUS3UuIRrZtReiseuYhbGJWv9SFRLGzOudk
|
||||||
|
uRzokHq8hwSwwIC6ETa9df0J2KreUF/v6LWgrAt6ec8Nos+nk2FUV6BpAoGBAILY
|
||||||
|
VMp9do4PfGN/pJ43vW+6JDg7TksZUmfU9ejqvP3kuF2schfvQeAk/C0C3/RC08fg
|
||||||
|
51H/TmZank20kwKpkCDWj39AlygUR9uwUecc8GCJu77pTQmECkNjM7vMtWEHnKPA
|
||||||
|
6MOTxTL9teeTQNcVVmNm8iAcl8ARRpsRDcwOChULAoGBALiGuaQvG0uUPjt3Za+n
|
||||||
|
I0xV5B5dymFtxjgfHZwldnrW+9rF5omGswLDhn7Iya9+UIoX1rGdG+qqWMtIJcmz
|
||||||
|
g2cz2hRdX67tdxnanlMb6ALrQdAXEhLLnXMJAsRxeqsEpUYf+OypYm6XkJkDmgCz
|
||||||
|
PfyGudk3oG0VCrXP21/P9H/A
|
||||||
|
-----END PRIVATE KEY-----
|
@ -0,0 +1,9 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt+1Vi0SilU0Z2DjCbnm4
|
||||||
|
QaGl99M1Ib/SolaQidUWPjk97PuL1Njo2ibeqpehNcTz23nChj3PvWmRY9fI2bGY
|
||||||
|
FwuGlaQDT9ewKc54gF146MmLKwC9HtXcRr4maJQ36wyU5ZT9hSMn5hYEZxlFa33F
|
||||||
|
Kki+QyfxlPakdRIUhwVVMJnrehxQF8EQyWGePWL0R3hMZ87+6eKoEJBMtRvf6YWE
|
||||||
|
UturbyPvddHkUW1nCrhqLp69WTgfNQMpvEZ0ZYqVIqaqU4glFr72Nk6RHo0jwOVg
|
||||||
|
o846JvCaPM3qaryJgextsyMvf9AvnWi7SWVL6AsvAhxZqpNm7kF1lCLuAupq7GO+
|
||||||
|
nwIDAQAB
|
||||||
|
-----END PUBLIC KEY-----
|
@ -0,0 +1,25 @@
|
|||||||
|
from cryptography.hazmat.primitives.asymmetric import rsa
|
||||||
|
from cryptography.hazmat.primitives import serialization
|
||||||
|
def generate_receiver_keys():
|
||||||
|
private_key = rsa.generate_private_key(
|
||||||
|
public_exponent=65537,
|
||||||
|
key_size=2048,
|
||||||
|
)
|
||||||
|
public_key = private_key.public_key()
|
||||||
|
|
||||||
|
# 保存私钥到文件
|
||||||
|
with open('receiver_private_key.pem', 'wb') as f:
|
||||||
|
f.write(private_key.private_bytes(
|
||||||
|
encoding=serialization.Encoding.PEM,
|
||||||
|
format=serialization.PrivateFormat.PKCS8,
|
||||||
|
encryption_algorithm=serialization.NoEncryption()
|
||||||
|
))
|
||||||
|
|
||||||
|
# 保存公钥到文件
|
||||||
|
with open('receiver_public_key.pem', 'wb') as f:
|
||||||
|
f.write(public_key.public_bytes(
|
||||||
|
encoding=serialization.Encoding.PEM,
|
||||||
|
format=serialization.PublicFormat.SubjectPublicKeyInfo
|
||||||
|
))
|
||||||
|
|
||||||
|
generate_receiver_keys()
|
Loading…
Reference in new issue