summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2021-03-08 21:59:45 +0100
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2021-03-08 22:01:56 +0100
commitabe13f4e73c2e15b26ef9fa3334e88ad97c5a126 (patch)
treea887f5a5589c2f2636d65c6a90970469c14aaa18
parentf2559fee5f7caeaa773fdd8708f11e2441976039 (diff)
downloadquatuorbellefeuille.com-abe13f4e73c2e15b26ef9fa3334e88ad97c5a126.tar.xz
Move all programs into a single file
This means we do not need to keep track of their order out-of-band, and it will allow members to edit them without me whipping up an ad-hoc file-upload dialog on the admin page.
-rw-r--r--Makefile8
-rwxr-xr-xbuild-programs.py31
-rw-r--r--david.membre.in (renamed from david.in)0
-rw-r--r--enguerrand.membre.in (renamed from enguerrand.in)0
-rw-r--r--hervé.membre.in (renamed from hervé.in)0
-rw-r--r--programs.in41
-rw-r--r--programs/beethoven.in13
-rw-r--r--programs/champagne.in13
-rw-r--r--programs/conspirito.in13
-rw-r--r--programs/programs.list3
-rw-r--r--sophie.membre.in (renamed from sophie.in)0
11 files changed, 57 insertions, 65 deletions
diff --git a/Makefile b/Makefile
index 88cfa78..833931f 100644
--- a/Makefile
+++ b/Makefile
@@ -6,8 +6,8 @@ dirnames = $(sort $(call dirname,$(1)))
pages_src = $(filter-out template.html,$(wildcard *.html))
pages = $(foreach p,$(pages_src),$(OUTDIR)/$(p))
-members_src = $(basename $(wildcard *.in))
-members_pages = $(foreach m,$(members_src),$(OUTDIR)/$(m).html)
+members_src = $(wildcard *.membre.in)
+members_pages = $(patsubst %.membre.in,$(OUTDIR)/%.html,$(members_src))
feeds = $(wildcard *.xml)
resources_src = $(feeds)
@@ -40,11 +40,11 @@ $(stylesheets): $(OUTDIR)/%: % | $(stylesheets_folders)
$(pages): $(OUTDIR)/%.html: %.html %.sh template.html | $(OUTDIR)
./build.sh $< $*.sh $@
-$(members_pages): $(OUTDIR)/%.html: %.in build-member.sh template.html | $(OUTDIR)
+$(members_pages): $(OUTDIR)/%.html: %.membre.in build-member.sh template.html | $(OUTDIR)
./build-member.sh $< $@
$(OUTDIR)/quatuor.html: quatuor.md
-$(OUTDIR)/programmes.html: $(wildcard programs/*)
+$(OUTDIR)/programmes.html: programs.in
clean:
-rm -r $(OUTDIR)
diff --git a/build-programs.py b/build-programs.py
index 513abbe..69c7057 100755
--- a/build-programs.py
+++ b/build-programs.py
@@ -1,28 +1,22 @@
#!/usr/bin/env python3
import html
-from pathlib import Path
import re
from subprocess import run
-def read_programs(plist):
- with open(plist) as l:
- return tuple(Path('programs', p.strip()) for p in l)
-
-
PROGRAM_RE = re.compile('\n'.join((
- 'NOM : (?P<name>.+)',
- 'COMPOSITEURS : (?P<composers>.+)',
+ r'NOM : (?P<name>[^\n]+)',
+ r'COMPOSITEURS : (?P<composers>[^\n]+)',
'DESCRIPTION :',
- '(?P<description>.+)',
+ '(?P<description>.+?)',
'MORCEAUX :',
- '(?P<pieces>.+)'
+ r'(?P<pieces>(?:- [^\n]+\n)*- [^\n]+)'
)), flags=re.DOTALL)
-def parse(filename):
- with open(filename) as program:
- return PROGRAM_RE.match(program.read()).groupdict()
+def read_programs(programs):
+ with open(programs) as f:
+ return tuple(re.finditer(PROGRAM_RE, f.read()))
BLOCK_TEMPLATE = '''\
@@ -45,24 +39,23 @@ def piece(p):
return '<li class="intermission">entracte</li>'
return f'<li>{html.escape(p)}</li>'
-def print_program(filename):
- info = parse(filename)
-
+def print_program(info):
info['description'] = run(
('pandoc',),
input=info['description'], capture_output=True, text=True, check=True
).stdout
info['pieces'] = '\n'.join(
- piece(p) for p in info['pieces'].splitlines()
+ piece(p[2:]) # Assume p.startswith('- ').
+ for p in info['pieces'].splitlines()
)
print(BLOCK_TEMPLATE.format_map(info))
def main():
- for p in read_programs('programs/programs.list'):
- print_program(p)
+ for p in read_programs('programs.in'):
+ print_program(p.groupdict())
if __name__ == '__main__':
diff --git a/david.in b/david.membre.in
index 19d6ed9..19d6ed9 100644
--- a/david.in
+++ b/david.membre.in
diff --git a/enguerrand.in b/enguerrand.membre.in
index 4b872cd..4b872cd 100644
--- a/enguerrand.in
+++ b/enguerrand.membre.in
diff --git a/hervé.in b/hervé.membre.in
index 4e38861..4e38861 100644
--- a/hervé.in
+++ b/hervé.membre.in
diff --git a/programs.in b/programs.in
new file mode 100644
index 0000000..650dafa
--- /dev/null
+++ b/programs.in
@@ -0,0 +1,41 @@
+NOM : Beethoven
+COMPOSITEURS : Beethoven, Beethoven, Beethoven
+DESCRIPTION :
+1h50 avec entracte
+
+> Croyez-vous que je pense à vos misérables cordes quand l'esprit me parle ?
+
+Voilà ce qu’aurait répondu Beethoven au quatuor Schuppanzigh qui se serait plaint de la difficulté technique de ses quatuors à cordes. Du trio au quatuor, explorez l’univers d’un Beethoven sans concession et sans limite. De l’infiniment petit à l’immensité de l’univers, de l’introspection la plus intime à la transcendance la plus totale, (re-)découvrez son écriture contrastée et éternellement moderne.
+MORCEAUX :
+- Trio op.9 n°3 (1798)
+- Quatuor op.18 n°4 (1799)
+- entracte
+- Quatuor op.59 n°1 (1806)
+
+NOM : Con Spirito
+COMPOSITEURS : Haydn, Beethoven, Mendelssohn
+DESCRIPTION :
+2h00 avec entracte
+
+Ce programme plein d’esprit, énergique et espiègle réunit trois compositeurs germaniques. On y retrouve des caractères communs à la musique ultra-rhénane : la structure, la puissance, l’explosivité et la virtuosité.
+
+L’écoute des trois mouvements lents nous fait mesurer l’évolution du style classique au style romantique. La pureté et l’équilibre d’une écriture chorale dans l’Adagio sostenuto de Haydn, l’intériorité du sentiment dans la triste complainte de l’Adagio molto e mesto de Beethoven et la mélancolie douce et rêveuse de l’Andante espressivo ma con moto de Mendelssohn.
+MORCEAUX :
+- Haydn — quatuor op.76 n°1 (1797)
+- Beethoven — quatuor op.59 n°1 (1806)
+- entracte
+- Mendelssohn — quatuor op.44 n°1 (1839)
+
+NOM : Champagne
+COMPOSITEURS : Mozart, Mendelssohn, Ravel
+DESCRIPTION :
+1h50 avec entracte
+
+Partez à la découverte d’un répertoire pétillant, effervescent et lumineux.
+
+Ces quatuors écrits par trois compositeurs de trois siècles différents nous évoquent tous les caractères du champagne : la noblesse et la majesté chez Mozart, la fête et l’ivresse avec Mendelssohn tandis que Ravel y contemple les jeux de bulles et de lumière.
+MORCEAUX :
+- Mozart — quatuor op.10 n°3 KV. 458 « La chasse » (1785)
+- Mendelssohn — quatuor op.44 n°1 (1839)
+- entracte
+- Ravel — quatuor à cordes (1903)
diff --git a/programs/beethoven.in b/programs/beethoven.in
deleted file mode 100644
index d2b2538..0000000
--- a/programs/beethoven.in
+++ /dev/null
@@ -1,13 +0,0 @@
-NOM : Beethoven
-COMPOSITEURS : Beethoven, Beethoven, Beethoven
-DESCRIPTION :
-1h50 avec entracte
-
-> Croyez-vous que je pense à vos misérables cordes quand l'esprit me parle ?
-
-Voilà ce qu’aurait répondu Beethoven au quatuor Schuppanzigh qui se serait plaint de la difficulté technique de ses quatuors à cordes. Du trio au quatuor, explorez l’univers d’un Beethoven sans concession et sans limite. De l’infiniment petit à l’immensité de l’univers, de l’introspection la plus intime à la transcendance la plus totale, (re-)découvrez son écriture contrastée et éternellement moderne.
-MORCEAUX :
-Trio op.9 n°3 (1798)
-Quatuor op.18 n°4 (1799)
-entracte
-Quatuor op.59 n°1 (1806)
diff --git a/programs/champagne.in b/programs/champagne.in
deleted file mode 100644
index 47a0fee..0000000
--- a/programs/champagne.in
+++ /dev/null
@@ -1,13 +0,0 @@
-NOM : Champagne
-COMPOSITEURS : Mozart, Mendelssohn, Ravel
-DESCRIPTION :
-1h50 avec entracte
-
-Partez à la découverte d’un répertoire pétillant, effervescent et lumineux.
-
-Ces quatuors écrits par trois compositeurs de trois siècles différents nous évoquent tous les caractères du champagne : la noblesse et la majesté chez Mozart, la fête et l’ivresse avec Mendelssohn tandis que Ravel y contemple les jeux de bulles et de lumière.
-MORCEAUX :
-Mozart — quatuor op.10 n°3 KV. 458 « La chasse » (1785)
-Mendelssohn — quatuor op.44 n°1 (1839)
-entracte
-Ravel — quatuor à cordes (1903)
diff --git a/programs/conspirito.in b/programs/conspirito.in
deleted file mode 100644
index f8c8cc9..0000000
--- a/programs/conspirito.in
+++ /dev/null
@@ -1,13 +0,0 @@
-NOM : Con Spirito
-COMPOSITEURS : Haydn, Beethoven, Mendelssohn
-DESCRIPTION :
-2h00 avec entracte
-
-Ce programme plein d’esprit, énergique et espiègle réunit trois compositeurs germaniques. On y retrouve des caractères communs à la musique ultra-rhénane : la structure, la puissance, l’explosivité et la virtuosité.
-
-L’écoute des trois mouvements lents nous fait mesurer l’évolution du style classique au style romantique. La pureté et l’équilibre d’une écriture chorale dans l’Adagio sostenuto de Haydn, l’intériorité du sentiment dans la triste complainte de l’Adagio molto e mesto de Beethoven et la mélancolie douce et rêveuse de l’Andante espressivo ma con moto de Mendelssohn.
-MORCEAUX :
-Haydn — quatuor op.76 n°1 (1797)
-Beethoven — quatuor op.59 n°1 (1806)
-entracte
-Mendelssohn — quatuor op.44 n°1 (1839)
diff --git a/programs/programs.list b/programs/programs.list
deleted file mode 100644
index af8d5c7..0000000
--- a/programs/programs.list
+++ /dev/null
@@ -1,3 +0,0 @@
-beethoven.in
-conspirito.in
-champagne.in
diff --git a/sophie.in b/sophie.membre.in
index 0054a3d..0054a3d 100644
--- a/sophie.in
+++ b/sophie.membre.in