Skip to content

Commit

Permalink
feat: add shows/articles
Browse files Browse the repository at this point in the history
  • Loading branch information
florentsorel committed Jun 18, 2024
1 parent e14959e commit eddb96c
Show file tree
Hide file tree
Showing 7 changed files with 150 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ func main() {
- [x] Display the list of series to discover on major SVoD platforms (GET /shows/discover_platforms)
- [x] Display the list of available series genres (GET /shows/genres)
- [x] Display the seasons of the series (GET /shows/seasons)
- [ ] Display blog articles that talk about the series (GET /shows/articles)
- [x] Display blog articles that talk about the series (GET /shows/articles)
- [ ] Retrieve the list of finished and unrated series (GET /shows/unrated) - Token
</details>
<details>
Expand Down
17 changes: 17 additions & 0 deletions articles.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package gotaseries

type articlesResponse struct {
Articles []Article `json:"articles"`
Errors Errors `json:"errors"`
}

type Article struct {
ID int `json:"id,string"`
Date DateTime `json:"date"`
Title string `json:"title"`
Excerpt *string `json:"excerpt"`
Content string `json:"content"`
Slug string `json:"slug"`
Image string `json:"image"`
Sticky BoolFromString `json:"sticky"`
}
76 changes: 76 additions & 0 deletions data/shows/articles.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"articles": [
{
"id": "71166",
"date": "2024-01-18 17:30:00",
"excerpt": "Les années 80 à Los Angeles sont de retour dans Angelyne, une mini-série mettant en scène Emmy Rossum sur OCS.",
"content": "<p>Si on vous parle d’<a href=\"https://www.betaseries.com/serie/angelyne\">Angelyne</a>, il serait plus que probable que vous ne sachiez pas de qui il s’agit puisqu’on est dans la pop culture américaine assez localisée, celle de Los Angeles. Cette Angelyne était la reine des panneaux publicitaires géants, les fameux billboards de Los Angeles. Pour donner du contexte, vers 1981, des panneaux publicitaires mettant en vedette une blonde plantureuse arborant une coiffure bouffante et pas grand-chose d'autre ont commencé à apparaître dans toute la ville. Affichant un seul mot « Angelyne » et un numéro de téléphone, les publicités ont suscité des reportages médiatiques locaux frénétiques. Elle a été pionnière du concept de « célèbre pour être célèbre » avant l’ère des réseaux sociaux. La série débarque sur <a href=\"https://www.betaseries.com/link/24963/2/fr\">OCS</a>.</p><p>Le désir de comprendre Angelyne, qui elle était, quelle était la motivation derrière les publicités, que vendait-elle, a été l'impulsion derrière l’article du Hollywood Reporter de Gary Baum, \"Le mystère de la vraie identité d'Angelyne, la diva des panneaux d'affichage de L.A., est enfin résolu\", qui a dévoilé un pan sur la vie de la starlette. C’est à partir de cet article que la mini-série a été créée par Nancy Oliver et développée et showrunnée par Allison Miller (The Resort).&nbsp;<a href=\"https://www.betaseries.com/personne/115436-emmy-rossum\">Emmy Rossum</a>(<a href=\"https://www.betaseries.com/serie/shamelessus\">Shameless</a>) incarne une Angelyne influenceuse avant les réseaux sociaux, et la série est en soi une histoire par essence hollywoodienne où la performance, la réinvention et l’expression de soi, est synonyme de célébrité et de rêve. Le format faux documentaire biographique permet à cette Angelyne fictive de reprendre le pouvoir sur la narration et elle peut ainsi raconter son histoire. Chaque épisode se concentre sur une personne clé de sa vie et on y voit les opinions et les biais de tout le monde.&nbsp;</p><p>Une grande partie du succès de la série repose sur Emmy Rossum, qui fait double emploi dans la série en tant que productrice exécutive aux côtés de son partenaire dans la vie <a href=\"https://www.betaseries.com/personne/3304-sam-esmail\">Sam Esmail</a> (<a href=\"https://www.betaseries.com/serie/mr-robot\">Mr. Robot</a>) et en tant qu'interprète de l'icône éponyme. Elle est dans son rôle et totalement engagée à faire d'Angelyne plus qu'une simple pin-up. Et le fait qu’on la voit de l'âge tendre de 17 ans jusqu'à aujourd'hui, à 70 ans, laisse du temps (et beaucoup de maquillage) à Rossum pour parfaire le personnage. Il parait qu’on peut encore voir la vraie Angelyne au volant de sa Corvette rose dans les rues de Los Angeles.</p>",
"title": "Angelyne, l’icone de Los Angeles",
"slug": "angelyne-licone-de-los-angeles",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2024/01/ANGELYNE.jpg",
"sticky": true
},
{
"id": "62809",
"date": "2023-05-05 17:30:00",
"excerpt": "Les trois séries de la reco du weekend ont beaucoup de charme, d’enjeux et surtout de l'action.",
"content": "<p>C’est le moment de se poser devant son écran pour profiter de divertissements sans se prendre la tête. Avec ces trois séries d’agents secrets qui doivent remplir des missions, profitez de l’action.</p><p><a href=\"https://www.betaseries.com/serie/citadel\">Citadel</a>, produite par les frères Russo, a été annoncée comme une série d'espionnage d'une ampleur jamais vue auparavant sur Prime Video. Citadel est une agence d'espionnage internationale indépendante, fondée dans le but de défendre la sécurité des citoyens, qui a été détruite par des agents de Manticore, une entité mystérieuse qui dirige le monde depuis l'ombre. Après la disparition de l’agence, les agents d'élite Mason Kane (<a href=\"https://www.betaseries.com/personne/3659-richard-madden\">Richard Madden</a>) et Nadia Sinh (<a href=\"https://www.betaseries.com/personne/70059-priyanka-chopra-jonas\">Priyanka Chopra Jonas</a>) ont perdu la mémoire mais ont miraculeusement réussi à se sauver. De l’action, du suspens, du glamour, le tout sur un fond de protection de l’humanité et de la liberté, un bon divertissement en somme.</p><p>Beaucoup de drama a eu lieu en coulisses, les anciens showrunners ont été remplacés et le nouveau a dû re-tourner de nombreuses scènes ce qui a amené la série à être l’une des plus chères de Prime Video. La saison qui devait être composée de 8 épisodes a finalement été réduite à 6. Mais il s’agit normalement du début d’une franchise, avec deux spin-offs prévus par la suite qui se dérouleraient Mexique, en Italie et en Inde, l’ensemble supervisé par les Russo.</p>",
"title": "Trois séries d’agents secrets qui sauvent le monde",
"slug": "trois-series-dagents-secrets-qui-sauvent-le-monde",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2023/05/reco-we-0505.jpg",
"sticky": "0"
},
{
"id": "56293",
"date": "2022-10-05 17:30:00",
"excerpt": "La série plébiscitée outre-Atlantique arrive enfin en France sur Disney+ avec ses 8 épisodes à ne pas rater.",
"content": "<p>Plongée dans les coulisses d’une sandwicherie chicagolaise : du bruit, de la viande qui grille, des pains en pagaille, encore du bruit, quelques sauces qui trainent, des factures qui s’empilent, toujours du bruit, de la vaisselle, des clients qui passent, une borne d’arcade collector. Michael, son propriétaire vient de se suicider et il a laissé l’affaire à son jeune frère, Carmy, qui débarque de ses établissements étoilés pour revenir dans cette petite cuisine. À partir de là, l’ambiance est au conflit. Que ce soit avec le reste des employés qu’avec les fournisseurs, ou même un conflit intérieur avec lui-même. Pourquoi Michael a-t-il voulu que Carmy reprenne la main alors que leurs univers sont si différents ?&nbsp;</p><p>Découvrez&nbsp;<a href=\"https://www.betaseries.com/serie/the-bear\">The Bear</a>&nbsp;de Christopher Storer (qui réalise plusieurs épisodes) sur <a href=\"https://www.betaseries.com/link/30517/246/fr\">Disney+</a> à partir du 5 octobre.</p><p>The Bear est avant tout une histoire de reconstruction. De la confiance, de la réputation, de soi. Carmy avait tout pour réussir ailleurs, mais il a préféré revenir aux sources pour comprendre son frère. Mais ça veut dire que toutes les responsabilités de tenir la cuisine lui incombent, les dettes, les plats médiocres, tout. Chaque décision est contrée par des protestations, avec son mauvais caractère il ne va pas charmer tout le monde. C’est que Jeremy Allen White nous avait manqué depuis la fin de <a href=\"https://www.betaseries.com/serie/shamelessus\">Shameless</a>. Il revient dans un rôle sur mesure où sa mine renfrognée et sa colère contenue correspondent parfaitement à son personnage. Et son charisme inexpliqué fonctionne toujours. On ne voit que très peu son frère, campé par Jon Berthal dans un flashback, mais il y a clairement une ressemblance entre eux, l’école de la débrouillardise.&nbsp;</p>",
"title": "The Bear : cauchemar en cuisine",
"slug": "the-bear-cauchemar-en-cuisine",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2022/10/Quand-The-Bear-de-FX-sera-t-il-sur-Hulu.jpeg",
"sticky": "0"
},
{
"id": "56029",
"date": "2022-09-29 17:30:00",
"excerpt": "Quelles sont les séries à ne pas rater en octobre ?",
"content": "<p>Un mois assez chargé en nouveautés, surtout du côté de la création française.</p><p>Florence Foresti arrive pour la première fois dans sa propre série où elle joue Florence, une version décalée d’elle-même avec les éléments de sa vie. L’humoriste parle de sa quarantaine, et crée une version de <a href=\"https://www.betaseries.com/serie/sexandthecity\">Sex &amp; the City</a> à sa sauce en l’assumant complètement.&nbsp;<a href=\"https://www.betaseries.com/serie/desordres\">Désordres</a>&nbsp;c’est tout ce qui passe par sa tête mais surtout son message pour prendre soin de sa santé mentale.</p><p>Les dessous d’une petite cuisine chicagolaise de viandard, voilà ce que vous découvrirez dans&nbsp;<a href=\"https://www.betaseries.com/serie/the-bear\">The Bear</a>. Suite à la mort de son frère Micky, Carmy va reprendre le petit fast-food familial. Lui qui a travaillé dans les plus grands restaus du monde va devoir gérer l’administratif et ses employés qui lui mènent la vie dure. Jeremy Allen White de&nbsp;<a href=\"https://www.betaseries.com/serie/shamelessus\">Shameless</a>&nbsp;revient avec un rôle sur mesure.</p>",
"title": "Les séries à ne pas rater en octobre",
"slug": "les-series-a-ne-pas-rater-en-octobre-2022",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2022/09/series-octobre-2022.jpg",
"sticky": "0"
},
{
"id": "45979",
"date": "2022-04-25 11:00:00",
"excerpt": "Quelles étaient les news sérielles de la semaine ?",
"content": "<p>Cette année marque le centenaire du début de la BBC et la chaîne nationale en a profité pour célébrer cet anniversaire avec&nbsp;<a href=\"https://www.betaseries.com/serie/doctorwho\">Dr Who</a>. La série en profitera pour faire ses adieux à Jodie Whittaker dans son rôle du 13e Docteur et on saura probablement à ce moment-là l’identité du prochain…</p><p>Si en France on ne connait que très peu toutes ses mannequins renommées pour avoir été placardées sur les énormes billboards américains, il semblerait que la blonde&nbsp;<a href=\"https://www.betaseries.com/serie/angelyne\">Angelyne</a>&nbsp;de LA soit l’une des plus emblématiques. Mystère et séduction entourent la femme interprétée dans cette mini-série par Emmy Rossum qu’on retrouve enfin après la fin de&nbsp;<a href=\"https://www.betaseries.com/serie/shamelessus\">Shameless</a>. Pas de diffuseur français n’est prévu pour le moment.</p><p>Pour le dernier épisode de la saison 18 de <a href=\"https://www.betaseries.com/serie/greysanatomy\">Grey’s Anatomy</a> qui sera diffusé le 26 mai aux États-Unis, la série annonce le retour de Jackson et April le temps d’un épisode. La première avait déménagé à Boston avec son mari (ex-mari depuis) et Jackson l’avait suivie pour être plus proche de leur fille. Qu’allons-nous apprendre de leur vie dans ce prochain épisode ?</p>",
"title": "Grey’s Anatomy, La roue du temps, The Gilded Age dans le Flash Séries",
"slug": "greys-anatomy-la-roue-du-temps-the-gilded-age-dans-le-flash-series",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2022/04/Eve-of-the-Daleks-trio-cropped-9a088ed-e1644141557914.jpeg",
"sticky": "0"
},
{
"id": "33140",
"date": "2021-08-14 18:00:00",
"excerpt": "Plongez dans le monde du catch avec la nouvelle série de Michael Waldron, créateur de Loki.",
"content": "<p>Alors que Michael Waldron fait l’actualité avec <a href=\"https://www.betaseries.com/serie/marvels-loki\">Loki</a> sur Disney+, c’est un projet de longue date du scénariste qui voit le jour sur <a href=\"https://www.betaseries.com/tag/lionsgateplus\">Lionsgate+</a> (anciennement Starzplay) à partir du 15 août. L’écriture de <a href=\"https://www.betaseries.com/serie/heels-2020\">Heels</a> a été initiée il y a plus de 10 ans, avec une production prévue en 2012 pour la chaine Starz. Si le projet n’a pas pu prendre vie à l’époque, il renait de ses cendres en 2017, toujours sur Starz, pour enfin mettre en image le sujet de coeur de Waldron : le monde du catch.</p><p>Dans Heels, on suit l’histoire de deux frères qui ont baigné dans le milieu du catch professionnel depuis leur tendre enfance. Jack (Stephen Amell, <a href=\"https://www.betaseries.com/serie/arrow\">Arrow</a>) gère la ligue indépendante d’une petite ville de Georgie, tout en étant l’une des têtes d’affiche. Face à lui, son rival sur le ring et son frère en coulisse, Ace (Alexander Ludwig, <a href=\"https://www.betaseries.com/serie/vikings\">Vikings</a>), dont l’aura auprès du public lui octroie des rêves de grandeurs. Les deux frères se partagent l’héritage de leur père, une ancienne gloire du catch, alors que Ace semble bien décidé à passer pro et quitter sa ville natale.</p><p>La série nous fait découvrir un monde un peu méconnu en Europe à travers l’histoire de cette petite ville où le catch est loin d’être le cash machine des événements plus médiatisés. On suit Jack alors qu’il s’attèle à l’écriture du script tout en étant investissant pour médiatiser les combats sur les réseaux sociaux, une double nécessité qui fait du personnage une figure d’autorité et un bourreau de travail. Bien plus qu’une série \"sportive\", c’est aussi l’histoire de cette petite ville que la série veut raconter, à travers ses gloires locales et leur passé.</p>",
"title": "Heels (Lionsgate+) : frères de catch",
"slug": "heels-starzplay-freres-de-catch",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2021/08/22508_62709861.jpeg",
"sticky": "0"
},
{
"id": "26082",
"date": "2021-03-16 11:00:00",
"excerpt": null,
"content": "<p>Josh Holloway retrouve le co-créateur de Lost J.J. Abrams pour sa nouvelle série sur HBO Max intitulée <a href=\"https://www.betaseries.com/serie/duster\">Duster</a>. L’acteur qu’on connait pour avoir incarné Sawer dans la série culte d’ABC, va ici jouer un conducteur travaillant pour un syndicat du crime dont la vie va vite devenir un enfer. </p><p>La série se déroulera dans les années 70 dans le Southwest. Abrams est encore ici co-créateur aux côtés de LaToya Morgan, scénariste qui a officié pour les séries <a href=\"https://www.betaseries.com/serie/shamelessus\">Shameless</a> ou encore <a href=\"https://www.betaseries.com/serie/badlands\">Into The Badlands</a>.</p>",
"title": "Josh Holloway jouera dans la prochaine série de J.J. Abrams sur HBO Max",
"slug": "josh-holloway-jouera-dans-la-prochaine-serie-de-j-j-abrams-sur-hbo-max",
"image": "https://www.betaseries.com/blog/wp-content/uploads/2021/03/colony_s01e05_still.jpg",
"sticky": "0"
}
],
"locale": "fr",
"errors": []
}
4 changes: 4 additions & 0 deletions errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ func (s *seasonsResponse) GetErrors() Errors {
return s.Errors
}

func (a *articlesResponse) GetErrors() Errors {
return a.Errors
}

type Error struct {
Code int `json:"code"`
Message string `json:"text"`
Expand Down
14 changes: 14 additions & 0 deletions shows.go
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,11 @@ type ShowsSeasonsParams struct {
Locale *LocaleType `url:"locale"`
}

type ShowsArticlesParams struct {
ID int `url:"id"`
Locale *LocaleType `url:"locale"`
}

// AddNote rate a series.
// Require a valid token.
func (s *ShowService) AddNote(ctx context.Context, params ShowsAddNoteParams) (*Show, error) {
Expand Down Expand Up @@ -680,3 +685,12 @@ func (s *ShowService) Seasons(ctx context.Context, params ShowsSeasonsParams) ([
}
return res.Seasons, nil
}

// Articles returns the list of articles for a series.
func (s *ShowService) Articles(ctx context.Context, params ShowsArticlesParams) ([]Article, error) {
var res articlesResponse
if err := s.doRequest(ctx, http.MethodGet, "/shows/articles", params, &res); err != nil {
return nil, err
}
return res.Articles, nil
}
17 changes: 17 additions & 0 deletions shows_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1000,3 +1000,20 @@ func TestShowService_Seasons(t *testing.T) {

assert.Equal(t, 8, len(seasons))
}

func TestShowService_Articles(t *testing.T) {
data, err := os.ReadFile("data/shows/articles.json")
assert.NoError(t, err)

ts, bc := setup(t, "GET", fmt.Sprintf("/%s", "shows/articles?id=1456"), string(data))
defer ts.Close()

articles, err := bc.Shows.Articles(context.Background(), ShowsArticlesParams{
ID: 1456,
})
assert.NoError(t, err)

assert.Equal(t, 7, len(articles))

assert.Equal(t, BoolFromString(true), articles[0].Sticky)
}
21 changes: 21 additions & 0 deletions unmarshal.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,27 @@ func (b *BoolFromInt) UnmarshalJSON(data []byte) error {
return nil
}

type BoolFromString bool

func (b *BoolFromString) UnmarshalJSON(data []byte) error {
if string(data) == "true" {
*b = true
return nil
}

if string(data) == "false" {
*b = false
return nil
}

var str string
if err := json.Unmarshal(data, &str); err != nil {
return err
}
*b = str != "0"
return nil
}

type Date time.Time

func (d *Date) UnmarshalJSON(data []byte) error {
Expand Down

0 comments on commit eddb96c

Please sign in to comment.