Skip to content

jscdev909/WhoSampledSubmissionCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WhoSampled Submission Checker

A simple script to validate sample submission pages for user profiles on the website WhoSampled.

Background

The website WhoSampled is a user-submitted database of music samples. Each public user profile page on WhoSampled can contain 0 or more pages of samples submitted by a user. Each individual page usually contains two YouTube videos: one for the song that uses the sample and another for the originating song where the sample came from. However, it is also possible for these videos to either be broken (the video got deleted or made private) or to be replaced with other widgets from music services (SoundCloud, Bandcamp, Spotify, etc.).

About

This program scans user profile pages on WhoSampled for sample submission entries, then parses each individual sample submission page for broken YouTube video embeds. Either of the following conditions will qualify a page as having broken embeds:

  • At least one of the YouTube videos embeds on the page is missing
  • At least one YouTube embed has been replaced with a widget from another audio streaming service (described above)

The second condition might need to be accounted for separately in a future release of this script as it doesn't necessarily mean the page has broken embeds. Just because the embeds aren't from YouTube doesn't mean they won't work.

The output from the program is a list of WhoSampled submission pages which have broken embeds. This can either be written to standard output or a file.

The script currently understands and processes the following command line arguments and options:

  • -u -> Stands for user. The name of a valid WhoSampled user whose profile will be parsed by the script. Providing this argument skips the user prompt when the script first starts.
  • --file-output -> Option to specify whether to output the links to pages with broken embeds in a file. Default behavior is outputting the links to the terminal.

Installation

All script requirements are listed in the included requirements.txt file in the repo. However, the undetected-chromedriver package currently needs a fix described here to work correctly with Python 3.12. This issue can be avoided by using Python 3.11 instead.

After the requirements are satisfied in a global or virtual environment simply run the script and follow the prompts.

About

Checks a given user profile's sample submissions pages on the website WhoSampled for broken youtube embeds

Resources

License

Stars

Watchers

Forks

Languages