diff --git a/.github/workflows/license-check.yml b/.github/workflows/license-check.yml index 5494dec8fd5392b9d90d310d848ef888ff74da5b..3c569031977ae0955679485486b0b268e08a2ad2 100644 --- a/.github/workflows/license-check.yml +++ b/.github/workflows/license-check.yml @@ -19,7 +19,7 @@ jobs: FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }} run: | set -eo pipefail - if [[ "${{github.event_name}}" != "pull_request" ]]; then + if [[ "${{github.event_name}}" != "pull_request" ]]; then ./scripts/fossa.sh exit 0 fi @@ -30,7 +30,7 @@ jobs: cat<<EOF CHANGED FILES: $FILES - + EOF if [[ "${FILES}" =~ (.*package*\.json|requirements.*\.txt|setup\.py) ]]; then diff --git a/.github/workflows/prefer_typescript.yml b/.github/workflows/prefer_typescript.yml index 2572ef3b15fe87bfd399de6e127603775205edcc..d2fff6e4565b0404107cd014077ef04fc6cabce4 100644 --- a/.github/workflows/prefer_typescript.yml +++ b/.github/workflows/prefer_typescript.yml @@ -35,7 +35,7 @@ jobs: with: msg: | ### WARNING: Prefer TypeScript - + Looks like your PR contains new `.js` or `.jsx` files: ``` diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 22a6a0c1e6c10d42a73397d566bf78ba660eaee5..39b74e05b00f094891905a208f216d7e48f95832 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,4 +39,5 @@ repos: - id: check-docstring-first - id: check-added-large-files - id: check-yaml + exclude: ^helm/superset/templates/ - id: debug-statements diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0640aecffc17199f5ee6df6ef771be004567e48a..bd0e1ea539e0d6a4daac9a8921a5977183b6f457 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -705,7 +705,7 @@ See [`superset-frontend/cypress_build.sh`](https://github.com/apache/incubator-s ### Storybook -Superset includes a [Storybook](https://storybook.js.org/) to preview the layout/styling of various Superset components, and variations thereof. To open and view the Storybook: +Superset includes a [Storybook](https://storybook.js.org/) to preview the layout/styling of various Superset components, and variations thereof. To open and view the Storybook: ```bash cd superset-frontend diff --git a/DISCLAIMER b/DISCLAIMER index 3cf9282c3c329319b995df9b99511dba75e3fcbc..10a3408f679e8a25551ada02c873c029adc2785a 100644 --- a/DISCLAIMER +++ b/DISCLAIMER @@ -8,4 +8,4 @@ have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully -endorsed by the ASF. \ No newline at end of file +endorsed by the ASF. diff --git a/INTHEWILD.md b/INTHEWILD.md index c716221a3b277366ce9942eecb47fab989336c04..7ffa19464f45147656e511602978028605fc4c11 100644 --- a/INTHEWILD.md +++ b/INTHEWILD.md @@ -27,7 +27,7 @@ Join our growing community! ### Sharing Economy -- [Airbnb](https://github.com/airbnb) +- [Airbnb](https://github.com/airbnb) - [Faasos](http://faasos.com/) [@shashanksingh] - [Hostnfly](https://www.hostnfly.com/) [@alexisrosuel] - [Lime](https://www.limebike.com/) [@cxmcc] @@ -37,11 +37,11 @@ Join our growing community! - [Aktia Bank plc](https://www.aktia.com) [@villebro] - [American Express](https://www.americanexpress.com) [@TheLastSultan] - [Capital Service S.A.](http://capitalservice.pl) [@pkonarzewski] -- [Clark.de](http://clark.de/) +- [Clark.de](http://clark.de/) ### Gaming - [Digit Game Studios](https://www.digitgaming.com/) -- [Popoko VM Games Studio](https://popoko.live) +- [Popoko VM Games Studio](https://popoko.live) ### E-Commerce - [AiHello](https://www.aihello.com) [@ganeshkrishnan1] @@ -52,7 +52,7 @@ Join our growing community! - [HuiShouBao](http://www.huishoubao.com/) [@Yukinoshita-Yukino] - [Now](https://www.now.vn/) [@davidkohcw] - [Qunar](https://www.qunar.com/) [@flametest] -- [Rakuten Viki](https://www.viki.com) +- [Rakuten Viki](https://www.viki.com) - [Shopee](https://shopee.sg) [@xiaohanyu] - [Shopkick](https://www.shopkick.com) [@LAlbertalli] - [Tails.com](https://tails.com) [@alanmcruickshank] @@ -66,25 +66,25 @@ Join our growing community! - [Cloudsmith](https://cloudsmith.io) [@alancarson] - [CnOvit](http://www.cnovit.com/) [@xieshaohu] - [Deepomatic](https://deepomatic.com/) [@Zanoellia] -- [Dial Once](https://www.dial-once.com/) +- [Dial Once](https://www.dial-once.com/) - [Dremio](https://dremio.com) [@narendrans] - [ELMO Cloud HR & Payroll](https://elmosoftware.com.au/) - [Endress+Hauser](http://www.endress.com/) [@rumbin] -- [FBK - ICT center](http://ict.fbk.eu) +- [FBK - ICT center](http://ict.fbk.eu) - [GfK Data Lab](http://datalab.gfk.com) [@mherr] - [GrowthSimple](https://growthsimple.ai/) - [Intercom](https://www.intercom.com/) [@kate-gallo] -- [jampp](https://jampp.com/) +- [jampp](https://jampp.com/) - [KonfĂo](http://konfio.mx) [@uis-rodriguez] - [Myra Labs](http://www.myralabs.com/) [@viksit] - [Nielsen](http://www.nielsen.com/) [@amitNielsen] - [Ona](https://ona.io) [@pld] - [Peak AI](https://www.peak.ai/) [@azhar22k] - [PeopleDoc](https://www.people-doc.com) [@rodo] -- [Preset, Inc.](https://preset.io) +- [Preset, Inc.](https://preset.io) - [Pronto Tools](http://www.prontotools.io) [@zkan] - [PubNub](https://pubnub.com) [@jzucker2] -- [Reward Gateway](https://www.rewardgateway.com) +- [Reward Gateway](https://www.rewardgateway.com) - [ScopeAI](https://www.getscopeai.com) [@iloveluce] - [Showmax](https://tech.showmax.com) [@bobek] - [source{d}](https://www.sourced.tech) [@marnovo] @@ -102,11 +102,11 @@ Join our growing community! - [Douban](https://www.douban.com/) [@luchuan] - [Kuaishou](https://www.kuaishou.com/) [@zhaoyu89730105] - [Netflix](https://www.netflix.com/) -- [TME QQMUSIC/WESING](https://www.tencentmusic.com/) +- [TME QQMUSIC/WESING](https://www.tencentmusic.com/) - [Zaihang](http://www.zaih.com/) ### Education -- [Brilliant.org](https://brilliant.org/) +- [Brilliant.org](https://brilliant.org/) - [Udemy](https://www.udemy.com/) [@sungjuly] - [VIPKID](https://www.vipkid.com.cn/) [@illpanda] @@ -120,14 +120,13 @@ Join our growing community! - [Amino](https://amino.com) [@shkr] - [Living Goods](https://www.livinggoods.org) [@chelule] - [Maieutical Labs](https://maieuticallabs.it) [@xrmx] -- [QPID Health](http://www.qpidhealth.com/) +- [QPID Health](http://www.qpidhealth.com/) - [TrustMedis](https://trustmedis.com) [@famasya] - [WeSure](https://www.wesure.cn/) ### Others - - [Grassroot](https://www.grassrootinstitute.org/) + - [Grassroot](https://www.grassrootinstitute.org/) - [komoot](https://www.komoot.com/) [@christophlingg] - - [Let's Roam](https://www.letsroam.com/) - - [Twitter](https://twitter.com/) - - [Yahoo!](https://yahoo.com/) - + - [Let's Roam](https://www.letsroam.com/) + - [Twitter](https://twitter.com/) + - [Yahoo!](https://yahoo.com/) diff --git a/LICENSE.txt b/LICENSE.txt index bc58fdc9ddbfc29efa6e06d8cd282f46cf92f7ed..56313ab5a54a163e7d46224cb5470a814c3a2436 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -213,4 +213,4 @@ Third party SIL Open Font License v1.1 (OFL-1.1) ======================================================================== (SIL OPEN FONT LICENSE Version 1.1) The Inter font family (https://github.com/rsms/inter) -(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode) \ No newline at end of file +(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode) diff --git a/docker/README.md b/docker/README.md index caed1a7b03566d6214088e0d46dd2ae026ae20ba..0579f1051300b8d36a16e75e611c3988428cef99 100644 --- a/docker/README.md +++ b/docker/README.md @@ -19,7 +19,7 @@ under the License. # Getting Started with Superset using Docker -Docker is an easy way to get started with Superset. +Docker is an easy way to get started with Superset. ## Prerequisites @@ -28,8 +28,8 @@ Docker is an easy way to get started with Superset. ## Configuration -The `/app/pythonpath` folder is mounted from [./docker/pythonpath_dev](./docker/pythonpath_dev) -which contains a base configuration [./docker/pythonpath/superset_config.py](./docker/pythonpath/superset_config.py) +The `/app/pythonpath` folder is mounted from [./docker/pythonpath_dev](./docker/pythonpath_dev) +which contains a base configuration [./docker/pythonpath/superset_config.py](./docker/pythonpath/superset_config.py) intended for use with local development. ### Local overrides @@ -62,7 +62,7 @@ To run the container, simply run: docker-compose up ``` -After several minutes for superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088) +After several minutes for superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088) to start your journey. ## Developing diff --git a/docs/import_export_datasources.rst b/docs/import_export_datasources.rst index 9c786cef807c4c33bb9e592b28c293556765d040..29ebff6ccda31a7cd7de0ee11e3128fe63b58b19 100644 --- a/docs/import_export_datasources.rst +++ b/docs/import_export_datasources.rst @@ -122,4 +122,3 @@ by saving the following YAML to file and then running the ``import_datasources`` columns: - column_name: ds verbose_name: datetime - diff --git a/docs/security.rst b/docs/security.rst index 29afdce5fed931d2341eb825c3c96702e6b4bb57..ca99457b0f9293e29131f1e238561e0439f1e728 100644 --- a/docs/security.rst +++ b/docs/security.rst @@ -159,21 +159,21 @@ permissions that were attributed. Restricting access to a subset of a particular table """""""""""""""""""""""""""""""""""""""""""""""""""" -Using ``Row level security filters`` (under the ``Security`` menu) you can create -filters that are assigned to a particular table, as well as a set of roles. -Say people in your finance department should only have access to rows where -``department = "finance"``. You could create a ``Row level security filter`` -with that clause, and assign it to your ``Finance`` role, as well as the +Using ``Row level security filters`` (under the ``Security`` menu) you can create +filters that are assigned to a particular table, as well as a set of roles. +Say people in your finance department should only have access to rows where +``department = "finance"``. You could create a ``Row level security filter`` +with that clause, and assign it to your ``Finance`` role, as well as the applicable table. -The ``clause`` field can contain arbitrary text which is then added to the generated -SQL statement's ``WHERE`` clause. So you could even do something like create a -filter for the last 30 days and apply it to a specific role, with a clause like -``date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)``. It can also support multiple -conditions: ``client_id = 6 AND advertiser="foo"``, etc. - -All relevant ``Row level security filters`` will be ANDed together, so it's -possible to create a situation where two roles conflict in such a way as to -limit a table subset to empty. For example, the filters ``client_id=4`` and -and ``client_id=5``, applied to a role, will result in users of that role having -``client_id=4 AND client_id=5`` added to their query, which can never be true. \ No newline at end of file +The ``clause`` field can contain arbitrary text which is then added to the generated +SQL statement's ``WHERE`` clause. So you could even do something like create a +filter for the last 30 days and apply it to a specific role, with a clause like +``date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)``. It can also support multiple +conditions: ``client_id = 6 AND advertiser="foo"``, etc. + +All relevant ``Row level security filters`` will be ANDed together, so it's +possible to create a situation where two roles conflict in such a way as to +limit a table subset to empty. For example, the filters ``client_id=4`` and +and ``client_id=5``, applied to a role, will result in users of that role having +``client_id=4 AND client_id=5`` added to their query, which can never be true. diff --git a/helm/superset/requirements.yaml b/helm/superset/requirements.yaml index 1f47d5a082b40493b279e0096b8b2a1211aedc08..60bcc42b50b05506e9247e7bac735db963fc6979 100644 --- a/helm/superset/requirements.yaml +++ b/helm/superset/requirements.yaml @@ -22,4 +22,4 @@ dependencies: - name: redis version: 10.3.4 repository: https://kubernetes-charts.storage.googleapis.com/ - condition: redis.enabled \ No newline at end of file + condition: redis.enabled diff --git a/helm/superset/templates/secret-superset-config.yaml b/helm/superset/templates/secret-superset-config.yaml index 604bb200124d59ef1e2dd23aa4dea2e3b8d0ef73..281ad9cf0360ce99e450a2294a4aa5747eaf84de 100644 --- a/helm/superset/templates/secret-superset-config.yaml +++ b/helm/superset/templates/secret-superset-config.yaml @@ -24,7 +24,7 @@ metadata: release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" type: Opaque -data: +data: superset_config.py: {{ include "superset-config" . | b64enc }} superset_init.sh: {{ tpl .Values.init.initscript . | b64enc }} superset_bootstrap.sh: {{ include "superset-bootstrap" . | b64enc }} diff --git a/requirements-dev.txt b/requirements-dev.txt index aaf6a99e9ff9622c1d472392dcb7bbcf8b46c57b..d68a17b010a38e03b9f9c915036c83c830438aad 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -39,4 +39,3 @@ tox==3.11.1 pillow==7.0.0 openpyxl==3.0.3 # Pandas use openpyxl to write excel format(using in unittes) xlrd==1.2.0 - diff --git a/scripts/permissions_cleanup.py b/scripts/permissions_cleanup.py index 8c50cd0078f72065421efda36227377fdaf21238..c37d124456d1e5763081b91eaca72a9ab4e4e803 100644 --- a/scripts/permissions_cleanup.py +++ b/scripts/permissions_cleanup.py @@ -22,7 +22,7 @@ from superset import sm def cleanup_permissions(): # 1. Clean up duplicates. pvms = sm.get_session.query(sm.permissionview_model).all() - print('# of permission view menues is: {}'.format(len(pvms))) + print("# of permission view menues is: {}".format(len(pvms))) pvms_dict = defaultdict(list) for pvm in pvms: pvms_dict[(pvm.permission, pvm.view_menu)].append(pvm) @@ -39,7 +39,7 @@ def cleanup_permissions(): sm.get_session.commit() pvms = sm.get_session.query(sm.permissionview_model).all() - print('STage 1: # of permission view menues is: {}'.format(len(pvms))) + print("STage 1: # of permission view menues is: {}".format(len(pvms))) # 2. Clean up None permissions or view menues pvms = sm.get_session.query(sm.permissionview_model).all() @@ -49,7 +49,7 @@ def cleanup_permissions(): sm.get_session.commit() pvms = sm.get_session.query(sm.permissionview_model).all() - print('Stage 2: # of permission view menues is: {}'.format(len(pvms))) + print("Stage 2: # of permission view menues is: {}".format(len(pvms))) # 3. Delete empty permission view menues from roles roles = sm.get_session.query(sm.role_model).all() diff --git a/superset-frontend/.storybook/main.js b/superset-frontend/.storybook/main.js index bb950c4355c463dd05a9d4c80f6f07c8a7afeffb..cf65d312db9017c09151df68589814efcdeb1df3 100644 --- a/superset-frontend/.storybook/main.js +++ b/superset-frontend/.storybook/main.js @@ -38,4 +38,4 @@ module.exports = { }, plugins: [...config.plugins, ...customConfig.plugins], }), -}; \ No newline at end of file +}; diff --git a/superset-frontend/.storybook/preview.jsx b/superset-frontend/.storybook/preview.jsx index ac0f4f8f60adc134c935abf621a8dd92c3c2ff69..ee86557f142da027753def2a9b6c5e9acf1ad49c 100644 --- a/superset-frontend/.storybook/preview.jsx +++ b/superset-frontend/.storybook/preview.jsx @@ -29,4 +29,4 @@ const themeDecorator = storyFn => ( ); addDecorator(jsxDecorator); -addDecorator(themeDecorator); \ No newline at end of file +addDecorator(themeDecorator); diff --git a/superset-frontend/fonts/FiraCode/specimen.less b/superset-frontend/fonts/FiraCode/specimen.less index 03d7b8989b88524db93ba1337273acb4dd53bb63..126496f81dd9213739959cf0b1323771142e2cc5 100644 --- a/superset-frontend/fonts/FiraCode/specimen.less +++ b/superset-frontend/fonts/FiraCode/specimen.less @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ - + @font-face { font-family: 'Fira Code'; src: url('woff2/FiraCode-Light.woff2') format('woff2'), diff --git a/superset-frontend/images/icons/cancel-x.svg b/superset-frontend/images/icons/cancel-x.svg index a1070fa51d14525760da2ccacb12e5014d74a960..0f1e3376863d4929957b60487a6bb8b69c2a370e 100644 Binary files a/superset-frontend/images/icons/cancel-x.svg and b/superset-frontend/images/icons/cancel-x.svg differ diff --git a/superset-frontend/images/icons/checkbox-half.svg b/superset-frontend/images/icons/checkbox-half.svg index dd25b2b2ee33e17bf3ffc60b96f44d08d2610b8d..50411b421591fb6d73745295ea59e39a4a8f89f5 100644 Binary files a/superset-frontend/images/icons/checkbox-half.svg and b/superset-frontend/images/icons/checkbox-half.svg differ diff --git a/superset-frontend/images/icons/checkbox-off.svg b/superset-frontend/images/icons/checkbox-off.svg index f537e642a5df3572392c83a4bd59b1abfdc6fe57..5835c1893dca8bbb67f972fd9ec31b0b36df8593 100644 Binary files a/superset-frontend/images/icons/checkbox-off.svg and b/superset-frontend/images/icons/checkbox-off.svg differ diff --git a/superset-frontend/images/icons/checkbox-on.svg b/superset-frontend/images/icons/checkbox-on.svg index 1033e3ab493cbe3e11999097f977b560a5db2404..25e82d5e2a4e5eb9c29c1c25db374a8240755a52 100644 Binary files a/superset-frontend/images/icons/checkbox-on.svg and b/superset-frontend/images/icons/checkbox-on.svg differ diff --git a/superset-frontend/images/icons/compass.svg b/superset-frontend/images/icons/compass.svg index 3c0c7dc81188af55e0516970d861a4608e2fce17..7775d9b73b981546a172317b3e9fd16f91a21fac 100644 Binary files a/superset-frontend/images/icons/compass.svg and b/superset-frontend/images/icons/compass.svg differ diff --git a/superset-frontend/images/icons/dataset_physical.svg b/superset-frontend/images/icons/dataset_physical.svg index 72040e8159920d04b4c136d75fbb79a92f2dbc39..28f46bb4ca91e3db88e5365b13c656d88f764359 100644 Binary files a/superset-frontend/images/icons/dataset_physical.svg and b/superset-frontend/images/icons/dataset_physical.svg differ diff --git a/superset-frontend/images/icons/dataset_virtual.svg b/superset-frontend/images/icons/dataset_virtual.svg index 51f136caaa1147f0aa2fe37f9e5c462271d1ef0b..ca15dcb63d5e96d1fe3526929a825a90324e3cab 100644 Binary files a/superset-frontend/images/icons/dataset_virtual.svg and b/superset-frontend/images/icons/dataset_virtual.svg differ diff --git a/superset-frontend/images/icons/error.svg b/superset-frontend/images/icons/error.svg index 03c19629e8061a7aca6183ec1413ef3fc9d4ca7f..b619c4876c8f8afaad874cfa0ac2387222b37fc3 100644 Binary files a/superset-frontend/images/icons/error.svg and b/superset-frontend/images/icons/error.svg differ diff --git a/superset-frontend/images/icons/pencil.svg b/superset-frontend/images/icons/pencil.svg index 6d1cbcb895f473be29380fc69174019d78c02baa..0cf5c9280adb653d64679c036ffeb348f964d930 100644 Binary files a/superset-frontend/images/icons/pencil.svg and b/superset-frontend/images/icons/pencil.svg differ diff --git a/superset-frontend/images/icons/search.svg b/superset-frontend/images/icons/search.svg index 2f2b0c5b9e13318e50792982450b263c9899cb68..5b86f13859f66d01f8f7c99288a097560da9193a 100644 Binary files a/superset-frontend/images/icons/search.svg and b/superset-frontend/images/icons/search.svg differ diff --git a/superset-frontend/images/icons/sort-asc.svg b/superset-frontend/images/icons/sort-asc.svg index a6bd9d5aa01165bad8b8e97a8c6965c0f3451981..8981b6cff24175f3adf9d7fe301742b80e63af17 100644 Binary files a/superset-frontend/images/icons/sort-asc.svg and b/superset-frontend/images/icons/sort-asc.svg differ diff --git a/superset-frontend/images/icons/sort-desc.svg b/superset-frontend/images/icons/sort-desc.svg index f56b7b29c6055db12962c5d7b2c893d73dd68694..70dd0fa391337a98f35835721c2e06d4002c6132 100644 Binary files a/superset-frontend/images/icons/sort-desc.svg and b/superset-frontend/images/icons/sort-desc.svg differ diff --git a/superset-frontend/images/icons/sort.svg b/superset-frontend/images/icons/sort.svg index 534cffc6de29b1877a8d52ea6c93938ce3ec2a61..119ca02999049fe68f60645c81a72bbcea6b6c1e 100644 Binary files a/superset-frontend/images/icons/sort.svg and b/superset-frontend/images/icons/sort.svg differ diff --git a/superset-frontend/images/icons/trash.svg b/superset-frontend/images/icons/trash.svg index a80e19104bcf9adadc87c04c638ae9122b123f53..870af73b93e10c0622ac485b3ac4629ab58e734f 100644 Binary files a/superset-frontend/images/icons/trash.svg and b/superset-frontend/images/icons/trash.svg differ diff --git a/superset-frontend/images/icons/warning.svg b/superset-frontend/images/icons/warning.svg index 9375f58deda1427a4d9126f1ea67c6b6e07273ac..df7fc6d117d6913883ab8fd51b2e0fa2c74999ac 100644 Binary files a/superset-frontend/images/icons/warning.svg and b/superset-frontend/images/icons/warning.svg differ diff --git a/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx b/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx index 0964a00970ae40f26b535b4935b22efc776b509f..a9bebd7f3f7e2abe9797a022392ed6742240b41c 100644 --- a/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx +++ b/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx @@ -623,10 +623,10 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({ {datasetCurrentlyDeleting && ( <DeleteModal description={t( - `The dataset ${datasetCurrentlyDeleting.table_name} is linked to - ${datasetCurrentlyDeleting.chart_count} charts that appear on - ${datasetCurrentlyDeleting.dashboard_count} dashboards. - Are you sure you want to continue? Deleting the dataset will break + `The dataset ${datasetCurrentlyDeleting.table_name} is linked to + ${datasetCurrentlyDeleting.chart_count} charts that appear on + ${datasetCurrentlyDeleting.dashboard_count} dashboards. + Are you sure you want to continue? Deleting the dataset will break those objects.`, )} onConfirm={() => diff --git a/superset/bin/superset b/superset/bin/superset index 4b37e8339b2c7f9a29da528399b0159f608b9d3f..e7b8de68469bc45dddd6bd02cc7f6bcc651b1423 100755 --- a/superset/bin/superset +++ b/superset/bin/superset @@ -17,5 +17,5 @@ # under the License. from superset.cli import superset -if __name__ == '__main__': +if __name__ == "__main__": superset() diff --git a/superset/dashboards/schemas.py b/superset/dashboards/schemas.py index 258770586639f95bb2df274421718b8d8b9e80d0..ca9c25c1e0007cf614b4129a6ee2f620537e6eeb 100644 --- a/superset/dashboards/schemas.py +++ b/superset/dashboards/schemas.py @@ -75,7 +75,6 @@ openapi_spec_methods_override = { "get": {"description": "Get a list of all possible owners for a dashboard."} }, } -""" Overrides GET methods OpenApi descriptions """ def validate_json(value: Union[bytes, bytearray, str]) -> None: diff --git a/superset/migrations/README b/superset/migrations/README index 98e4f9c44effe479ed38c66ba922e7bcc672916f..2500aa1bcf726a14c436070389837be3666ba96f 100755 --- a/superset/migrations/README +++ b/superset/migrations/README @@ -1 +1 @@ -Generic single-database configuration. \ No newline at end of file +Generic single-database configuration. diff --git a/superset/migrations/versions/21e88bc06c02_annotation_migration.py b/superset/migrations/versions/21e88bc06c02_annotation_migration.py index 919d047b913c245cd2fcb483f373a7ed4767a203..5593af0eb66501d7c37a943c70927e94293119b7 100644 --- a/superset/migrations/versions/21e88bc06c02_annotation_migration.py +++ b/superset/migrations/versions/21e88bc06c02_annotation_migration.py @@ -14,14 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -import json - -from alembic import op -from sqlalchemy import Column, Integer, or_, String, Text -from sqlalchemy.ext.declarative import declarative_base - -from superset import db - """migrate_old_annotation_layers Revision ID: 21e88bc06c02 @@ -29,6 +21,13 @@ Revises: 67a6ac9b727b Create Date: 2017-12-17 11:06:30.180267 """ +import json + +from alembic import op +from sqlalchemy import Column, Integer, or_, String, Text +from sqlalchemy.ext.declarative import declarative_base + +from superset import db # revision identifiers, used by Alembic. revision = "21e88bc06c02" diff --git a/superset/queries/schemas.py b/superset/queries/schemas.py index 04c003e10406abe2ab72e1ab8ca74404eac3a1e6..daca322c6371e43eb822cbf301da44f4105a62bd 100644 --- a/superset/queries/schemas.py +++ b/superset/queries/schemas.py @@ -25,4 +25,3 @@ openapi_spec_methods_override = { } }, } -""" Overrides GET methods OpenApi descriptions """ diff --git a/superset/templates/appbuilder/baselayout.html b/superset/templates/appbuilder/baselayout.html index 1199ab12266937b7cb36264034bc845c0ac65545..a08a052e5f582299d1f8e6cf6a1f7c9c312a483d 100644 --- a/superset/templates/appbuilder/baselayout.html +++ b/superset/templates/appbuilder/baselayout.html @@ -55,4 +55,3 @@ </footer> {% endblock %} {% endblock %} - diff --git a/superset/templates/appbuilder/general/model/list.html b/superset/templates/appbuilder/general/model/list.html index 49f08d02c7aa1525e5dab75cb9b1bc0d9bef0f18..866051dd1f10f98028fa3cdd46f8277261e305ca 100644 --- a/superset/templates/appbuilder/general/model/list.html +++ b/superset/templates/appbuilder/general/model/list.html @@ -33,4 +33,4 @@ </div> {{ lib.panel_end() }} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/superset/templates/email/role_extended.txt b/superset/templates/email/role_extended.txt index 72eb337aae6f06f4477a422c6868ef592e783c86..89ba1b0f722b2e9d2803e1d419b70a527d1dfcde 100644 --- a/superset/templates/email/role_extended.txt +++ b/superset/templates/email/role_extended.txt @@ -29,4 +29,4 @@ To see all your permissions please visit your profile page</a>. <br> <br> -Regards, Superset Admin. \ No newline at end of file +Regards, Superset Admin. diff --git a/superset/templates/email/role_granted.txt b/superset/templates/email/role_granted.txt index a6ca9ebc85a63a2db0561c12148eba40c430b13b..8027f41ac489c6dc0dff43b32f38253979ab8a55 100644 --- a/superset/templates/email/role_granted.txt +++ b/superset/templates/email/role_granted.txt @@ -33,4 +33,4 @@ To see all your permissions please visit your profile page</a>. <br> <br> -Regards, Superset Admin. \ No newline at end of file +Regards, Superset Admin. diff --git a/superset/templates/superset/basic.html b/superset/templates/superset/basic.html index a31574696e1ee4cf18daccdaae0e89ec52c3ed6b..163d9480e9c89b5064bc67499182fd2cf1beb155 100644 --- a/superset/templates/superset/basic.html +++ b/superset/templates/superset/basic.html @@ -36,10 +36,10 @@ {% block head_meta %}{% endblock %} {% block head_css %} {% for favicon in favicons %} - <link + <link rel="{{favicon.rel if favicon.rel else "icon"}}" - type="{{favicon.type if favicon.type else "image/png"}}" - {% if favicon.sizes %}sizes={{favicon.sizes}}{% endif %} + type="{{favicon.type if favicon.type else "image/png"}}" + {% if favicon.sizes %}sizes={{favicon.sizes}}{% endif %} href="{{favicon.href}}" > {% endfor %} diff --git a/superset/templates/superset/export_dashboards.html b/superset/templates/superset/export_dashboards.html index 5ec6ff1643e1261790993ceaa68d52990bf06ac4..9744424b67815a9f1645669dad7f4a763a5d6706 100644 --- a/superset/templates/superset/export_dashboards.html +++ b/superset/templates/superset/export_dashboards.html @@ -27,7 +27,7 @@ a.click(); document.body.removeChild(a); - window.location = '{{ dashboards_url }}'; + window.location = '{{ dashboards_url }}'; }; </script> diff --git a/superset/templates/superset/fab_overrides/list_with_checkboxes.html b/superset/templates/superset/fab_overrides/list_with_checkboxes.html index 3d5fbaf77cb8f1cf7c42434e10ce353410fa900f..2cea53022f57fab2ffea009279667c3a435ff858 100644 --- a/superset/templates/superset/fab_overrides/list_with_checkboxes.html +++ b/superset/templates/superset/fab_overrides/list_with_checkboxes.html @@ -97,4 +97,3 @@ </table> </div> {% endblock %} - diff --git a/superset/templates/superset/form_view/csv_to_database_view/edit.html b/superset/templates/superset/form_view/csv_to_database_view/edit.html index 9e6e542e26cb628fc0cd6af8d5601b110fb77940..ab647d4c26f50e237d70f53f91d3dd8ffe675fcf 100644 --- a/superset/templates/superset/form_view/csv_to_database_view/edit.html +++ b/superset/templates/superset/form_view/csv_to_database_view/edit.html @@ -61,4 +61,4 @@ } } </script> -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/superset/templates/superset/form_view/excel_to_database_view/edit.html b/superset/templates/superset/form_view/excel_to_database_view/edit.html index dcfd6d2ce6a5a4ea69b2951a3eb9eab5198ebd50..fb7c432231ba6e4acb54a3120c93cbb14845d723 100644 --- a/superset/templates/superset/form_view/excel_to_database_view/edit.html +++ b/superset/templates/superset/form_view/excel_to_database_view/edit.html @@ -61,4 +61,4 @@ } } </script> -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/superset/templates/superset/paper-theme.html b/superset/templates/superset/paper-theme.html index edf50137cb8c7fb209724b3fa9c26794a8822c8a..c4221be13fa38ced0d812a936393205e327e0b43 100644 --- a/superset/templates/superset/paper-theme.html +++ b/superset/templates/superset/paper-theme.html @@ -431,7 +431,7 @@ <h1>Alerts</h1> </div> <div class="alert alert-success" role="alert"> - <strong>Well done!</strong> You successfully read this important alert message. With a <a href="#">link</a>. + <strong>Well done!</strong> You successfully read this important alert message. With a <a href="#">link</a>. </div> <div class="alert alert-info" role="alert"> <strong>Heads up!</strong> This alert needs your attention, but it's not super important.