Giter Site home page Giter Site logo

shannonturner / bechdel Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 4.0 107 KB

If your movie doesn't pass the Bechdel test, we'll find you a better one

Home Page: https://shannonvturner.com/bechdel

Python 49.56% CSS 1.60% HTML 48.83%
bechdel-test movie twitter-bot

bechdel's People

Contributors

jefftriplett avatar shannonturner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bechdel's Issues

Clarify number of movies shown in browsing

In the following pages,

  • Browse by Genre
  • Browse by Parental Rating
  • Browse by Years,

make the message at the top show the number of movies in the subset rather than the totals every time.

Slowly unfollow accounts from Bechdelbot

I remember in the documentation that you can only follow 2000 people. Since the Bechdelbot has followed 1500 people who have tweeted about the bechdel test in 10 days, I'll need to start unfollowing people soon.

I think it makes the most sense to unfollow people who aren't following the Bechdelbot back, but I don't want to do it in an abusive way that upsets twitter, so it should probably be a phased unfollow, just a few at a time.

Improve genre matching

Currently, the suggestions will match a higher-rated movie where there is overlap of at least one genre.

Requiring that at least two genres matched would improve the reliability of the genre matching, reduce the number of highly-unrelated movies being recommended, and improve the diversity in which movies are suggested.

Reduce page load times

The following pages need their page load times reduced:

  • All movies A-Z
  • Browse by Parental Rating
  • Browse by Years

IMDB Top 250

Show a list of the IMDB Top 250, with a summary of each movie and its ratings.

The ETL process for making sure I have an up-to-date Top 250 will be a bit trickier.

Allow flexibility in IMDB/Tomato ratings when offering suggestions

Currently, when you search for a movie that has a less than perfect bechdel score, it offers suggestions based on a movie with all three of:

  • a higher Bechdel score
  • a higher IMDB score
  • a higher Tomato score

But some movies with a bad Bechdel score but a high IMDB / Tomato score (Toy Story, for instance) will be impossible to match all three criteria. Allowing some flexibility when there are no matches would improve diversity of suggestions. For example, the system could take into account:

  • a higher Bechdel score
  • an IMDB score within +/- 1.5
  • a Tomato score within +/- 15

Best-picture-winners

Right now I have it listed as 'Award-winning failures' in the plan but it might be more interesting just to see all of the Best Picture winners.

Also consider expanding to other awards.

Tweet facts from the bechdel bot

Following folks who tweet about the bechdel test is working to promote the bot; having additional shareable content would work well too.

Some searches fail; bypassing the error handling

The normal (graceful) error handling appears to be bypassed - and it goes straight to a 500 Internal Server Error with no helpful information (logs will probably reveal the issue).

Replicate by:

Search for Matrix. The Matrix Trilogy will appear, as will Armitage: Dual Matrix. Click Armitage: Dual Matrix. Receive 500 Internal Server Error.

http://[ link ]/bechdel/rating?imdbid=tt0303678&year=2002&rating=1&dubious=1&title=Armitage:%20Dual%20Matrix

Add facebook opengraph tags to facilitate sharing

Here are the ones I'll need:

    <meta property="og:title" content="">
    <meta property="og:site_name" content="">
    <meta property="og:url" content="">
    <meta property="og:description" content="">
    <meta property="og:image" content="">

Add relevant links/articles to the What is the Bechdel test page

Speed Optimizations: Other movies suggestions might be too taxing

Since gathering the other movie suggestions is done as a list and then pared down, it might be too costly as compared with other means of limiting the number of records returned.

There's got to be a better way to accomplish this:

    other_movies = Movie.objects.select_related('parental_rating', 'genre').filter(
                bechdel_rating=3,
                imdb_rating__gt=float(movie.imdb_rating) - 1.5,
                parental_rating__id__lte=movie.parental_rating.id,
                ).exclude(id=movie.id)

            for genre in movie.genre.all()[:2 if len(movie.genre.all()) >= 2 else len(movie.genre.all())]:
                other_movies = other_movies.filter(genre__name=genre.name)

            other_movies = list(other_movies)

        # Get a random top 10
        context['other_movies'] = random.sample(other_movies, 10 if len(other_movies) >= 10 else len(other_movies))

Consider parental rating in movie suggestions

Currently, when suggesting a better-rated movie to watch, the site does not take parental rating into account, which leads to funny results like the Godfather Part III being recommended instead of a children's movie, because the Godfather happens to have a very high Bechdel, IMDB, and Tomato rating.

Considering parental rating when offering suggestions (must be at least as G-friendly as the movie searched for) would improve the matches as well as offer better diversity of matches.

Recommendation links don't terminate properly

On pages where the Bechdel score is lower than three, the page will display recommendations for additional movies to watch. Now that the database is mostly populated, some bugs that I missed before had emerged.

The links to click on have a lot of garbage leftover, as though the link didn't terminate properly. It should be a relatively easy fix.

http://[ the link ]/bechdel/index?search=tt0047396%3E%3Cb%3ERear%20Window%3C/b%3E%3C/a%3E%3C/td%3E%20%3Ctd%3E3%3C/td%3E%20%3Ctd%3E8.6%3C/td%3E%20%3Ctd%3E100%3C/td%3E%20%3Ctd%3EMystery,%20Thriller%3C/td%3E%20%3C/tr%3E%3Ctr%3E%20%3Ctd%3E%3Ca%20href=

Stats page

Create a page showing stats/analysis of the Bechdel test / Imdb ratings.

Spaghetti at the wall ideas:

  • Box office receipts by score (would need to control for inflation)
  • Share of each score over time (example: in 1970, 25% were 1, 33 were 2 ...)
  • Scores by gender of the director; of the writer
  • Scores by genre
  • Scores by parental rating
  • Gender analysis of plot synopsis
  • Scores by country

Rewrite the whole thing using Django

It'll be good practice for migrating existing data into a new system, and there's also a lot of information that's not yet being saved, like parental rating.

Some searches return a blank screen; bypassing all error handling

Some searches return a blank screen, bypassing all error handling - from the graceful error handling provided by the error page to the 500 Internal Server Error for larger errors.

It's as though there's a return "" somewhere. The server logs will probably hold a clue.

Replicate by searching for Lawnmower or Lawnmower man, as well as other searches.

[bechdelbot] Handle common user entry "mistakes"

Bechdelbot won't give a response to a tweet unless it can find the movie the user asked for. That's the preferred behavior, but often, people will include extra punctuation (for example) as part of the tweet, and Bechdelbot thinks this is part of the movie's title, doesn't find it, and doesn't reply.

Example:
(at) bechdelbot jaws?

will fail because there's no question mark in the title of the movie. But this has been a common point of failure.

tl;dr: .strip() out question marks from the tweets

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.