Skip to content

Commit

Permalink
[DONE] Create archive packages (#1107)
Browse files Browse the repository at this point in the history
* First attempt to create archive packages

* flake8

* Improve unarchive_video command

* Markdown format complicance:
* Add .markdownlint.json for markdownlint
* Ignore MD033 (No inline HTML)
* Set MD "line_length" to 90 chars
* Correct "createconfiguration" command to apply markdown rules
* Apply markdown rules to README, SECURITY, AUTHORS, CONTRIBUTING & CODE_OF_CONDUCT

* * Add "Whisper" in config.json
* Remove duplicated attribute in forms.py
* Code Formatting

* * Add "dry mode" for check_obsolete_videos command
* Update create_archive command to add some video completions in json
* Comment unused functions in chapter.js
* Code formatting

* Create_archive_package command now export additional documents and video tracks
+ replace deprecated  function `utcfromtimestamp(start)` by `fromtimestamp(start, tz=timezone.utc)`
+ A11y : add titles on Public/private document icons
+ QoC (add some missing return types and pydocs)

* Ask GG to ignore PWD in comptetion test_views

* flake 8 compliance
+ add "#nosec" on test pwd to ignore it.

* add missing param in create_archive_package
+ fix the completion views test

* Add # nosem comments to tell semgrep to ignore some password validation checks in tests.

* Disable commonjs & node in eslintrc to be able to add `/* exported my_global_var */` comment before some global vars.

* Replace `from xml.dom import minidom` by `from defusedxml import minidom` to avoid security issue

* Replace `from xml.dom import minidom` by `from defusedxml import minidom` to avoid security issue
+ code formatting

* * Add sizeof_fmt() in main utils
* print total duration and total weight

* send mail to managers after create_archive_package

* Replace xml.dom by defusedxml to enforce security

* Export also AdvancedNotes and video comments

* flake8

* Replace NODE 19 by 20

* Add i18n strings
+ revert defusedxml by xml.dom on test_utils, as there is no "Document()" in defusedxml

* Revert defusedxml to dom.minidom in type_studio as 'defusedxml.minidom' has no attribute 'Text'

* Add main utils tests & test_get_dublin_core
+ improve security of minidom in type_studio
+ escape xml entities in get_dublin_core()

* Apply all PR comments

* Flake8 compliance

* correct test_generate_qrcode as generated qr code is not always the same.

* Try to use coverallsapp/github-action

* Include .mo compiled lang files
+ remove coveralls test
  • Loading branch information
Badatos authored May 6, 2024
1 parent d5f3f99 commit 4c95110
Show file tree
Hide file tree
Showing 85 changed files with 2,200 additions and 1,289 deletions.
1 change: 1 addition & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ source = pod/
omit = pod/*settings*.py
pod/*apps.py
pod/wsgi.py
pod/db_migrations/*
*/tests/*
*/commands/*
*/migrations/*
Expand Down
4 changes: 2 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
module.exports = {
"env": {
"browser": true,
"commonjs": true,
"commonjs": false,
"es2021": true,
"node": true
"node": false
},
"extends": "eslint:recommended",
"parserOptions": {
Expand Down
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@

# Désigne tous les fichiers qui sont vraiment binaires et ne doivent pas être modifiés.
*.png binary
*.jpg binary
*.jpg binary
*.webp binary
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Before sending your pull request, make sure the following are done:
# Before sending your pull request, make sure the following are done

* [ ] You have read our [contribution guidelines](https://github.com/EsupPortail/Esup-Pod/blob/master/CONTRIBUTING.md).
* [ ] Your PR targets the `develop` branch.
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pod_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ env:
PYTHON_VERSION: '3.9'
DJANGO_SUPERUSER_USERNAME: "admin"
DJANGO_SUPERUSER_PASSWORD: "passwd"
DJANGO_SUPERUSER_EMAIL: "noreplay@uni.fr"
DJANGO_SUPERUSER_EMAIL: "noreply@uni.fr"
ELASTICSEARCH_TAG: "elasticsearch:7.17.18"
NODE_VERSION: "19"
NODE_TAG: "node:19"
NODE_VERSION: "20"
NODE_TAG: "node:20"
PYTHON_TAG: "python:3.9-bullseye"
REDIS_TAG: "redis:alpine3.16"
DOCKER_ENV: "full-test"
Expand Down
7 changes: 7 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"default": true,
"MD033": false,
"MD013": {
"line_length": 90
}
}
24 changes: 20 additions & 4 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
Esup-Pod Authors
================

Maintainer
----------

[Esup Portail](https://www.esup-portail.org/)

Original Authors
----------------

* Nicolas Can, University of Lille, France ([@ptitloup](https://github.com/ptitloup))

Contributors for the V3
----------------------------
A list of much-appreciated contributors who have submitted patches and reported bugs for the V3:

A list of much-appreciated contributors
who have submitted patches and reported bugs for the V3:

* Olivier Bado-Faustin, University Cote d'Azur (design and template)
* Nicolas Lahoche, University of Lille (design and template) with all the PRI Team
* Nathaniel Burlot, University of Lille (member of PRI team for Logo and color of V3)
Expand All @@ -19,12 +27,15 @@ A list of much-appreciated contributors who have submitted patches and reported

Partnership
----------------------------

* Elygames
* OrionStudio

Previous Author/Contributors
----------------------------

A list of much-appreciated contributors who have submitted patches and reported bugs:

* Joël Obled, Esup-Portail Consortium, France ([@DrClockwork](https://github.com/DrClockwork))
* Charlotte Benard (Logo and color of V2)
* Frederic Sene, INSA Rennes
Expand All @@ -35,6 +46,11 @@ A list of much-appreciated contributors who have submitted patches and reported

Pictures credits
----------------------------
* default.svg: adapted from Play button Icon by [Freepik](https://www.freepik.com/free-vector) - Freepik License
* cookie.svg: [Broken oatmeal cookie created by pch.vector](https://www.freepik.com/vectors/logo) - Freepik License
* default-playlist.svg: Music, Note, Musical Note by [krzysztof-m](https://pixabay.com/fr/users/1363864/) - [Pixabay free for use & download licence](https://pixabay.com/fr/service/terms/)

* default.svg: adapted from Play button Icon
by [Freepik](https://www.freepik.com/free-vector) - Freepik License
* cookie.svg:
[oatmeal cookie created by pch.vector](https://www.freepik.com/vectors/logo) - Freepik License
* default-playlist.svg: Music, Note, Musical Note
by [krzysztof-m](https://pixabay.com/fr/users/1363864/) -
[Pixabay free for use & download licence](https://pixabay.com/fr/service/terms/)
96 changes: 61 additions & 35 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

# Code de conduite _Esup-Pod_
# Code de conduite *Esup-Pod*

## Notre engagement

Expand All @@ -12,7 +11,8 @@ le niveau d'expérience, l'éducation, le statut socio-économique,
la nationalité, l'apparence personnelle, la race, la religion,
ou l'identité et l'orientation sexuelle.

Nous nous engageons à agir et interagir de manière à contribuer à une communauté ouverte, accueillante, diversifiée, inclusive et saine.
Nous nous engageons à agir et interagir de manière à contribuer à une communauté ouverte,
accueillante, diversifiée, inclusive et saine.

## Nos critères

Expand All @@ -21,92 +21,118 @@ Exemples de comportements qui contribuent à créer un environnement positif :
* Faire preuve d'empathie et de bienveillance envers les autres
* Être respectueux des opinions, points de vue et expériences divergents
* Donner et recevoir avec grâce les critiques constructives
* Assumer ses responsabilités et s'excuser auprès des personnes affectées par nos erreurs et apprendre de ces expériences
* Se concentrer sur ce qui est le meilleur non pas uniquement pour nous en tant qu'individu, mais aussi pour l'ensemble de la communauté
* Assumer ses responsabilités et s'excuser auprès des personnes
affectées par nos erreurs et apprendre de ces expériences
* Se concentrer sur ce qui est le meilleur non pas uniquement pour nous
en tant qu'individu, mais aussi pour l'ensemble de la communauté

Exemples de comportements inacceptables :

* L'utilisation de langage ou d'images sexualisés et d'attentions ou d'avances sexuelles de toute nature
* Le _trolling_, les commentaires insultants ou désobligeants et les attaques
* L'utilisation de langage ou d'images sexualisés et d'attentions
ou d'avances sexuelles de toute nature
* Le *trolling*, les commentaires insultants ou désobligeants et les attaques
personnelles ou d'ordre politique
* Le harcèlement en public ou en privé
* La publication d'informations privées d'autrui, telle qu'une
adresse postale ou une adresse électronique, sans leur autorisation explicite
* Toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée
dans un cadre professionnel
* Toute autre conduite qui pourrait raisonnablement
être considérée comme inappropriée dans un cadre professionnel

## Responsabilités d'application

Les dirigeant·e·s de la communauté sont chargé·e·s de clarifier et de faire respecter nos normes de
comportements acceptables et prendront des mesures correctives appropriées et équitables en
réponse à tout comportement qu'ils ou elles jugent inapproprié, menaçant, offensant ou nuisible.
Les dirigeant·e·s de la communauté sont chargé·e·s de clarifier
et de faire respecter nos normes de comportements acceptables
et prendront des mesures correctives appropriées et équitables en
réponse à tout comportement qu'ils ou elles jugent
inapproprié, menaçant, offensant ou nuisible.

Les dirigeant·e·s de la communauté ont le droit et la responsabilité de supprimer, modifier ou rejeter
les commentaires, les contributions, le code, les modifications de wikis, les rapports d'incidents ou de bogues et autres contributions qui
ne sont pas alignés sur ce code de conduite, et communiqueront les raisons des décisions de modération
le cas échéant.
Les dirigeant·e·s de la communauté ont le droit et la responsabilité de supprimer,
modifier ou rejeter les commentaires,
les contributions, le code, les modifications de wikis,
les rapports d'incidents ou de bogues et autres contributions qui
ne sont pas alignés sur ce code de conduite,
et communiqueront les raisons des décisions de modération le cas échéant.

## Portée d'application

Ce code de conduite s'applique à la fois au sein des espaces du projet ainsi que dans les espaces publics lorsqu'un individu représente officiellement le projet ou sa communauté.
Ce code de conduite s'applique à la fois au sein des espaces du projet
ainsi que dans les espaces publics lorsqu'un individu
représente officiellement le projet ou sa communauté.
Font parties des exemples de représentation d'un projet ou d'une
communauté l'utilisation d'une adresse électronique officielle, la publication sur les réseaux sociaux à l'aide d'un compte officiel ou le fait d'agir en tant que représentant·e désigné·e lors d'un événement en ligne ou hors-ligne.
communauté l'utilisation d'une adresse électronique officielle,
la publication sur les réseaux sociaux à l'aide d'un compte officiel
ou le fait d'agir en tant que représentant·e désigné·e
lors d'un événement en ligne ou hors-ligne.

## Application

Les cas de comportements abusifs, harcelants ou tout autre comportement
inacceptables peuvent être signalés aux dirigeant·e·s de la communauté responsables de l'application du code de conduite à
inacceptables peuvent être signalés aux dirigeant·e·s de la communauté
responsables de l'application du code de conduite à
[Esup-Pod](https://github.com/EsupPortail/Esup-Pod).
Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable.

Tou·te·s les dirigeant·e·s de la communauté sont tenu·e·s de respecter la vie privée et la sécurité des personnes ayant signalé un incident.
Tou·te·s les dirigeant·e·s de la communauté sont tenu·e·s de
respecter la vie privée et la sécurité des personnes ayant signalé un incident.

## Directives d'application

Les dirigeant·e·s de communauté suivront ces directives d'application sur l'impact communautaire afin de déterminer les conséquences de toute action qu'ils jugent contraire au présent code de conduite :
Les dirigeant·e·s de communauté suivront ces directives d'application
sur l'impact communautaire afin de déterminer les conséquences de toute action
qu'ils jugent contraire au présent code de conduite :

### 1. Correction

**Impact communautaire** : utilisation d'un langage inapproprié ou tout autre comportement jugé non professionnel ou indésirable dans la communauté.
**Impact communautaire** : utilisation d'un langage inapproprié ou
tout autre comportement jugé non professionnel ou indésirable dans la communauté.

**Conséquence** : un avertissement écrit et privé de la part des dirigeant·e·s de la communauté, clarifiant la nature du non-respect et expliquant pourquoi
**Conséquence** : un avertissement écrit et privé de la part des
dirigeant·e·s de la communauté, clarifiant la nature du non-respect et expliquant pourquoi
le comportement était inapproprié. Des excuses publiques peuvent être demandées.

### 2. Avertissement

**Impact communautaire** : un non-respect par un seul incident ou une série d'actions.

**Conséquence** : un avertissement avec des conséquences dû à la poursuite du comportement.
Aucune interaction avec les personnes concernées, y compris l'interaction non sollicitée avec celles et ceux qui sont chargé·e·s de l'application de ce code de conduite, pendant une période déterminée.
Cela comprend le fait d'éviter les interactions dans les espaces communautaires ainsi que sur les canaux externes comme les médias sociaux.
Aucune interaction avec les personnes concernées,
y compris l'interaction non sollicitée avec celles et ceux qui sont
chargé·e·s de l'application de ce code de conduite, pendant une période déterminée.
Cela comprend le fait d'éviter les interactions dans les espaces communautaires
ainsi que sur les canaux externes comme les médias sociaux.
Le non-respect de ces conditions peut entraîner un bannissement temporaire ou permanent.

### 3. Bannissement temporaire

**Impact communautaire** : un non-respect grave des normes communautaires, notamment un comportement inapproprié soutenu.
**Impact communautaire** : un non-respect grave des normes communautaires,
notamment un comportement inapproprié soutenu.

**Conséquence** : un bannissement temporaire de toutes formes d'interactions ou de communications avec la communauté pendant une période déterminée.
Aucune interaction publique ou privée avec les personnes concernées, y compris les interactions non sollicitées avec celles et ceux qui appliquent ce code de conduite, n'est autorisée pendant cette période.
**Conséquence** : un bannissement temporaire de toutes formes d'interactions
ou de communications avec la communauté pendant une période déterminée.
Aucune interaction publique ou privée avec les personnes concernées,
y compris les interactions non sollicitées avec celles et ceux qui appliquent
ce code de conduite, n'est autorisée pendant cette période.
Le non-respect de ces conditions peut entraîner un bannissement permanent.

### 4. Bannissement permanent

**Impact communautaire** : démontrer un schéma récurrent de non-respect des normes de la communauté y compris un comportement inapproprié soutenu, le harcèlement d'un individu ainsi que l'agression ou le dénigrement de catégories d'individus.
**Impact communautaire** : démontrer un schéma récurrent de non-respect
des normes de la communauté y compris un comportement inapproprié soutenu,
le harcèlement d'un individu ainsi que l'agression ou le dénigrement de catégories d'individus.

**Conséquence** : un bannissement permanent de toutes formes d'interactions publiques au sein de la communauté.
**Conséquence** : un bannissement permanent
de toutes formes d'interactions publiques au sein de la communauté.

## Attributions

Ce code de conduite est adapté du
[Contributor Covenant](https://www.contributor-covenant.org), version 2.0,
disponible à
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
[Contributor Covenant][homepage], [version 2.0][v2.0].

Les Directives d'application ont été inspirées par le
[Code of conduct enforcement ladder][Mozilla CoC] de Mozilla.

Pour obtenir des réponses aux questions courantes sur ce code de conduite, consultez la FAQ à [https://www.contributor-covenant.org/faq][FAQ].
Les traductions sont disponibles sur [https://www.contributor-covenant.org/translations][translations].
Pour obtenir des réponses aux questions courantes sur ce code de conduite, consultez la [FAQ][FAQ].
Des [traductions][translations] sont disponibles.

[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
Expand Down
Loading

0 comments on commit 4c95110

Please sign in to comment.