coderdojo.jp icon indicating copy to clipboard operation
coderdojo.jp copied to clipboard

DojoCast から "収録日: yyyy/MM/DD" を削除したい

Open yasulab opened this issue 5 years ago • 9 comments

DojoCast が SoundCloud 対応したので、 収録日: yyyy/MM/DD の部分も SoundCloud から取得してDBに格納→表示という流れにしようと考えています🤔💭

現状では 収録日: yyyy/MM/DD の部分って parse して何かしらの仕組みで使っている感じっぽい 👀 💨

exists? ? Time.parse(content.lines.second.gsub(/<.+?>/, '').delete('収録日: ')) : nil

https://github.com/coderdojo-japan/coderdojo.jp/blob/master/app/models/sound_cloud_track.rb

背景

🤔.oO(英語の Episode も増えてきたので、国際化対応とか考えると、Static に日本語を入力するのはどこかの段階で外しておくと良いのかなぁと考えています)

  • https://coderdojo.jp/podcasts/12
  • https://coderdojo.jp/podcasts/10

(そのためには 収録日: yyyy/MM/DD を parse する部分を改善する必要がありそうかな、という流れ)

技術的な課題

Comments by @chicaco

残念ながら、SoundCloud の track 情報に「収録日」にあたる属性がなかったと思います...。 https://developers.soundcloud.com/docs/api/reference#tracks https://github.com/coderdojo-japan/coderdojo.jp/pull/431#pullrequestreview-235385674

収録日も soundcloud_tracks T に持ちたかったんですが、SoundCloud から upsert した後で、収録日を追加登録しないといけなさそうと思い、断念したのでした。

yasulab avatar May 24 '19 02:05 yasulab

💡 アイデア: Using Release Date as a 収録日

image

yasulab avatar Jun 14 '19 12:06 yasulab

SoundCloud の track 情報が持つ Release date を「収録日」代わりに使用する案ですが、各 track に Release date を設定後、GET /events で release_year, release_month, release_day を取得できることを確認しました。 sound_cloud_track T に収録日カラムを追加して、"release_year/release_month/release_day" を登録すればよさそうです!

chicaco avatar Jun 14 '19 14:06 chicaco

SoundCloud の DojoCast の全 track について、"Release date" に収録日を設定済みです! https://soundcloud.com/coderdojo-japan

chicaco avatar Jun 17 '19 00:06 chicaco

現在は、public/podcasts 下の .md というファイルに各 podcast の詳細説明を作成していて、その 2 行目にある "収録日: YYYY/MM/DD" という部分から収録日を読み取って処理しています。 これを、SoundCloud の track 情報が持つ Release date から取得して来るように変更します。

chicaco avatar Jun 17 '19 00:06 chicaco

💡 進め方案 🤔 app/models/sound_cloud_track.rb と lib/tasks/soundcloud_tracks.rake, app/controllers/podcasts_controller.rb に目を通してください! SoundCloud から podcast 情報を取得して CoderDojo 側の DB にその情報を保存する rake タスクと、https://coderdojo.jp/podcasts ページを表示する部分です。

その後、コードに手を入れる前に PR を起票していただいて、やることリストを共有するのがよいかな、と思っています。

chicaco avatar Jun 19 '19 00:06 chicaco

SoundCloud から podcast 情報を取得して CoderDojo 側の DB にその情報を保存する rake タスク rake soundcloud_tracks:upsert ですが、環境変数 SOUNDCLOUD_CLIENT_ID の設定が必要です。 現在は SOUNDCLOUD_USER_ID も必要なんですが、こちらは固定でよいので修正しましょう...。

■ SOUNDCLOUD_CLIENT_ID の設定方法

https://soundcloud.com/ にアカウントを作成して、F12 で DevTools を開き、[Network] の GET リクエストのパラメータの中から client_id を見付け、これを SOUNDCLOUD_CLIENT_ID に設定してください。

chicaco avatar Jun 19 '19 01:06 chicaco

@chicaco 見てみたのですがちょっと難しそうでした😭この issue お願いしてもいいですか?😭

Yuppymam avatar Aug 04 '19 05:08 Yuppymam

この issue お願いしてもいいですか?😭

了解です 👍

chicaco avatar Aug 05 '19 00:08 chicaco

📝 #509 をマージしたら、<id>.md から「収録日: yyyy/MM/DD」を削除する。

chicaco avatar Aug 14 '19 23:08 chicaco