up wiki posting
This commit is contained in:
parent
77aacdfc62
commit
9b67221aa5
398
.idea/dbnavigator.xml
generated
Normal file
398
.idea/dbnavigator.xml
generated
Normal file
@ -0,0 +1,398 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<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="XML" enabled="true" />
|
||||||
|
<content-type name="DTD" enabled="true" />
|
||||||
|
<content-type name="HTML" enabled="true" />
|
||||||
|
<content-type name="XHTML" enabled="true" />
|
||||||
|
<content-type name="CSS" enabled="true" />
|
||||||
|
<content-type name="SQL" enabled="true" />
|
||||||
|
<content-type name="PL/SQL" enabled="true" />
|
||||||
|
<content-type name="JavaScript" 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>
|
21
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
21
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true">
|
||||||
|
<option name="myValues">
|
||||||
|
<value>
|
||||||
|
<list size="7">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="nobr" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="noembed" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="comment" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="noscript" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="embed" />
|
||||||
|
<item index="5" class="java.lang.String" itemvalue="script" />
|
||||||
|
<item index="6" class="java.lang.String" itemvalue="Placeholder" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="myCustomValuesEnabled" value="true" />
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
nvm use 16
|
nvm use 16
|
||||||
#cd /home/tykayn/www/multi-account-post-schedule-mastodon
|
#cd /home/tykayn/www/multi-account-post-schedule-mastodon
|
||||||
wget --no-check-certificate --no-directories -O ./../documents/agendadulibre_openstreetmap.json "https://www.agendadulibre.org/events.json?city=&near%5Blocation%5D=&near%5Bdistance%5D=®ion=&tag=openstreetmap"
|
wget --no-check-certificate --no-directories -O $HOME/www/multi-account-post-schedule-mastodon/documents/agendadulibre_openstreetmap.json "https://www.agendadulibre.org/events.json?city=&near%5Blocation%5D=&near%5Bdistance%5D=®ion=&tag=openstreetmap"
|
||||||
|
|
||||||
node helpers/agendadulibre_coming_osm.mjs --force | tee -a /home/tykayn/log_autopost.txt 2>&1
|
node helpers/agendadulibre_coming_osm.mjs --force | tee -a /home/tykayn/log_autopost.txt 2>&1
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
nvm use 16
|
nvm use 16
|
||||||
cd /home/tykayn/www/multi-account-post-schedule-mastodon
|
cd /home/tykayn/www/multi-account-post-schedule-mastodon
|
||||||
node helpers/wiki_osm.mjs --force | tee -a /home/tykayn/log_autopost.txt 2>&1
|
$HOME/.nvm/versions/node/v20.6.1/bin/node helpers/wiki_osm_random_from_elements.mjs --force | tee -a /home/tykayn/log_autopost.txt 2>&1
|
||||||
|
@ -6,7 +6,7 @@ import https from 'https'
|
|||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
|
|
||||||
import Parser from 'rss-parser'
|
import Parser from 'rss-parser'
|
||||||
import {load} from 'cheerio'
|
import { load } from 'cheerio'
|
||||||
|
|
||||||
let local_node_env_conf = dotenv.config()
|
let local_node_env_conf = dotenv.config()
|
||||||
const myArgs = process.argv.slice(2)
|
const myArgs = process.argv.slice(2)
|
||||||
@ -74,7 +74,6 @@ export default function sendPostMastodon(config) {
|
|||||||
...config,
|
...config,
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log("sendPostMastodon config", config)
|
|
||||||
|
|
||||||
if (!config.reallySendPost) {
|
if (!config.reallySendPost) {
|
||||||
|
|
||||||
@ -84,6 +83,11 @@ export default function sendPostMastodon(config) {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
console.log(' ')
|
console.log(' ')
|
||||||
|
|
||||||
|
console.log('>>>>>>>>>>>> pas d envoi réel du post <<<<<<<<<<<<<<<<<<')
|
||||||
|
console.log('')
|
||||||
|
console.log(config)
|
||||||
|
|
||||||
if (process.env.INSTANCE_MASTODON && tokenForAuthorIsPresentInDotEnv(config.author)) {
|
if (process.env.INSTANCE_MASTODON && tokenForAuthorIsPresentInDotEnv(config.author)) {
|
||||||
|
|
||||||
let visibility = 'public'
|
let visibility = 'public'
|
||||||
@ -137,7 +141,7 @@ export default function sendPostMastodon(config) {
|
|||||||
var id
|
var id
|
||||||
console.log('envoi du média', config.image)
|
console.log('envoi du média', config.image)
|
||||||
// upload new media
|
// upload new media
|
||||||
return masto.post('media', {file: fs.createReadStream(config.image)})
|
return masto.post('media', { file: fs.createReadStream(config.image) })
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
id = resp.data.id
|
id = resp.data.id
|
||||||
params.media_ids = [id]
|
params.media_ids = [id]
|
||||||
@ -264,7 +268,7 @@ function clearLink(linkString) {
|
|||||||
export function downloadImage(url, filepath) {
|
export function downloadImage(url, filepath) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const options = {
|
const options = {
|
||||||
headers: {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52'}
|
headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52' }
|
||||||
}
|
}
|
||||||
|
|
||||||
https.get(url, options, (res) => {
|
https.get(url, options, (res) => {
|
||||||
@ -294,7 +298,7 @@ export function CropPicture(pictureName, width = 500, height = 300) {
|
|||||||
|
|
||||||
return sharp(pictureName)
|
return sharp(pictureName)
|
||||||
|
|
||||||
.extract({left: 0, top: 0, width, height})
|
.extract({ left: 0, top: 0, width, height })
|
||||||
.toFile('thumb_' + pictureName, function (err) {
|
.toFile('thumb_' + pictureName, function (err) {
|
||||||
if (err) console.log(err)
|
if (err) console.log(err)
|
||||||
})
|
})
|
||||||
@ -333,14 +337,14 @@ export function findPictureAndSendPost(postContent, configPost) {
|
|||||||
console.log('on envoie le média et l image : ', filePathForDownloadedImage)
|
console.log('on envoie le média et l image : ', filePathForDownloadedImage)
|
||||||
downloadImage(firstPictureSource, filePathForDownloadedImage)
|
downloadImage(firstPictureSource, filePathForDownloadedImage)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
// suite du poste avec upload d'image
|
// suite du poste avec upload d'image
|
||||||
|
|
||||||
console.log('média téléchargé, on envoie le post')
|
console.log('média téléchargé, on envoie le post')
|
||||||
configPost.image = filePathForDownloadedImage
|
configPost.image = filePathForDownloadedImage
|
||||||
|
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
|
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
console.log('pas dimage trouvée pour l URL ', firstPictureSource, err)
|
console.log('pas dimage trouvée pour l URL ', firstPictureSource, err)
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
@ -416,18 +420,18 @@ export function convertHTMLtoMD(htmlContent) {
|
|||||||
|
|
||||||
export function translateNode($) {
|
export function translateNode($) {
|
||||||
const elementsToTranslate = [
|
const elementsToTranslate = [
|
||||||
{tag: 'h1', mdTag: '##'},
|
{ tag: 'h1', mdTag: '##' },
|
||||||
{tag: 'h2', mdTag: '###'},
|
{ tag: 'h2', mdTag: '###' },
|
||||||
{tag: 'h3', mdTag: '####'},
|
{ tag: 'h3', mdTag: '####' },
|
||||||
{tag: 'h4', mdTag: '#####'},
|
{ tag: 'h4', mdTag: '#####' },
|
||||||
{tag: 'h5', mdTag: '######'},
|
{ tag: 'h5', mdTag: '######' },
|
||||||
{tag: 'p', mdTag: '\n\n'},
|
{ tag: 'p', mdTag: '\n\n' },
|
||||||
{tag: 'ul', preserveChildren: true, transformChild: ($child) => '\n- ' + $.text($child)},
|
{ tag: 'ul', preserveChildren: true, transformChild: ($child) => '\n- ' + $.text($child) },
|
||||||
{tag: 'ol', preserveChildren: true, transformChild: ($child, idx) => `\n${idx + 1}. ${$.text($child)}`},
|
{ tag: 'ol', preserveChildren: true, transformChild: ($child, idx) => `\n${idx + 1}. ${$.text($child)}` },
|
||||||
{tag: 'a', parseAttr: ('href', link => `[${link}](${link})`)},
|
{ tag: 'a', parseAttr: ('href', link => `[${link}](${link})`) },
|
||||||
{tag: 'strong', mdFormat: '$&'},
|
{ tag: 'strong', mdFormat: '$&' },
|
||||||
{tag: 'em', mdFormat: '_$&_'},
|
{ tag: 'em', mdFormat: '_$&_' },
|
||||||
{tag: 'code', mdFormat: '`$&`'},
|
{ tag: 'code', mdFormat: '`$&`' },
|
||||||
]
|
]
|
||||||
|
|
||||||
elementsToTranslate.forEach(element => {
|
elementsToTranslate.forEach(element => {
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
* nécessite d'avoir le fichier .env rempli.
|
* nécessite d'avoir le fichier .env rempli.
|
||||||
*/
|
*/
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path, {dirname} from 'path';
|
import path, { dirname } from 'path';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import {fileURLToPath} from 'url';
|
import { fileURLToPath } from 'url';
|
||||||
import {getSourceOfDescriptorPageContent} from "./osm_get_description_picture.mjs";
|
import { getSourceOfDescriptorPageContent } from "./osm_get_description_picture.mjs";
|
||||||
import sendPostMastodon, {downloadImage, randomIntFromInterval} from "./libs/utils.mjs";
|
import sendPostMastodon, { downloadImage, randomIntFromInterval } from "./libs/utils.mjs";
|
||||||
|
|
||||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
|
|
||||||
@ -35,6 +35,7 @@ const params = {
|
|||||||
prop: 'text',
|
prop: 'text',
|
||||||
section: 0
|
section: 0
|
||||||
};
|
};
|
||||||
|
const remplacedTitle = title.replace(' ', '_')
|
||||||
console.log('url de l article: ', `https://wiki.openstreetmap.org/wiki/` + title)
|
console.log('url de l article: ', `https://wiki.openstreetmap.org/wiki/` + title)
|
||||||
|
|
||||||
let message = ''
|
let message = ''
|
||||||
@ -49,8 +50,9 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
|
|||||||
image: `${process.cwd()}/assets/blog_posts_medias/assets/osm_post_${randomIntFromInterval(1, 5)}.jpg`,
|
image: `${process.cwd()}/assets/blog_posts_medias/assets/osm_post_${randomIntFromInterval(1, 5)}.jpg`,
|
||||||
message,
|
message,
|
||||||
}
|
}
|
||||||
|
let filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
|
||||||
if (download_description_src) {
|
if (download_description_src) {
|
||||||
let filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
|
// let filePathImage = ''
|
||||||
if (download_description_src) {
|
if (download_description_src) {
|
||||||
console.log("firstPictureSource found", download_description_src)
|
console.log("firstPictureSource found", download_description_src)
|
||||||
|
|
||||||
@ -58,15 +60,15 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
|
|||||||
console.log('on récupère l image de description : ', filePathImage)
|
console.log('on récupère l image de description : ', filePathImage)
|
||||||
downloadImage(download_description_src, filePathImage)
|
downloadImage(download_description_src, filePathImage)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
// suite du poste avec upload d'image
|
// suite du poste avec upload d'image
|
||||||
|
|
||||||
console.log('média téléchargé, on envoie le post')
|
console.log('média téléchargé, on envoie le post')
|
||||||
configPost.image = filePathImage;
|
configPost.image = filePathImage;
|
||||||
|
|
||||||
|
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
|
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
console.log('pas dimage trouvée pour l URL ', download_description_src, err)
|
console.log('pas dimage trouvée pour l URL ', download_description_src, err)
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
@ -80,42 +82,54 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log('::::::::::::: no image description')
|
console.log('::::::::::::: no image description')
|
||||||
|
filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
|
||||||
console.log('configPost.image', configPost.image)
|
console.log('configPost.image', configPost.image)
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
axios.get(wikiApiUrl, {params})
|
axios.get(wikiApiUrl, { params })
|
||||||
.then(response => {
|
.then(response => {
|
||||||
// console.log('wikiApiUrl', wikiApiUrl)
|
// console.log('wikiApiUrl', wikiApiUrl)
|
||||||
let keys = Object.keys(response.data)
|
let keys = Object.keys(response.data)
|
||||||
// console.log('keys', keys)
|
console.log('keys', keys)
|
||||||
const articleContent = response.data.parse.text['*'];
|
const articleContent = response.data.parse.text['*'];
|
||||||
|
|
||||||
let resultpicture = getSourceOfDescriptorPageContent(articleContent)
|
let resultpicture = getSourceOfDescriptorPageContent(articleContent)
|
||||||
|
|
||||||
// console.log('resultpicture', resultpicture)
|
console.log('resultpicture', resultpicture)
|
||||||
if (resultpicture === "pas d'image de description dans le HTML") {
|
if (resultpicture === "pas d'image de description dans le HTML") {
|
||||||
download_description_src = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
|
download_description_src = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
|
||||||
}
|
}
|
||||||
let firstParagraph;
|
let firstParagraph;
|
||||||
if (articleContent.includes('<p>')) {
|
if (articleContent.includes('<p>')) {
|
||||||
firstParagraph = articleContent.split('<p>')[1].split('</p>')[0];
|
firstParagraph = articleContent.split('<p>')[1]?.split('</p>')[0];
|
||||||
} else {
|
} else {
|
||||||
firstParagraph = articleContent.substring(0, 200);
|
firstParagraph = articleContent.substring(0, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sanitizer le texte
|
// Sanitizer le texte
|
||||||
const sanitizedText = firstParagraph.replace(/<\/?[^>]+(>|$)/g, '');
|
const sanitizedText = firstParagraph.replace(/<\/?[^>]+(>|$)/g, '');
|
||||||
const sanitizedTextWithoutEntities = sanitizedText.replace(/&#(\d+);/g, (match, code) => {
|
const sanitizedTextWithoutEntities = sanitizedText
|
||||||
return String.fromCharCode(code);
|
// const sanitizedTextWithoutEntities = sanitizedText.replace(/&#(\d+);/g, (match, code) => {
|
||||||
});
|
// return String.fromCharCode(code);
|
||||||
|
// });
|
||||||
|
|
||||||
console.log('image', download_description_src)
|
console.log('image', download_description_src)
|
||||||
console.log('-----------------')
|
console.log('-----------------')
|
||||||
// Générer le message
|
// Générer le message
|
||||||
message = `Le page #OSM du jour : ${title}.
|
const formules = [
|
||||||
https://wiki.openstreetmap.org/wiki/${title}
|
"La page #OSM du jour",
|
||||||
|
"Aujourd'hui sur le wiki #OSM",
|
||||||
|
"Le wiki #OSM a du talent",
|
||||||
|
"Lisons le fabuleux wiki #OSM",
|
||||||
|
"Ho la belle documentation #OSM",
|
||||||
|
"Le wiki #OSM vous présente"
|
||||||
|
];
|
||||||
|
const formule = formules[randomIntFromInterval(0, formules.length - 1)];
|
||||||
|
|
||||||
|
message = `${formule} : ${title}.
|
||||||
|
[https://wiki.openstreetmap.org/wiki/${remplacedTitle}](https://wiki.openstreetmap.org/wiki/${remplacedTitle})
|
||||||
|
|
||||||
${sanitizedTextWithoutEntities}
|
${sanitizedTextWithoutEntities}
|
||||||
|
|
||||||
|
@ -9,8 +9,8 @@ import rp from "request-promise";
|
|||||||
import $ from "cheerio";
|
import $ from "cheerio";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import sendPostMastodon, {downloadImage, randomIntFromInterval} from './libs/utils.mjs'
|
import sendPostMastodon, { downloadImage, randomIntFromInterval } from './libs/utils.mjs'
|
||||||
import {getSourceOfDescriptorPageContent} from "./osm_get_description_picture.mjs";
|
import { getSourceOfDescriptorPageContent } from "./osm_get_description_picture.mjs";
|
||||||
|
|
||||||
const __dirname = path.resolve();
|
const __dirname = path.resolve();
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ export default function getElementCartographique() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// aller chercher le lien
|
// aller chercher le lien
|
||||||
// si la clé est une description avec des espaces, faire un lien vers la Key
|
// si la clé est une description avec des espaces, faire un lien vers la Key
|
||||||
let pageLink = `FR:Tag:${configPost.key}=${configPost.value}`
|
let pageLink = `FR:Tag:${configPost.key}=${configPost.value}`
|
||||||
|
|
||||||
@ -284,8 +284,6 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
|
|||||||
|
|
||||||
let configPost = {
|
let configPost = {
|
||||||
author: 'curator',
|
author: 'curator',
|
||||||
// document.querySelector('.d_image img').attributes['src']
|
|
||||||
// image: '/home/tykayn/www/multi-account-post-schedule-mastodon/assets/osm_post_' + randomIntFromInterval(1 , 5) + '.jpg',
|
|
||||||
image: `${process.cwd()}/assets/blog_posts_medias/assets/osm_post_${randomIntFromInterval(1, 5)}.jpg`,
|
image: `${process.cwd()}/assets/blog_posts_medias/assets/osm_post_${randomIntFromInterval(1, 5)}.jpg`,
|
||||||
message,
|
message,
|
||||||
}
|
}
|
||||||
@ -298,14 +296,14 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
|
|||||||
console.log('on récupère l image de description : ', filePathImage)
|
console.log('on récupère l image de description : ', filePathImage)
|
||||||
downloadImage(download_description_src, filePathImage)
|
downloadImage(download_description_src, filePathImage)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
// suite du poste avec upload d'image
|
// suite du poste avec upload d'image
|
||||||
|
|
||||||
console.log('média téléchargé, on envoie le post')
|
console.log('média téléchargé, on envoie le post')
|
||||||
configPost.image = filePathImage;
|
configPost.image = filePathImage;
|
||||||
|
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
|
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
console.log('pas dimage trouvée pour l URL ', download_description_src, err)
|
console.log('pas dimage trouvée pour l URL ', download_description_src, err)
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
@ -315,6 +313,8 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
|
|||||||
console.log('erreur avec cette URL ', download_description_src, err)
|
console.log('erreur avec cette URL ', download_description_src, err)
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
console.log(' pas de download_description_src', download_description_src)
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user