<commit_before>/*
動画の情報を取得してbackgroundへ投げる
取得する情報：
  ・SourceのURL
  ・タイトル
  ・アップロードしたユーザーの名前
*/
function getInfo(){
  var button = document.getElementById("download-button");
  button.click();
  var links = document.getElementById("download-options").getElementsByTagName('a');
  var info = document.getElementsByClassName('node-info')[0];
  var title = info.getElementsByTagName('h1');
  var username = info.getElementsByTagName('img');
  var html_lang = document.getElementsByTagName('html')[0].lang;
  if(html_lang === 'ja') {
    username = username[0].title.replace("ユーザー ","").replace(" の写真","");
  } else if(html_lang === 'en') {
    username = username[0].title.replace(/(&#39;)/, "'").replace("'s picture","");
  } else if(html_lang === 'zh-hans') {
    username = username[0].title.replace("的头像", "");
  } else {
    username = username[0].title.replace("<NAME> ", "");
  }
  var posted_date = info.textContent.match(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})/);
  if(posted_date !== null){
    posted_date = posted_date[0].replace(/-/g, "").replace(/:/g, "").replace(" ","");
  }

  if(links[0].href.indexOf("_Source") != -1){
    browser.runtime.sendMessage({
      source_url: links[0].href,
      title: convertSafeFileName(title[0].innerHTML),
      username: convertSafeFileName(username),
      posted_date: posted_date
    });
  }
}

/*
backgroundからのメッセージを受信したらgetInfoを実行
*/
chrome.runtime.onMessage.addListener(getInfo);

/*
使用できない文字を全角に置き換え
¥　/　:　*　?　"　<　>　|
*/
function convertSafeFileName(titleOrUsername){
  return unEscapeHTML(titleOrUsername)
    .replace(/\\/g,'￥')
    .replace(/\//g,'／')
    .replace(/:/g,'：')
    .replace(/\*/g,'＊')
    .replace(/\?/g,'？')
    .replace(/"/g,'”')
    .replace(/</g,'＜')
    .replace(/>/g,'＞')
    .replace(/\|/g,'｜');
}
<commit_msg>fix tab character<commit_after>/*
動画の情報を取得してbackgroundへ投げる
取得する情報：
  ・SourceのURL
  ・タイトル
  ・アップロードしたユーザーの名前
*/
function getInfo(){
  var button = document.getElementById("download-button");
  button.click();
  var links = document.getElementById("download-options").getElementsByTagName('a');
  var info = document.getElementsByClassName('node-info')[0];
  var title = info.getElementsByTagName('h1');
  var username = info.getElementsByTagName('img');
  var html_lang = document.getElementsByTagName('html')[0].lang;
  if(html_lang === 'ja') {
    username = username[0].title.replace("ユーザー ","").replace(" の写真","");
  } else if(html_lang === 'en') {
    username = username[0].title.replace(/(&#39;)/, "'").replace("'s picture","");
  } else if(html_lang === 'zh-hans') {
    username = username[0].title.replace("的头像", "");
  } else {
    username = username[0].title.replace("<NAME> ", "");
  }
  var posted_date = info.textContent.match(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})/);
  if(posted_date !== null){
    posted_date = posted_date[0].replace(/-/g, "").replace(/:/g, "").replace(" ","");
  }

  if(links[0].href.indexOf("_Source") != -1){
    browser.runtime.sendMessage({
      source_url: links[0].href,
      title: convertSafeFileName(title[0].innerHTML),
      username: convertSafeFileName(username),
      posted_date: posted_date
    });
  }
}

/*
backgroundからのメッセージを受信したらgetInfoを実行
*/
chrome.runtime.onMessage.addListener(getInfo);

/*
使用できない文字を全角に置き換え
¥　/　:　*　?　"　<　>　| tab
*/
function convertSafeFileName(titleOrUsername){
  return unEscapeHTML(titleOrUsername)
    .replace(/\\/g,'￥')
    .replace(/\//g,'／')
    .replace(/:/g,'：')
    .replace(/\*/g,'＊')
    .replace(/\?/g,'？')
    .replace(/"/g,'”')
    .replace(/</g,'＜')
    .replace(/>/g,'＞')
    .replace(/\|/g,'｜')
    .replace(/\t/g, '　');
}

{'fraction_non_alphanumeric': 0.2336190212883605, 'fraction_numerical': 0.010505944152612662, 'mean_word_length': 3.909090909090909, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2723090', 'n_tokens_mistral': 1437, 'n_tokens_neox': 1412, 'n_words': 176}