patacrep / patanet

Web interface for LaTeX songbook generation
GNU Affero General Public License v3.0
10 stars 3 forks source link

Cannot import parsesong from patacrep.latex #138

Closed oliverpool closed 9 years ago

oliverpool commented 9 years ago

Sûrement à cause d'une mise à jour du côté de patacrep, le script d'import des chants ./manage.py importsongs ne fonctionne plus.

from patacrep.latex import parsesong
ImportError: cannot import name 'parsesong'

Dans le fichier generator/management/songs.py.

J'ai essayé de regarder un peu dans le dossier latex de patacrep, mais je n'ai pas trouvé de solution propre.

Faut-il utiliser l'objet Song ? (ping @Luthaf ou @paternal)

oliverpool commented 9 years ago

J'ai fait un fix (assez sale probablement):

diff --git a/generator/management/songs.py b/generator/management/songs.py
index 40bd666..24037d7 100644
--- a/generator/management/songs.py
+++ b/generator/management/songs.py
@@ -20,7 +20,7 @@ from django.conf.global_settings import LANGUAGES
 from django.utils.text import slugify

 from generator.models import Song, Artist
-from patacrep.latex import parsesong
+from patacrep.latex import parse_song

 import pygit2 as git
 import pprint
@@ -30,10 +30,13 @@ LOGGER = logging.getLogger(__name__)

 def import_song(filepath, song_directory):
     '''Import a song in the database'''
-    data = parsesong(filepath, "UTF8")
+    with open(filepath) as song:
+        data = parse_song(song.read(), filepath)
     LOGGER.info("Processing " +
                 pprint.pformat(data['@titles'][0]))
Luthaf commented 9 years ago

Ça ne me semble pas trop mal. Tu es bien sur la branche Python3 ?

oliverpool commented 9 years ago

Oui

paternal commented 9 years ago

Si ça marche, tant mieux. Par contre, en faisant cela, vous ne pourrez utiliser que des chansons au format LaTeX. Or il me semble que patanet gèrera aussi, voire exclusivement, des chansons au format chordpro.

Il vous faut plutôt utiliser l'objet Song, qui fera, entre autre :

Le travail en cours dans patacrep/patacrep#79 change plusieurs choses ; je vous conseille de travailler avec cette branche ou d'attendre son intégration dans master.

Et du coup, puisque vous ne manipulez plus le même objet, il faudra changer la suite du code de patanet.

oliverpool commented 9 years ago

Pour l'instant Patanet ne gère pas vraiment les chansons (que ce soit en LaTeX ou ChrodPro).

Du coup mon patch est juste une réparation rapide et on va attendre l'intégration de l'issue que tu cites pour implémenter le tout dans patanet!

oliverpool commented 9 years ago

"Pushé": 9802593