shannonturner / bechdel Goto Github PK
View Code? Open in Web Editor NEWIf your movie doesn't pass the Bechdel test, we'll find you a better one
Home Page: https://shannonvturner.com/bechdel
If your movie doesn't pass the Bechdel test, we'll find you a better one
Home Page: https://shannonvturner.com/bechdel
In the following pages,
make the message at the top show the number of movies in the subset rather than the totals every time.
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.
Repeatable: http://shannonvturner.com/bechdel/movie/9 (and many others)
A 6.7 should not have a red color label (danger).
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.
It's not very navigable on mobile.
The following pages need their page load times reduced:
Before checking every movie to see if stored info about it should be updated, first check to see if the info is 90 or more days old.
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.
Repeatable: http://shannonvturner.com/bechdel/movie/235
At line 321 in get_context_data():
imdb_rating__gt=float(movie.imdb_rating) - 1.5,
But when movie.imdb_rating is (correctly) None for movies without a rating (yet), this fails.
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:
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:
This may lower the number of additional queries made as the template is loading.
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.
Instead of displaying an empty table when no higher-rated movie suggestions could be found, instead display a note saying that no suggestions could be found.
Following folks who tweet about the bechdel test is working to promote the bot; having additional shareable content would work well too.
Repeatable: http://shannonvturner.com/bechdel/movie/88
Ugh I hate dealing with encoding issues I can never remember how to do it right
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
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="">
Articles to include:
Suggest additional articles below:
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))
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.
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=
In https://twitter.com/HOLLYWOOD_Lorii/status/602235241772797954, the user tweeted "fast and the furious" at the bechdelbot.
In the bot's reply, https://twitter.com/BechdelBot/status/602235576847216640, the reply found too many movies because the search only included part of the query, "fast" instead of the full "fast and the furious"
To see whether indexes could improve speed.
Create a page showing stats/analysis of the Bechdel test / Imdb ratings.
Spaghetti at the wall ideas:
Instead of doing a Movie.objects.all() and then filtering based on criteria chosen, figure out a way to avoid loading all 5000+ objects and cutting it down in python.
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.
Add functionality to the bechdel twitter bot (https://twitter.com/bechdelbot) to follow people who tweet about the bechdel test.
Hashtags / key words to look for:
bechdel
bechdeltest
bechdel test
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.
Looks like using len(Movie.objects.all()) is NOT best practice, especially for a site with so many records.
Using Movie.objects.count() may lead to speed improvements.
See https://dev.twitter.com/docs/cards for more details
See also shutthatdown.com for example implementation
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
Currently, it just takes you back to the search page and does nothing.
It would be great to show other movies that got a bechdel rating of 3 for other movies in a similar genre.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.