<commit_before>/**
 * Yahoo!路線情報(http://transit.yahoo.co.jp)より
 * 日本各地の在来線・私鉄・地下鉄の路線名・URLを取得し
 * "trainInfoUrl.json"を作成する処理
 */

import fs from 'fs';
import client  from 'cheerio-httpcli';
import co from 'co';
import extend from 'extend';

const FILE_NAME = 'trainInfoUrl.json';
const BASE_URL = 'http://transit.yahoo.co.jp';

co (function* () {
  let areaInf = {};
  let lineInf = {};

  // 元となるURLより各地方の路線情報URLを取得
  let result = yield client.fetch(BASE_URL);
  let $ = result.$;
  $('.elmTblLstTrain tr').eq(0).find('a').map((i, el) => {
    areaInf[$(el).text()] = BASE_URL + $(el).attr('href');
  });

  // 各地方の路線情報URLより地方路線のURLを取得
  for (let area in areaInf) {
    yield sleep(5000);
    let result = yield client.fetch(areaInf[area]);
    let $ = result.$;
    $('#mdAreaMajorLine').find('a').map((i, el) => {
      let lineName = $(el).text();
      let lineUrl = $(el).attr('href');
      if (lineUrl.indexOf(BASE_URL) > -1) {
        lineInf[lineName] = lineUrl;
      }
    });
  }

  let trainInf = extend(areaInf, lineInf);
  fs.writeFileSync(FILE_NAME, JSON.stringify(trainInf, null, 2));
})
.catch(err => {
  console.error(err);
});

/**
 * 指定したミリ秒間処理を停止する関数
 * @param  {number} ms 時間(ミリ秒)
 * @return {Object}    Promise
 */
function sleep(ms) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve();
    }, ms);
  });
}
<commit_msg>リファクタリング<commit_after>/**
 * Yahoo!路線情報(http://transit.yahoo.co.jp)より
 * 日本各地の在来線・私鉄・地下鉄の路線名・URLを取得し
 * "trainInfoUrl.json"を作成する処理
 */

import fs from 'fs';
import client  from 'cheerio-httpcli';
import co from 'co';
import extend from 'extend';

const FILE_NAME = 'trainInfoUrl.json';
const BASE_URL = 'http://transit.yahoo.co.jp';

co(function* () {
  let areaInf = {};
  let lineInf = {};

  // 元となるURLより各地方の路線情報URLを取得
  let result = yield client.fetch(BASE_URL);
  let $ = result.$;
  $('.elmTblLstTrain tr').eq(0).find('a').map((i, el) => {
    areaInf[$(el).text()] = BASE_URL + $(el).attr('href');
  });

  // 各地方の路線情報URLより地方路線のURLを取得
  for (let area in areaInf) {
    yield sleep(5000);
    let result = yield client.fetch(areaInf[area]);
    let $ = result.$;
    $('#mdAreaMajorLine').find('a').map((i, el) => {
      let lineName = $(el).text();
      let lineUrl = $(el).attr('href');
      if (lineUrl.indexOf(BASE_URL) > -1) {
        lineInf[lineName] = lineUrl;
      }
    });
  }

  let trainInf = extend(areaInf, lineInf);
  fs.writeFileSync(FILE_NAME, JSON.stringify(trainInf, null, 2));
})
.catch(err => {
  console.error(err);
});

/**
 * 指定したミリ秒間処理を停止する関数
 * @param  {number} ms 時間(ミリ秒)
 * @return {Object}    Promise
 */
function sleep(ms) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve();
    }, ms);
  });
}

{'fraction_non_alphanumeric': 0.19515774027879676, 'fraction_numerical': 0.005135730007336757, 'mean_word_length': 3.356230031948882, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '6058678', 'n_tokens_mistral': 1160, 'n_tokens_neox': 1159, 'n_words': 195}