diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6010a2a..b67b811 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -36,7 +36,7 @@ jobs: - name: setup python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.10' - name: apt-get run: | @@ -69,7 +69,7 @@ jobs: - name: setup node uses: actions/setup-node@v4 with: - node-version: 14.x + node-version: '14' - run: git config --global url."https://git@".insteadOf git:// - name: npm ci diff --git a/client/package-lock.json b/client/package-lock.json index 02811f4..4ba4ca9 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -24,25 +24,25 @@ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" }, "@babel/parser": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", - "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", "requires": { - "@babel/types": "^7.26.5" + "@babel/types": "^7.26.7" } }, "@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", + "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", "requires": { "regenerator-runtime": "^0.14.0" } }, "@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", "requires": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -85,6 +85,58 @@ "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz", "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==" }, + "@sourcefabric/common": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/@sourcefabric/common/-/common-0.0.43.tgz", + "integrity": "sha512-45UWnNsc026jztBDI7u6HHmLqbJaZsIXV7Uui74W4ZydcuDFUJZSIREoQdrbkY1JU1zkNe5LoweukslYx7VI0A==", + "requires": { + "date-fns": "2.7.0", + "lodash": "4.17.19", + "primereact": "^6.0.2", + "react": "16.9.0", + "react-dom": "16.9.0", + "react-sortable-hoc": "^1.11.0" + }, + "dependencies": { + "date-fns": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.7.0.tgz", + "integrity": "sha512-wxYp2PGoUDN5ZEACc61aOtYFvSsJUylIvCjpjDOqM1UDaKIIuMJ9fAnMYFHV3TQaDpfTVxhwNK/GiCaHKuemTA==" + } + } + }, + "@sourcefabric/draft-js": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/@sourcefabric/draft-js/-/draft-js-0.11.5.tgz", + "integrity": "sha512-LPCTm374iUo1PqzF60qXL0397H7TYd6tbHcLCLhZEoCtnyLWdjz7o4DBtTg6AQ3mthtvCVCPnrtWtPELIZ86gA==", + "requires": { + "fbjs": "^1.0.0", + "immutable": "3.8.2", + "object-assign": "^4.1.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + } + } + }, "@superdesk/build-tools": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/@superdesk/build-tools/-/build-tools-1.0.19.tgz", @@ -833,6 +885,11 @@ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==" }, + "async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1015,15 +1072,6 @@ "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -1387,9 +1435,9 @@ } }, "caniuse-db": { - "version": "1.0.30001692", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001692.tgz", - "integrity": "sha512-yrbj9o81/cUIK4zZUK9yztbhjqVj7xBvM59UwfuQyd2/5dx6p5PbhlG3sQr4a6LLTZjfd97Zu506jD8skOrHcQ==" + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001695.tgz", + "integrity": "sha512-RLiLjmQZv3Aez1CeHJ7RYSOv7JvPnWAieufjue0FWA0kXXWaUvoYU3ui2htv/invgF0px6AjwBUKdBrJDxidUQ==" }, "caseless": { "version": "0.12.0", @@ -2473,37 +2521,6 @@ "no-case": "^2.2.0" } }, - "draft-js": { - "version": "github:superdesk/draft-js#c9c340901078321c2a8b509e573ca61240b6e529", - "from": "github:superdesk/draft-js#master", - "requires": { - "fbjs": "^1.0.0", - "immutable": "3.8.2", - "object-assign": "^4.1.1" - }, - "dependencies": { - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, - "fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", - "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", - "requires": { - "core-js": "^2.4.1", - "fbjs-css-vars": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - } - } - }, "draft-js-export-html": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/draft-js-export-html/-/draft-js-export-html-1.3.3.tgz", @@ -2572,9 +2589,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-to-chromium": { - "version": "1.5.83", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz", - "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==" + "version": "1.5.88", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.88.tgz", + "integrity": "sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==" }, "elliptic": { "version": "6.6.1", @@ -3567,12 +3584,6 @@ "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==" }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -3793,11 +3804,11 @@ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" }, "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", + "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", "requires": { - "is-callable": "^1.1.3" + "is-callable": "^1.2.7" } }, "for-in": { @@ -5278,10 +5289,11 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-async-function": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", - "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "requires": { + "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", @@ -10047,11 +10059,13 @@ } }, "superdesk-core": { - "version": "github:superdesk/superdesk-client-core#5c80d6dc1e9584a3d09220a627656cd90e223725", - "from": "github:superdesk/superdesk-client-core#5c80d6dc1e9584a3d09220a627656cd90e223725", + "version": "github:superdesk/superdesk-client-core#01f6406a5487f4b9564a45667c745447d4c7723c", + "from": "github:superdesk/superdesk-client-core#develop", "requires": { "@metadata/exif": "github:superdesk/exif#431066d", "@popperjs/core": "2.10.2", + "@sourcefabric/common": "0.0.43", + "@sourcefabric/draft-js": "^0.11.5", "@superdesk/common": "0.0.17", "@types/angular": "1.6.50", "@types/draft-js": "0.11.5", @@ -10082,7 +10096,6 @@ "date-fns": "^2.16.0", "diff-match-patch": "1.0.0", "docs-soap": "github:superdesk/docs-soap#v1", - "draft-js": "github:superdesk/draft-js#master", "draft-js-export-html": "1.3.3", "eslint": "6.6.0", "eslint-plugin-react": "7.16.0", @@ -10144,7 +10157,7 @@ "sass-loader": "6.0.6", "shortid": "2.2.8", "style-loader": "0.20.2", - "superdesk-ui-framework": "4.0.4", + "superdesk-ui-framework": "4.0.11", "ts-loader": "3.5.0", "typescript": "4.9.5", "uuid": "8.3.1", @@ -10154,8 +10167,8 @@ } }, "superdesk-planning": { - "version": "github:superdesk/superdesk-planning#f5ad205835eb976b3d93c8a13a0521e2e8738101", - "from": "github:superdesk/superdesk-planning#f5ad205835eb976b3d93c8a13a0521e2e8738101", + "version": "github:superdesk/superdesk-planning#1c20237b5b52c67cd4c1dfa7e6c2960f7f209862", + "from": "github:superdesk/superdesk-planning#feature/multiple-events-in-planning", "requires": { "@superdesk/common": "0.0.17", "dompurify": "^1.0.11", @@ -10221,9 +10234,9 @@ } }, "superdesk-ui-framework": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/superdesk-ui-framework/-/superdesk-ui-framework-4.0.4.tgz", - "integrity": "sha512-mm36orxkDHDYM3ID36q6fB9ImHwV2CvgEIAXmZD0BOpfy+4Yc0+7GLfuur0Zf1Vs7LIutcoe4ljsSQ0RdB9KDQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/superdesk-ui-framework/-/superdesk-ui-framework-4.0.11.tgz", + "integrity": "sha512-TFy0FazjZOfgZYCBEuBZiCE+nzsgFojljzhebqSKDOYQBY3grxFv8ZL8S/j8Og4XdDH3QTpUXYOI6DFHdXx4wQ==", "requires": { "@popperjs/core": "^2.4.0", "@superdesk/common": "0.0.28", @@ -10733,9 +10746,9 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" }, "ua-parser-js": { - "version": "0.7.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.39.tgz", - "integrity": "sha512-IZ6acm6RhQHNibSt7+c09hhvsKy9WUr4DVbeq9U8o71qxyYtJpQeDxQnMrVqnIFMLcQjHO0I9wgfO2vIahht4w==" + "version": "0.7.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.40.tgz", + "integrity": "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==" }, "uglify-js": { "version": "2.6.4", @@ -11176,7 +11189,6 @@ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "optional": true, "requires": { - "bindings": "^1.5.0", "nan": "^2.12.1" } }, @@ -11702,7 +11714,6 @@ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "optional": true, "requires": { - "bindings": "^1.5.0", "nan": "^2.12.1" } }, diff --git a/server/requirements.in b/server/requirements.in index 741af49..9e78daa 100644 --- a/server/requirements.in +++ b/server/requirements.in @@ -1,5 +1,5 @@ gunicorn honcho -git+https://github.com/superdesk/superdesk-core.git@release/2.8#egg=superdesk-core +git+https://github.com/superdesk/superdesk-core.git@develop#egg=superdesk-core git+https://github.com/superdesk/superdesk-planning.git@feature/multiple-events-in-planning#egg=superdesk-planning diff --git a/server/requirements.txt b/server/requirements.txt index 0368ddf..701dc82 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -4,43 +4,43 @@ # # pip-compile requirements.in # -amqp==5.2.0 +amqp==5.3.1 # via kombu arrow==1.3.0 # via # eve-elastic # superdesk-core -async-timeout==4.0.3 +async-timeout==5.0.1 # via redis -authlib==0.14.3 +authlib==1.4.0 # via superdesk-core babel==2.16.0 # via flask-babel -bcrypt==4.1.3 +bcrypt==4.2.1 # via superdesk-core -billiard==4.2.0 +billiard==4.2.1 # via celery -blinker==1.8.2 +blinker==1.9.0 # via # elastic-apm # flask-mail # raven # superdesk-core -boto3==1.35.18 +boto3==1.36.6 # via superdesk-core -botocore==1.35.18 +botocore==1.36.6 # via # boto3 # s3transfer -cachetools==5.5.0 +cachetools==5.5.1 # via flask-oidc-ex celery[redis]==5.4.0 # via superdesk-core -cerberus==1.3.5 +cerberus==1.3.7 # via # eve # superdesk-core -certifi==2024.8.30 +certifi==2024.12.14 # via # elastic-apm # elasticsearch @@ -51,11 +51,11 @@ chardet==5.2.0 # via # reportlab # superdesk-core -charset-normalizer==3.3.2 +charset-normalizer==3.4.1 # via requests -ciso8601==2.3.1 +ciso8601==2.3.2 # via eve-elastic -click==8.1.7 +click==8.1.8 # via # celery # click-didyoumean @@ -69,13 +69,13 @@ click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -croniter==3.0.3 +croniter==6.0.0 # via superdesk-core -cryptography==43.0.1 +cryptography==44.0.0 # via # authlib # jwcrypto -deepdiff==8.0.1 +deepdiff==8.1.1 # via superdesk-planning draftjs-exporter[lxml]==2.1.0 # via superdesk-core @@ -83,13 +83,13 @@ ecs-logging==2.2.0 # via elastic-apm elastic-apm[flask]==6.23.0 # via superdesk-core -elasticsearch==7.13.4 +elasticsearch==7.17.12 # via # eve-elastic # superdesk-core -eve==2.1.0 +eve==2.2.0 # via superdesk-core -eve-elastic==7.4.1 +eve-elastic==7.4.3 # via superdesk-core events==0.3 # via eve @@ -126,7 +126,7 @@ httplib2==0.22.0 # via oauth2client icalendar==5.0.13 # via superdesk-planning -idna==3.8 +idna==3.10 # via requests itsdangerous==1.1.0 # via @@ -146,19 +146,19 @@ jwcrypto==1.5.6 # via # flask-oidc-ex # python-jwt -kombu==5.4.1 +kombu==5.4.2 # via # celery # superdesk-core ldap3==2.9.1 # via superdesk-core -lxml==5.2.2 +lxml==5.3.0 # via # draftjs-exporter # lxml-html-clean # superdesk-core # xmlsec -lxml-html-clean==0.2.2 +lxml-html-clean==0.4.1 # via superdesk-core markupsafe==2.0.1 # via @@ -170,15 +170,15 @@ oauth2client==4.1.3 # via flask-oidc-ex oauthlib==3.2.2 # via requests-oauthlib -orderly-set==5.2.2 +orderly-set==5.2.3 # via deepdiff -packaging==24.1 +packaging==24.2 # via gunicorn -pillow==10.4.0 +pillow==11.1.0 # via # reportlab # superdesk-core -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.50 # via click-repl pyasn1==0.6.1 # via @@ -190,7 +190,7 @@ pyasn1-modules==0.4.1 # via oauth2client pycparser==2.22 # via cffi -pyjwt==2.8.0 +pyjwt==2.10.1 # via superdesk-core pymemcache==4.0.0 # via superdesk-core @@ -199,7 +199,7 @@ pymongo==3.11.4 # eve # mongolock # superdesk-core -pyparsing==3.1.4 +pyparsing==3.2.1 # via httplib2 python-dateutil==2.9.0.post0 # via @@ -227,13 +227,13 @@ pyyaml==6.0.2 # via superdesk-core raven[flask]==6.10.0 # via superdesk-core -redis==5.0.8 +redis==5.2.1 # via # celery # superdesk-core -regex==2024.7.24 +regex==2024.11.6 # via superdesk-core -reportlab==4.2.2 +reportlab==4.2.5 # via superdesk-core requests==2.32.3 # via @@ -244,29 +244,29 @@ requests-oauthlib==2.0.0 # via python-twitter rsa==4.9 # via oauth2client -s3transfer==0.10.2 +s3transfer==0.11.2 # via boto3 sgmllib3k==1.0.0 # via feedparser simplejson==3.19.3 # via eve -six==1.16.0 +six==1.17.0 # via # flask-oidc-ex # oauth2client # python-dateutil -superdesk-core @ git+https://github.com/superdesk/superdesk-core.git@release/2.8 +superdesk-core @ git+https://github.com/superdesk/superdesk-core.git@develop # via -r requirements.in superdesk-planning @ git+https://github.com/superdesk/superdesk-planning.git@feature/multiple-events-in-planning # via -r requirements.in -types-python-dateutil==2.9.0.20240906 +types-python-dateutil==2.9.0.20241206 # via arrow typing-extensions==4.12.2 + # via jwcrypto +tzdata==2025.1 # via - # jwcrypto - # superdesk-core -tzdata==2024.1 - # via celery + # celery + # kombu tzlocal==2.1 # via superdesk-core unidecode==1.3.8 @@ -285,13 +285,13 @@ vine==5.1.0 # kombu wcwidth==0.2.13 # via prompt-toolkit -websockets==10.3 +websockets==13.1 # via superdesk-core werkzeug==1.0.1 # via # flask # superdesk-core -wrapt==1.16.0 +wrapt==1.17.2 # via elastic-apm xmlsec==1.3.14 # via superdesk-core diff --git a/server/settings.py b/server/settings.py index 9bfe892..87438ae 100644 --- a/server/settings.py +++ b/server/settings.py @@ -14,85 +14,105 @@ def env(variable, fallback_value=None): - env_value = os.environ.get(variable, '') + env_value = os.environ.get(variable, "") if len(env_value) == 0: return fallback_value else: if env_value == "__EMPTY__": - return '' + return "" else: return env_value ABS_PATH = str(Path(__file__).resolve().parent) -init_data = Path(ABS_PATH) / 'data' +init_data = Path(ABS_PATH) / "data" if init_data.exists(): INIT_DATA_PATH = init_data RENDITIONS = { - 'picture': { - 'thumbnail': {'width': 220, 'height': 120}, - 'viewImage': {'width': 640, 'height': 640}, - 'baseImage': {'width': 1400, 'height': 1400}, + "picture": { + "thumbnail": {"width": 220, "height": 120}, + "viewImage": {"width": 640, "height": 640}, + "baseImage": {"width": 1400, "height": 1400}, + }, + "avatar": { + "thumbnail": {"width": 60, "height": 60}, + "viewImage": {"width": 200, "height": 200}, }, - 'avatar': { - 'thumbnail': {'width': 60, 'height': 60}, - 'viewImage': {'width': 200, 'height': 200}, - } } -WS_HOST = env('WSHOST', '0.0.0.0') -WS_PORT = env('WSPORT', '5100') +WS_HOST = env("WSHOST", "0.0.0.0") +WS_PORT = env("WSPORT", "5100") -LOG_CONFIG_FILE = env('LOG_CONFIG_FILE', 'logging_config.yml') +LOG_CONFIG_FILE = env("LOG_CONFIG_FILE", "logging_config.yml") -REDIS_URL = env('REDIS_URL', 'redis://localhost:6379') -if env('REDIS_PORT'): - REDIS_URL = env('REDIS_PORT').replace('tcp:', 'redis:') -BROKER_URL = env('CELERY_BROKER_URL', REDIS_URL) +REDIS_URL = env("REDIS_URL", "redis://localhost:6379") +if env("REDIS_PORT"): + REDIS_URL = env("REDIS_PORT").replace("tcp:", "redis:") +BROKER_URL = env("CELERY_BROKER_URL", REDIS_URL) -SECRET_KEY = env('SECRET_KEY', '') +SECRET_KEY = env("SECRET_KEY", "") NO_TAKES = True DEFAULT_TIMEZONE = "Europe/Helsinki" SCHEMA = { - 'text': { - 'slugline': {}, - 'headline': {}, - 'language': {}, - 'genre': {}, - 'urgency': {}, - 'priority': {}, - 'anpa_category': {}, - 'subject': {}, - 'ednote': {}, - 'abstract': {}, - 'byline': {}, - 'dateline': {}, - 'body_html': {}, - 'sign_off': {}, - 'authors': {}, - 'place': {}, - 'usageterms': {}, - 'keywords': {}, + "text": { + "slugline": {}, + "headline": {}, + "language": {}, + "genre": {}, + "urgency": {}, + "priority": {}, + "anpa_category": {}, + "subject": {}, + "ednote": {}, + "abstract": {}, + "byline": {}, + "dateline": {}, + "body_html": {}, + "sign_off": {}, + "authors": {}, + "place": {}, + "usageterms": {}, + "keywords": {}, } } QCODE_MISSING_VOC = "create" INSTALLED_APPS = [ - 'stt.parser', - 'stt.stt_events_ml', - 'stt.stt_planning_ml', - 'stt.signal_hooks', - 'planning', - 'apps.languages', + "stt.parser", + "stt.stt_events_ml", + "stt.stt_planning_ml", + "stt.signal_hooks", + "planning", + "apps.languages", ] -HTML_TAGS_WHITELIST = ('h1', 'h2', 'h3', 'h4', 'h6', 'blockquote', 'figure', 'ul', 'ol', 'li', 'div', 'p', 'em', - 'strong', 'i', 'b', 'a', 'pre') +HTML_TAGS_WHITELIST = ( + "h1", + "h2", + "h3", + "h4", + "h6", + "blockquote", + "figure", + "ul", + "ol", + "li", + "div", + "p", + "em", + "strong", + "i", + "b", + "a", + "pre", +) PLANNING_EVENT_LINK_METHOD = "many_secondary" + +PLANNING_PLANNING_ALL_DAY = True