152 lines
5.0 KiB
Python
152 lines
5.0 KiB
Python
from matplotlib import pyplot as plt
|
|
import datetime
|
|
|
|
"""Using something like:
|
|
for i in $(seq -w 01 12)
|
|
do
|
|
git clean -dfqx >/dev/null
|
|
git checkout -- . >/dev/null
|
|
git checkout $(git log 3.9 --after "2022-$i-01" | grep ^commit | tail -n 1 | cut -d' ' -f2)
|
|
git show | head -n 3
|
|
python -c 'import sys; print("{:.1%}".format(int(sys.argv[1]) / int(sys.argv[2])))' \
|
|
$(ls -1 *.po */*.po | grep -v 'whatsnew/changelog\|whatsnew/2\|whatsnew/3.[0-8]' | xargs msgcat | msgattrib --translated | grep -c '^msgid') \
|
|
$(ls -1 *.po */*.po | grep -v 'whatsnew/changelog\|whatsnew/2\|whatsnew/3.[0-8]' | xargs msgcat | grep -c '^msgid')
|
|
done
|
|
"""
|
|
|
|
|
|
plt.xkcd()
|
|
|
|
# According to `make progress`
|
|
|
|
progress = {
|
|
datetime.date(2012, 10, 1): 0,
|
|
datetime.date(2012, 12, 1): 4,
|
|
datetime.date(2013, 12, 1): 4,
|
|
datetime.date(2014, 11, 1): 4,
|
|
datetime.date(2015, 12, 1): 5,
|
|
datetime.date(2016, 1, 4): 6, # f8933be
|
|
datetime.date(2016, 2, 1): 15, # very short untranslatable strings
|
|
datetime.date(2016, 3, 4): 16, # 18c7d86
|
|
datetime.date(2016, 4, 12): 17, # 4616b26
|
|
datetime.date(2016, 5, 1): 18, # dd31bac
|
|
datetime.date(2016, 6, 13): 20, # d16d992
|
|
datetime.date(2016, 7, 3): 20, # 9e52ea9
|
|
datetime.date(2016, 10, 17): 20, # efc39ad...
|
|
# Changement de repo
|
|
datetime.date(2016, 11, 5): 19, # e61fde28
|
|
datetime.date(2017, 1, 17): 19, # 384a9e5c
|
|
datetime.date(2017, 3, 5): 19.3, # 384a9e5c
|
|
datetime.date(2017, 4, 2): 19.5,
|
|
datetime.date(2017, 5, 10): 20,
|
|
datetime.date(2017, 6, 1): 21.3,
|
|
datetime.date(2017, 7, 6): 22.2,
|
|
datetime.date(2017, 8, 1): 22.2,
|
|
datetime.date(2017, 9, 5): 23.3,
|
|
datetime.date(2017, 10, 2): 24.5,
|
|
datetime.date(2017, 11, 5): 26.5,
|
|
datetime.date(2017, 12, 1): 27.1,
|
|
datetime.date(2018, 1, 4): 27.3,
|
|
datetime.date(2018, 1, 30): 27.8,
|
|
datetime.date(2018, 3, 1): 27.8,
|
|
datetime.date(2018, 5, 21): 29.9,
|
|
datetime.date(2018, 7, 2): 30,
|
|
datetime.date(2018, 8, 1): 33,
|
|
datetime.date(2018, 9, 15): 33.2,
|
|
datetime.date(2018, 11, 1): 37.6,
|
|
datetime.date(2018, 12, 7): 39.6,
|
|
datetime.date(2019, 1, 2): 40.1,
|
|
datetime.date(2019, 2, 3): 41,
|
|
datetime.date(2019, 3, 1): 43.2,
|
|
datetime.date(2019, 4, 2): 44.6,
|
|
datetime.date(2019, 5, 6): 45,
|
|
datetime.date(2019, 6, 3): 45.6,
|
|
datetime.date(2019, 7, 2): 47.1,
|
|
datetime.date(2019, 8, 13): 47.4,
|
|
datetime.date(2019, 9, 3): 49.4,
|
|
datetime.date(2019, 9, 30): 47.9, # Coût du passage en 3.8
|
|
datetime.date(2019, 10, 2): 47.9,
|
|
datetime.date(2019, 11, 1): 48.5,
|
|
datetime.date(2019, 12, 1): 48.8,
|
|
datetime.date(2020, 1, 2): 49.6,
|
|
datetime.date(2020, 2, 1): 50.0,
|
|
datetime.date(2020, 3, 3): 50.9,
|
|
datetime.date(2020, 4, 1): 51.1,
|
|
datetime.date(2020, 5, 1): 51.4,
|
|
datetime.date(2020, 6, 5): 53.2,
|
|
datetime.date(2020, 7, 1): 53.4,
|
|
datetime.date(2020, 8, 4): 52.8,
|
|
datetime.date(2020, 9, 9): 53.4,
|
|
datetime.date(2020, 10, 1): 54.1,
|
|
datetime.date(2020, 11, 6): 54.1,
|
|
datetime.date(2020, 12, 2): 54.1,
|
|
datetime.date(2021, 2, 2): 54.0,
|
|
datetime.date(2021, 3, 1): 54.4,
|
|
datetime.date(2021, 4, 1): 54.8,
|
|
datetime.date(2021, 5, 4): 55.1,
|
|
datetime.date(2021, 6, 4): 56.2,
|
|
datetime.date(2021, 7, 14): 56.4,
|
|
datetime.date(2021, 8, 5): 56.4,
|
|
datetime.date(2021, 9, 6): 56.4,
|
|
datetime.date(2021, 11, 1): 58,
|
|
datetime.date(2022, 1, 1): 58.2,
|
|
datetime.date(2022, 2, 4): 58.2,
|
|
datetime.date(2022, 4, 5): 57.2,
|
|
datetime.date(2022, 5, 26): 58.1,
|
|
datetime.date(2022, 10, 16): 58.7,
|
|
datetime.date(2022, 12, 6): 59.9,
|
|
datetime.date(2023, 1, 2): 60.3,
|
|
datetime.date(2023, 2, 4): 60.2,
|
|
datetime.date(2023, 3, 5): 60.8,
|
|
datetime.date(2023, 4, 1): 61.0,
|
|
datetime.date(2023, 7, 18): 65.4,
|
|
|
|
}
|
|
|
|
plt.rcParams["figure.figsize"] = (20, 10)
|
|
|
|
f, ax = plt.subplots(1)
|
|
ax.plot_date(list(progress.keys()), list(progress.values()), linestyle="-")
|
|
ax.annotate(
|
|
"Bump to 3.10",
|
|
(datetime.date(2021, 9, 24), 56.4),
|
|
xytext=(datetime.date(2021, 9, 24), 40),
|
|
arrowprops={"arrowstyle": "->"},
|
|
)
|
|
ax.annotate(
|
|
"Bump to 3.9",
|
|
(datetime.date(2020, 8, 4), 52.8),
|
|
xytext=(datetime.date(2020, 6, 5), 35),
|
|
arrowprops={"arrowstyle": "->"},
|
|
)
|
|
ax.annotate(
|
|
"Bump to 3.8",
|
|
(datetime.date(2019, 9, 30), 47.9),
|
|
xytext=(datetime.date(2019, 9, 4), 30),
|
|
arrowprops={"arrowstyle": "->"},
|
|
)
|
|
ax.annotate(
|
|
"Meetups AFPy mensuels",
|
|
(datetime.date(2018, 9, 1), 29.4),
|
|
xytext=(-10, -40),
|
|
textcoords="offset points",
|
|
arrowprops={"arrowstyle": "->"},
|
|
)
|
|
ax.annotate(
|
|
"/python/python-docs-fr/",
|
|
(datetime.date(2016, 11, 5), 23.5),
|
|
xytext=(-100, 50),
|
|
textcoords="offset points",
|
|
arrowprops={"arrowstyle": "->"},
|
|
)
|
|
ax.annotate(
|
|
"Working on very short strings",
|
|
(datetime.date(2016, 1, 15), (6 + 16) / 2),
|
|
xytext=(-10, -50),
|
|
textcoords="offset points",
|
|
arrowprops={"arrowstyle": "->"},
|
|
)
|
|
plt.ylabel("%")
|
|
ax.set_ylim(ymin=0)
|
|
plt.savefig("static/fr_translation_percent.png")
|