<commit_before>var InfoFetcher = {
    init: function() {
        var self = this;
        EventSystem.addEventListener('video_started_playing_successfully', function(video) {
            switch (video.type) {
                case 'youtube':
                    self.loadYouTubeVideoInfo(video);
                    break;
                case 'soundcloud':
                    self.loadSoundCloudTrackInfo(video);
                    break;
                case 'officialfm':
                    self.loadOfficialFmTrackInfo(video);
                    break;
            }
        });
        EventSystem.addEventListener('video_info_fetched', function(videoInfo) {
            switch (videoInfo.video.type) {
                case 'youtube':
                    self.loadYouTubeUploader(videoInfo);
                    break;
                case 'soundcloud':
                    break;
                case 'officialfm':
                    break;
            }
        });
    },

    loadYouTubeUploader: function(videoInfo) {
		var url = videoInfo.author.uri + "?callback=?";
		var params = {
			'alt': 'json-in-script',
			'prettyprint': true,
			'v': 2
		};

        var info = videoInfo.author;

		$.getJSON(url, params, function(data) {
            info.url = 'http://www.youtube.com/user/' + encodeURIComponent(data.entry.yt$username.$t);
            info.avatar_url = data.entry.media$thumbnail.url;
            EventSystem.callEventListeners('uploader_info_fetched', info);
        });
    },

	loadOfficialFmTrackInfo: function(video) {
        var url = "http://api.official.fm/tracks/" + video.videoId + '?api_version=2&fields=cover';
        var params = {
            format: 'json',<commit_msg>Added dropbox songs to InfoFetcher<commit_after>var InfoFetcher = {
    init: function() {
        var self = this;
        EventSystem.addEventListener('video_started_playing_successfully', function(video) {
            switch (video.type) {
                case 'youtube':
                    self.loadYouTubeVideoInfo(video);
                    break;
                case 'soundcloud':
                    self.loadSoundCloudTrackInfo(video);
                    break;
                case 'officialfm':
                    self.loadOfficialFmTrackInfo(video);
                    break;
                case 'dropbox':
                    self.loadDropboxInfo(video);
                    break;
            }
        });
        EventSystem.addEventListener('video_info_fetched', function(videoInfo) {
            switch (videoInfo.video.type) {
                case 'youtube':
                    self.loadYouTubeUploader(videoInfo);
                    break;
                case 'soundcloud':
                    break;
                case 'officialfm':
                    break;
                case 'dropbox':
                    break;
            }
        });
    },

    loadYouTubeUploader: function(videoInfo) {
		var url = videoInfo.author.uri + "?callback=?";
		var params = {
			'alt': 'json-in-script',
			'prettyprint': true,
			'v': 2
		};

        var info = videoInfo.author;

		$.getJSON(url, params, function(data) {
            info.url = 'http://www.youtube.com/user/' + encodeURIComponent(data.entry.yt$username.$t);
            info.avatar_url = data.entry.media$thumbnail.url;
            EventSystem.callEventListeners('uploader_info_fetched', info);
        });
    },
    
    loadDropboxInfo: function(video) {
        var info = {
            video: video,
            url: 'https://www.dropbox.com/home',
            title: video.title,
            description: "",
            thumbnail: null
        };    
        EventSystem.callEventListeners('video_info_fetched', info);
    },

	loadOfficialFmTrackInfo: function(video) {
        var url = "http://api.official.fm/tracks/" + video.videoId + '?api_version=2&fields=cover';
        var params = {
            format: 'json',
{'fraction_non_alphanumeric': 0.11359593392630242, 'fraction_numerical': 0.0010165184243964421, 'mean_word_length': 1.5826771653543308, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '623809', 'n_tokens_mistral': 1115, 'n_tokens_neox': 1034, 'n_words': 175}