]> git.0d.be Git - panikweb-esperanzah.git/blobdiff - panikweb_esperanzah/management/commands/import_bonnes_ondes.py
trivial: apply pre-commit configuration
[panikweb-esperanzah.git] / panikweb_esperanzah / management / commands / import_bonnes_ondes.py
index d637105c1717fe945e6878e5b3b5e825006c52f4..89d33acac51ff90430505efc308668159db13d69 100644 (file)
@@ -1,28 +1,30 @@
-# coding: utf-8
-
 import os
-import yaml
-import textile
-from pytz import timezone
 
+import textile
+import yaml
 from django.core.files import File
 from django.core.management.base import BaseCommand, CommandError
 from django.utils.timezone import make_naive, utc
+from emissions.models import Diffusion, Emission, Episode, SoundFile
+from pytz import timezone
 
-from emissions.models import Emission, Episode, SoundFile, Diffusion
 
 def construct_ruby_object(loader, suffix, node):
     return loader.construct_yaml_map(node)
 
+
 def construct_ruby_sym(loader, node):
     return loader.construct_yaml_str(node)
 
-yaml.add_multi_constructor(u"!ruby/object:", construct_ruby_object)
-yaml.add_constructor(u"!ruby/sym", construct_ruby_sym)
+
+yaml.add_multi_constructor("!ruby/object:", construct_ruby_object)
+yaml.add_constructor("!ruby/sym", construct_ruby_sym)
+
 
 def get_as_html(text):
     return textile.textile(text)
 
+
 class Command(BaseCommand):
     def add_arguments(self, parser):
         parser.add_argument('--dirname', metavar='DIRNAME')
@@ -31,11 +33,9 @@ class Command(BaseCommand):
     def handle(self, dirname, edition, *args, **kwargs):
         print(dirname, edition)
         emission, created = Emission.objects.get_or_create(
-                slug='edition-%s' % edition,
-                defaults={
-                    'title': u'Édition %s' % edition,
-                    'text': u'<p>Une bien belle année.</p>'
-                })
+            slug='edition-%s' % edition,
+            defaults={'title': 'Édition %s' % edition, 'text': '<p>Une bien belle année.</p>'},
+        )
         show = yaml.load(open(os.path.join(dirname, 'show.yaml')))
         emission.title = show['attributes']['name']
         emission.text = get_as_html(show['attributes']['description'])
@@ -46,22 +46,29 @@ class Command(BaseCommand):
         episodes = yaml.load(open(os.path.join(dirname, 'episodes.yaml')))
         images = {}
         for image_data in yaml.load(open(os.path.join(dirname, 'images.yaml'))):
-            images[image_data['attributes']['id']] = image_data['attributes']['content_uid'].encode('raw_unicode_escape').decode('utf-8')
+            images[image_data['attributes']['id']] = (
+                image_data['attributes']['content_uid'].encode('raw_unicode_escape').decode('utf-8')
+            )
 
         episode_ids = {}
         for episode_data in episodes:
             episode, created = Episode.objects.get_or_create(
-                    slug=episode_data['attributes']['slug'],
-                    emission=emission,
-                    defaults={
-                        'title': episode_data['attributes']['title'],
-                    })
+                slug=episode_data['attributes']['slug'],
+                emission=emission,
+                defaults={
+                    'title': episode_data['attributes']['title'],
+                },
+            )
             episode.diffusions().delete()
-            broadcasted_at = utc.localize(episode_data['attributes']['broadcasted_at']).astimezone(europe_brussels)
+            broadcasted_at = utc.localize(episode_data['attributes']['broadcasted_at']).astimezone(
+                europe_brussels
+            )
             Diffusion(episode=episode, datetime=make_naive(broadcasted_at)).save()
             episode.text = get_as_html(episode_data['attributes']['description'])
             if not episode.image and episode_data['attributes'].get('image_id'):
-                episode.image = File(open(os.path.join(dirname, 'images', images[episode_data['attributes']['image_id']])))
+                episode.image = File(
+                    open(os.path.join(dirname, 'images', images[episode_data['attributes']['image_id']]))
+                )
             episode.save()
             episode_ids[episode_data['attributes']['id']] = episode.id
 
@@ -79,9 +86,10 @@ class Command(BaseCommand):
                     continue
             episode = episode_ids[soundfile_data['attributes']['episode_id']]
             soundfile, created = SoundFile.objects.get_or_create(
-                    episode_id=episode,
-                    title=soundfile_data['attributes']['name'],
-                    fragment=not(soundfile_data['attributes']['principal']))
+                episode_id=episode,
+                title=soundfile_data['attributes']['name'],
+                fragment=not (soundfile_data['attributes']['principal']),
+            )
             soundfile.podcastable = True
             soundfile.file = File(open(filepath))
             soundfile.save()