Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
Site web avec Python interactif — Modèle à bifurquer
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Opération
Environnements
Surveillance
Service d'assistance
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
LaForgeEdu
Modèles LaForgeEdu
Site web avec Python interactif — Modèle à bifurquer
Comparer les révisions
5768e487cafad27864a652e4b25076b9757479fe to main
Comparer les révisions
Les modifications sont affichées comme si la révision
source
était fusionnée avec la révision
cible
.
En savoir plus sur la comparaison des révisions.
Source
docs/modeles/pyodide-mkdocs-theme-review
Sélectionner le projet cible
No results found
main
Sélectionner une révision Git
Branches
main
Échanger
Cible
profjahier/nsi-premiere
Sélectionner le projet cible
fossardchristophe/nsilo
kuniansamuel/nsi
Lycee-Cezanne-NSI/nsi-projet-site
nsiforges76/swc-pnav
nsi-p-corneille/pyodide-mkdocs-theme-review
fjunier/snt
avenel_sylvain/test-forge-sa
jcottin/eval-nsi
deleuphilippe/test-phi
chardine_marc_aurelien/nsi-premiere-chardine
maybeflush/site-de-maybeflush
nsicurie/exercices-experts
amislanghe/nsi-terminale
pdupuits/1-nsi-lakanal
profjahier/pyxel
max_cholley/enessite
moyivan/pyodide-mkdocs-theme-review
profpabloneruda/pablo-neruda-nsi
doduyrat/cpge-mpi
mbloch/python-pyodide-mkdocs
le-coin-de-rapha-l/essai-de-raphael
aimeeric/pyodide-mkdocs-theme-review
agostinoluca/pyodide-mkdocs-theme-review
vroullier/2024-intro-forge
mkdocs-david/site-web-version-pyodide-mkdocs-theme
nsicurie/nsi
cournill/nsi-lycee-prevert-pont-audemer
docs/modeles/pyodide-mkdocs-theme-review
rthibaudeau/site
azzizaxavier/pyodide-mkdocs-theme-review
dominguezanne/site-modele-forge
fjunier/qcm-nsi-snt-maths
nativelfabrice/info-cpge
mezeray-nsi/site-web-formation-nsi
bergson-paris/pyodide-mkdocs-theme-review
cyril.thuillier-hamel/term-nsi-honfleur
jdleroy/mon-essai-de-site-web
delphine-nunez/terminales-maths
dkany/site-daphne-kany
nsi-cornat/essai-fork
janson-paris/sbt-nsi-1-ere
nsi-guehenno/cours-nsi
thirionlaurent/nsi-lycee-jean-hyppolite-jonzac
nsinormandie/exemplej1
jmdemouy/cours
ydyd/cours-nsi
profjahier_test_01/site-test-01
initpoo/decouverte-de-la-programmation-orientee-objet
devedeud/essai-forge-dd
stvalnsi/mon-projet
llaadu/lla_ex
spy/snt-nsi
mcoilhac/site-demo
glc-nsi/cours-avec-exercices-python
Lycee-Cezanne-NSI/nsi-projet
laura-fleron/ros-docu
initpoo/pyodide-mkdocs-theme-review
charpentierronan/pyodide-mkdocs-theme-review
mezeray-nsi/formation-nsi-copie-du-site
nsi-fresnel/nsi_fresnel
nsinormandie/2024-intro-forge
test01072024/test-01072020-d-apres-pyodide-mkdocs-theme
madeceric/site-avec-pyodide-mkdocs-theme
sekowskijean-jacques/python-cours-et-exercices
profjahier/nsi-terminale
profjahier/nsi-premiere
BenDup/traitement-d-image-python
essais/term-nsi-honfleur
mcoilhac/sio-2-maths-approfondies
lefebvre05/cours-de-nsi-rey
tfontanet/terminale
ybousba/snt-en-egypte
olaf_le_viking/nsi-anguier
nieduziakamaury/ansi
lycee_pgdg_paris/pyodide-mkdocs-theme-review
profpabloneruda/tnsi-lycee-pablo-neruda
delphine-nunez/2-gt-maths-snt
mcoilhac/sio-1-maths-approfondies
lp-ameublement-revel/ERA-TMA-TFBMA
79 résultats
5768e487cafad27864a652e4b25076b9757479fe
Sélectionner une révision Git
Branches
main
mcoilhac-main-patch-12229
Afficher les modifications
Uniquement les modifications entrantes de la source
Inclure les modifications apportées à la cible depuis la création de la source
Comparer
Tout étendre
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
turtle/__init__.py
+1825
-0
1825 ajouts, 0 suppression
turtle/__init__.py
turtle/svg.py
+131
-0
131 ajouts, 0 suppression
turtle/svg.py
avec
1956 ajouts
et
0 suppression
turtle/__init__.py
0 → 100644
Voir le fichier @
dd302b5c
Ce diff est replié.
Cliquez pour l'agrandir.
turtle/svg.py
0 → 100644
Voir le fichier @
dd302b5c
# Modified version of Brython's SVG module
# Author: Romain Casati
# License: GPL v3 or higher
from
__future__
import
annotations
_svg_ns
=
"
http://www.w3.org/2000/svg
"
_xlink_ns
=
"
http://www.w3.org/1999/xlink
"
_svg_tags
=
[
"
a
"
,
"
altGlyph
"
,
"
altGlyphDef
"
,
"
altGlyphItem
"
,
"
animate
"
,
"
animateColor
"
,
"
animateMotion
"
,
"
animateTransform
"
,
"
circle
"
,
"
clipPath
"
,
"
color_profile
"
,
# instead of color-profile
"
cursor
"
,
"
defs
"
,
"
desc
"
,
"
ellipse
"
,
"
feBlend
"
,
"
foreignObject
"
,
# patch to enable foreign objects
"
g
"
,
"
image
"
,
"
line
"
,
"
linearGradient
"
,
"
marker
"
,
"
mask
"
,
"
path
"
,
"
pattern
"
,
"
polygon
"
,
"
polyline
"
,
"
radialGradient
"
,
"
rect
"
,
"
set
"
,
"
stop
"
,
"
svg
"
,
"
text
"
,
"
tref
"
,
"
tspan
"
,
"
use
"
,
]
class
Element
:
def
__init__
(
self
,
tag
:
str
,
ns
=
None
,
value
=
None
):
self
.
_tag
=
tag
self
.
_value
=
value
self
.
_ns
=
ns
self
.
_attributes
:
dict
[
str
,
str
]
=
{}
self
.
_children
:
list
[
Element
]
=
[]
# this is mandatory to display svg properly
if
tag
==
"
svg
"
and
ns
is
not
None
:
self
.
setAttribute
(
"
xmlns
"
,
ns
)
def
setAttribute
(
self
,
attribute
:
str
,
value
:
str
):
self
.
setAttributeNS
(
None
,
attribute
,
value
)
def
setAttributeNS
(
self
,
ns
:
str
|
None
,
attribute
:
str
,
value
:
str
):
key
=
attribute
if
ns
is
not
None
:
key
=
f
"
{
ns
}
:
{
key
}
"
self
.
_attributes
[
key
]
=
value
def
appendChild
(
self
,
child
:
Element
):
self
.
_children
.
append
(
child
)
def
removeChild
(
self
,
other
:
Element
):
self
.
_children
.
remove
(
other
)
def
addEventListener
(
self
,
event
,
callback
):
pass
def
render_attributes
(
self
)
->
str
:
# remove .0 part for int
def
filter
(
x
):
if
isinstance
(
x
,
float
)
and
int
(
x
)
==
x
:
x
=
int
(
x
)
return
x
return
"
"
.
join
(
f
'
{
k
}
=
"
{
filter
(
v
)
}
"'
for
k
,
v
in
self
.
_attributes
.
items
())
def
__str__
(
self
)
->
str
:
open_tag
=
f
"
<
{
self
.
_tag
}
{
self
.
render_attributes
()
}
>
"
close_tag
=
f
"
</
{
self
.
_tag
}
>
"
content
=
""
.
join
(
str
(
e
)
for
e
in
self
.
_children
)
if
self
.
_value
is
not
None
:
content
+=
self
.
_value
return
f
"
{
open_tag
}{
content
}{
close_tag
}
"
def
reduire_animation
(
self
):
if
"
dur
"
in
self
.
_attributes
:
# On réduit le temps de l'animation
self
.
_attributes
[
"
dur
"
]
=
"
1ms
"
for
elem
in
self
.
_children
:
elem
.
reduire_animation
()
def
_tag_func
(
tag
):
def
func
(
*
args
,
**
kwargs
):
node
=
Element
(
tag
,
ns
=
_svg_ns
)
for
arg
in
args
:
if
isinstance
(
arg
,
(
str
,
int
,
float
)):
arg
=
Element
(
"
text
"
,
value
=
str
(
arg
))
node
.
appendChild
(
arg
)
for
key
,
value
in
kwargs
.
items
():
key
=
key
.
lower
()
if
key
[
0
:
2
]
==
"
on
"
:
# Event binding passed as argument "onclick", "onfocus"...
# Better use method bind of DOMNode objects
node
.
addEventListener
(
key
[
2
:],
value
)
elif
key
==
"
style
"
:
node
.
setAttribute
(
"
style
"
,
"
;
"
.
join
(
f
"
{
k
}
:
{
v
}
"
for
k
,
v
in
value
.
items
())
)
elif
"
href
"
in
key
:
node
.
setAttributeNS
(
_xlink_ns
,
"
href
"
,
value
)
elif
value
is
not
False
:
# option.selected=false sets it to true :-)
node
.
setAttributeNS
(
None
,
key
.
replace
(
"
_
"
,
"
-
"
),
value
)
return
node
return
func
for
tag
in
_svg_tags
:
vars
()[
tag
]
=
_tag_func
(
tag
)
Ce diff est replié.
Cliquez pour l'agrandir.
Précédent
1
2
3
Suivant