#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cgi,cgitb
import random

import MySQLdb
import os, sys ## 全フォルダ参照
path = os.path.join(os.path.dirname(__file__), '../')
sys.path.append(path)
from mysql_connect import jalan_ktylab_new
conn,cur = jalan_ktylab_new.main()

cgitb.enable()

count_method_AB = "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='AtoB_B'"
cur.execute(count_method_AB)
AtoB = cur.fetchone()
print(AtoB)
count_method_BA = "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='BtoA_A'"
cur.execute(count_method_BA)
BtoA = cur.fetchone()
print(BtoA)

jsrand = ""
if (BtoA[1] - AtoB[1]) != 0 :
    if BtoA[1] > AtoB[1]:
        jsrand = "processingAB_A.py"
    else:
        jsrand = "processingBA_B.py"
else:
    rand = random.randrange(2)+1
    if rand == 1:
        jsrand = "processingAB_A.py"
    else:
        jsrand = "processingBA_B.py"

html_body = u"""
<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <link href="../../data/stylesheet_analogy_deim_map.css" rel="stylesheet" type="text/css" />
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/cupertino/jquery-ui.min.css" />
  <script type="text/javascript" src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  <title>観光スポット間の関係を想起する情報の提示に関する実験</title>
  <script>
    $(function () {
    $.ajax({
      url:'../../data/txt/spot.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('.visited').autocomplete({
          source: datam,
          autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
    $.ajax({
      url:'../../data/txt/area2.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('#area').autocomplete({
          source: datam,
          // autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
  });
  </script>
</head>

<body>
  <header>
    <h1>観光スポット間の関係を想起する情報の提示に関する実験</h1>
  </header>
  <div class="main">
    <form id="form" name="form1">
      <h3>CrowdWorksID（必須）：
        <input type="text" id="user_id" name="user_id" maxlength="40" placeholder="CrowdWorksID" value="test" />
      </h3>

      <h3>
        <ul id="setumei">
          <li>これまで訪れたことがあり，気に入った観光スポットを4つ以上入力してください</li>
          <li>入力すると候補が表示されるので，その中から選択ください</li>
        </ul>
      </h3>

      <ol>
        <li><input type="text" class="visited" name="visited" value="道立 宗谷ふれあい公園 オートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ふれあい広場　パークゴルフ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ルスツリゾート　ふれあい牧場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="きのこの里あいべつオートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
      </ol>

      <h3>旅行等で行ったことがなく，これから行ってみたい都道府県・エリアを入力してください</h3>

      <h3>都道府県1：
        <select name="prefecture1" id="prefecture1">
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <option value="東京">東京</option>
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア1(任意)：
        <input type="text" id="area1" name="area1" placeholder="函館・大沼・松前" />
      </h3>

      <h3>都道府県2：
        <select name="prefecture2" id="prefecture2">
          <option value="東京">東京</option>
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <!-- <option value="東京">東京</option> -->
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア2(任意)：
        <input type="text" id="area2" name="area2" placeholder="函館・大沼・松前" />
      </h3>
      <div class="vector_result"></div>
      <p style="text-align:center;font-size:20px;">「実験開始」をクリックしてから，結果が表示されるまで，その間再読込を行わないでください．<br>（表示するまで最大150秒かかる場合があります，150秒過ぎると「Timeout」が表示されます．）<br><span style="color:#ff0000;">結果表示後「承認コード」をコピーして，CrowdWorksのタスクに貼り付けた後に，「次へ」をクリックしてください．</span></p>
      <input type="submit" id="start" value="実験開始" />
    </form>
  </div>

  <script type="text/javascript">
    var temp_vis = [];
    //未入力チェック
    function check() {
      var flag = 0;
      var visited_list = [];
      $("input[name='visited']").each(function() {
        if ($(this).val() != "") {
          visited_list.push($(this).val());
        }
      });
      temp_vis = visited_list.filter(function() {
        return $("this").val() != ""
      });

      if (document.form1.user_id.value == "") {
        flag = 1;
      } else if (temp_vis.length < 4) {
        flag = 1;
      } else if (document.form1.prefecture1.value == "") {
        flag = 1;
      } else if (document.form1.prefecture2.value == "") {
        flag = 1;
      } else if (document.form1.prefecture1.value == document.form1.prefecture2.value) {
        flag = 1;
      }

      if (flag == 1) {
        return false;
      } else {
        return true;
      }
    }
    //既訪問スポットの重複チェック
    function jyufuku() {
      var counts = [];
      for (var i = 0; i < temp_vis.length; i++) {
        var key = temp_vis[i];
        counts[key] = (counts[key]) ? counts[key] + 1 : 1;
      }
      var flag1 = []
      for (var key in counts) {
        // console.log(key + " : " + counts[key]);
        if (counts[key] == 1) {
          flag = 0
        } else {
          flag1.push(1)
        }
      }

      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    //既訪問スポットが"---"入っているか
    function word_check() {
      var flag = 0;
      // console.log((temp_vis));
      var flag1 = [];
      for (var i = 0; i < temp_vis.length; i++) {
        if (temp_vis[i].indexOf("---") != -1) { //入っている時は-1ではない
          flag = 0;
        } else {
          flag1.push(1);
        }
      }
      // console.log(flag1);
      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    // 積集合（wordの中身をチェックするため）
    Set.prototype.intersection = function(setB) {
      var intersection = new Set();
      for (var elem of setB) {
        if (this.has(elem)) {
          intersection.add(elem);
        }
      }
      return intersection;
    }

    var post_visited = [];
    $('#start').click(function(){
        event.preventDefault();
        if (check() == true) {
          if (jyufuku() == true) {
            if (word_check() == true) {
              var $form = $(this);
              $(".visited").each(function() {
                if ($(this).val() != "") {
                  post_visited.push($(this).val());
                }
              });
              $(".vector_result").html("<h2>Loading...</h2><div class='loader'>Loading...</div>");
              $("#start").prop("disabled", true); //ボタンクリック禁止
              window.onerror = function() {
                alert("Error：入力に問題が見つかったためもう一度入力してください");
                // location.reload();
                $(".vector_result").html("<h1>Error：入力に問題が見つかったためもう一度入力してください</h1>");
              };
              var link = "%s";
              $(this).parents('form').attr('action', link);
              $(this).parents('form').submit();
              setTimeout(function(){
                  alert("Timeout：しばらくしてもう一度試してください");
                  location.href = "index_map.py";
              }, 150000);
            } else {
              alert('検索候補から選んでください');
            }
          } else {
            alert('入力に重複がありました');
          }
        } else {
          alert('・必須項目に未記入欄がありました\\n・都道府県に重複がありました');
        }
    });
  </script>
</body>

</html>
"""
print(html_body % str(jsrand))

29cff575a46e55aba894310ec0970a8399bcfb57
<mask token>

<mask token>
sys.path.append(path)
<mask token>
cgitb.enable()
<mask token>
cur.execute(count_method_AB)
<mask token>
print(AtoB)
<mask token>
cur.execute(count_method_BA)
<mask token>
print(BtoA)
<mask token>
if BtoA[1] - AtoB[1] != 0:
    if BtoA[1] > AtoB[1]:
        jsrand = 'processingAB_A.py'
    else:
        jsrand = 'processingBA_B.py'
else:
    rand = random.randrange(2) + 1
    if rand == 1:
        jsrand = 'processingAB_A.py'
    else:
        jsrand = 'processingBA_B.py'
<mask token>
print(html_body % str(jsrand))

<mask token>
path = os.path.join(os.path.dirname(__file__), '../')
sys.path.append(path)
<mask token>
conn, cur = jalan_ktylab_new.main()
cgitb.enable()
count_method_AB = (
    "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='AtoB_B'"
    )
cur.execute(count_method_AB)
AtoB = cur.fetchone()
print(AtoB)
count_method_BA = (
    "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='BtoA_A'"
    )
cur.execute(count_method_BA)
BtoA = cur.fetchone()
print(BtoA)
jsrand = ''
if BtoA[1] - AtoB[1] != 0:
    if BtoA[1] > AtoB[1]:
        jsrand = 'processingAB_A.py'
    else:
        jsrand = 'processingBA_B.py'
else:
    rand = random.randrange(2) + 1
    if rand == 1:
        jsrand = 'processingAB_A.py'
    else:
        jsrand = 'processingBA_B.py'
html_body = u"""
<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <link href="../../data/stylesheet_analogy_deim_map.css" rel="stylesheet" type="text/css" />
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/cupertino/jquery-ui.min.css" />
  <script type="text/javascript" src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  <title>観光スポット間の関係を想起する情報の提示に関する実験</title>
  <script>
    $(function () {
    $.ajax({
      url:'../../data/txt/spot.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('.visited').autocomplete({
          source: datam,
          autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
    $.ajax({
      url:'../../data/txt/area2.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('#area').autocomplete({
          source: datam,
          // autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
  });
  </script>
</head>

<body>
  <header>
    <h1>観光スポット間の関係を想起する情報の提示に関する実験</h1>
  </header>
  <div class="main">
    <form id="form" name="form1">
      <h3>CrowdWorksID（必須）：
        <input type="text" id="user_id" name="user_id" maxlength="40" placeholder="CrowdWorksID" value="test" />
      </h3>

      <h3>
        <ul id="setumei">
          <li>これまで訪れたことがあり，気に入った観光スポットを4つ以上入力してください</li>
          <li>入力すると候補が表示されるので，その中から選択ください</li>
        </ul>
      </h3>

      <ol>
        <li><input type="text" class="visited" name="visited" value="道立 宗谷ふれあい公園 オートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ふれあい広場　パークゴルフ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ルスツリゾート　ふれあい牧場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="きのこの里あいべつオートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
      </ol>

      <h3>旅行等で行ったことがなく，これから行ってみたい都道府県・エリアを入力してください</h3>

      <h3>都道府県1：
        <select name="prefecture1" id="prefecture1">
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <option value="東京">東京</option>
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア1(任意)：
        <input type="text" id="area1" name="area1" placeholder="函館・大沼・松前" />
      </h3>

      <h3>都道府県2：
        <select name="prefecture2" id="prefecture2">
          <option value="東京">東京</option>
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <!-- <option value="東京">東京</option> -->
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア2(任意)：
        <input type="text" id="area2" name="area2" placeholder="函館・大沼・松前" />
      </h3>
      <div class="vector_result"></div>
      <p style="text-align:center;font-size:20px;">「実験開始」をクリックしてから，結果が表示されるまで，その間再読込を行わないでください．<br>（表示するまで最大150秒かかる場合があります，150秒過ぎると「Timeout」が表示されます．）<br><span style="color:#ff0000;">結果表示後「承認コード」をコピーして，CrowdWorksのタスクに貼り付けた後に，「次へ」をクリックしてください．</span></p>
      <input type="submit" id="start" value="実験開始" />
    </form>
  </div>

  <script type="text/javascript">
    var temp_vis = [];
    //未入力チェック
    function check() {
      var flag = 0;
      var visited_list = [];
      $("input[name='visited']").each(function() {
        if ($(this).val() != "") {
          visited_list.push($(this).val());
        }
      });
      temp_vis = visited_list.filter(function() {
        return $("this").val() != ""
      });

      if (document.form1.user_id.value == "") {
        flag = 1;
      } else if (temp_vis.length < 4) {
        flag = 1;
      } else if (document.form1.prefecture1.value == "") {
        flag = 1;
      } else if (document.form1.prefecture2.value == "") {
        flag = 1;
      } else if (document.form1.prefecture1.value == document.form1.prefecture2.value) {
        flag = 1;
      }

      if (flag == 1) {
        return false;
      } else {
        return true;
      }
    }
    //既訪問スポットの重複チェック
    function jyufuku() {
      var counts = [];
      for (var i = 0; i < temp_vis.length; i++) {
        var key = temp_vis[i];
        counts[key] = (counts[key]) ? counts[key] + 1 : 1;
      }
      var flag1 = []
      for (var key in counts) {
        // console.log(key + " : " + counts[key]);
        if (counts[key] == 1) {
          flag = 0
        } else {
          flag1.push(1)
        }
      }

      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    //既訪問スポットが"---"入っているか
    function word_check() {
      var flag = 0;
      // console.log((temp_vis));
      var flag1 = [];
      for (var i = 0; i < temp_vis.length; i++) {
        if (temp_vis[i].indexOf("---") != -1) { //入っている時は-1ではない
          flag = 0;
        } else {
          flag1.push(1);
        }
      }
      // console.log(flag1);
      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    // 積集合（wordの中身をチェックするため）
    Set.prototype.intersection = function(setB) {
      var intersection = new Set();
      for (var elem of setB) {
        if (this.has(elem)) {
          intersection.add(elem);
        }
      }
      return intersection;
    }

    var post_visited = [];
    $('#start').click(function(){
        event.preventDefault();
        if (check() == true) {
          if (jyufuku() == true) {
            if (word_check() == true) {
              var $form = $(this);
              $(".visited").each(function() {
                if ($(this).val() != "") {
                  post_visited.push($(this).val());
                }
              });
              $(".vector_result").html("<h2>Loading...</h2><div class='loader'>Loading...</div>");
              $("#start").prop("disabled", true); //ボタンクリック禁止
              window.onerror = function() {
                alert("Error：入力に問題が見つかったためもう一度入力してください");
                // location.reload();
                $(".vector_result").html("<h1>Error：入力に問題が見つかったためもう一度入力してください</h1>");
              };
              var link = "%s";
              $(this).parents('form').attr('action', link);
              $(this).parents('form').submit();
              setTimeout(function(){
                  alert("Timeout：しばらくしてもう一度試してください");
                  location.href = "index_map.py";
              }, 150000);
            } else {
              alert('検索候補から選んでください');
            }
          } else {
            alert('入力に重複がありました');
          }
        } else {
          alert('・必須項目に未記入欄がありました\\n・都道府県に重複がありました');
        }
    });
  </script>
</body>

</html>
"""
print(html_body % str(jsrand))

import cgi, cgitb
import random
import MySQLdb
import os, sys
path = os.path.join(os.path.dirname(__file__), '../')
sys.path.append(path)
from mysql_connect import jalan_ktylab_new
conn, cur = jalan_ktylab_new.main()
cgitb.enable()
count_method_AB = (
    "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='AtoB_B'"
    )
cur.execute(count_method_AB)
AtoB = cur.fetchone()
print(AtoB)
count_method_BA = (
    "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='BtoA_A'"
    )
cur.execute(count_method_BA)
BtoA = cur.fetchone()
print(BtoA)
jsrand = ''
if BtoA[1] - AtoB[1] != 0:
    if BtoA[1] > AtoB[1]:
        jsrand = 'processingAB_A.py'
    else:
        jsrand = 'processingBA_B.py'
else:
    rand = random.randrange(2) + 1
    if rand == 1:
        jsrand = 'processingAB_A.py'
    else:
        jsrand = 'processingBA_B.py'
html_body = u"""
<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <link href="../../data/stylesheet_analogy_deim_map.css" rel="stylesheet" type="text/css" />
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/cupertino/jquery-ui.min.css" />
  <script type="text/javascript" src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  <title>観光スポット間の関係を想起する情報の提示に関する実験</title>
  <script>
    $(function () {
    $.ajax({
      url:'../../data/txt/spot.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('.visited').autocomplete({
          source: datam,
          autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
    $.ajax({
      url:'../../data/txt/area2.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('#area').autocomplete({
          source: datam,
          // autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
  });
  </script>
</head>

<body>
  <header>
    <h1>観光スポット間の関係を想起する情報の提示に関する実験</h1>
  </header>
  <div class="main">
    <form id="form" name="form1">
      <h3>CrowdWorksID（必須）：
        <input type="text" id="user_id" name="user_id" maxlength="40" placeholder="CrowdWorksID" value="test" />
      </h3>

      <h3>
        <ul id="setumei">
          <li>これまで訪れたことがあり，気に入った観光スポットを4つ以上入力してください</li>
          <li>入力すると候補が表示されるので，その中から選択ください</li>
        </ul>
      </h3>

      <ol>
        <li><input type="text" class="visited" name="visited" value="道立 宗谷ふれあい公園 オートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ふれあい広場　パークゴルフ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ルスツリゾート　ふれあい牧場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="きのこの里あいべつオートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
      </ol>

      <h3>旅行等で行ったことがなく，これから行ってみたい都道府県・エリアを入力してください</h3>

      <h3>都道府県1：
        <select name="prefecture1" id="prefecture1">
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <option value="東京">東京</option>
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア1(任意)：
        <input type="text" id="area1" name="area1" placeholder="函館・大沼・松前" />
      </h3>

      <h3>都道府県2：
        <select name="prefecture2" id="prefecture2">
          <option value="東京">東京</option>
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <!-- <option value="東京">東京</option> -->
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア2(任意)：
        <input type="text" id="area2" name="area2" placeholder="函館・大沼・松前" />
      </h3>
      <div class="vector_result"></div>
      <p style="text-align:center;font-size:20px;">「実験開始」をクリックしてから，結果が表示されるまで，その間再読込を行わないでください．<br>（表示するまで最大150秒かかる場合があります，150秒過ぎると「Timeout」が表示されます．）<br><span style="color:#ff0000;">結果表示後「承認コード」をコピーして，CrowdWorksのタスクに貼り付けた後に，「次へ」をクリックしてください．</span></p>
      <input type="submit" id="start" value="実験開始" />
    </form>
  </div>

  <script type="text/javascript">
    var temp_vis = [];
    //未入力チェック
    function check() {
      var flag = 0;
      var visited_list = [];
      $("input[name='visited']").each(function() {
        if ($(this).val() != "") {
          visited_list.push($(this).val());
        }
      });
      temp_vis = visited_list.filter(function() {
        return $("this").val() != ""
      });

      if (document.form1.user_id.value == "") {
        flag = 1;
      } else if (temp_vis.length < 4) {
        flag = 1;
      } else if (document.form1.prefecture1.value == "") {
        flag = 1;
      } else if (document.form1.prefecture2.value == "") {
        flag = 1;
      } else if (document.form1.prefecture1.value == document.form1.prefecture2.value) {
        flag = 1;
      }

      if (flag == 1) {
        return false;
      } else {
        return true;
      }
    }
    //既訪問スポットの重複チェック
    function jyufuku() {
      var counts = [];
      for (var i = 0; i < temp_vis.length; i++) {
        var key = temp_vis[i];
        counts[key] = (counts[key]) ? counts[key] + 1 : 1;
      }
      var flag1 = []
      for (var key in counts) {
        // console.log(key + " : " + counts[key]);
        if (counts[key] == 1) {
          flag = 0
        } else {
          flag1.push(1)
        }
      }

      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    //既訪問スポットが"---"入っているか
    function word_check() {
      var flag = 0;
      // console.log((temp_vis));
      var flag1 = [];
      for (var i = 0; i < temp_vis.length; i++) {
        if (temp_vis[i].indexOf("---") != -1) { //入っている時は-1ではない
          flag = 0;
        } else {
          flag1.push(1);
        }
      }
      // console.log(flag1);
      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    // 積集合（wordの中身をチェックするため）
    Set.prototype.intersection = function(setB) {
      var intersection = new Set();
      for (var elem of setB) {
        if (this.has(elem)) {
          intersection.add(elem);
        }
      }
      return intersection;
    }

    var post_visited = [];
    $('#start').click(function(){
        event.preventDefault();
        if (check() == true) {
          if (jyufuku() == true) {
            if (word_check() == true) {
              var $form = $(this);
              $(".visited").each(function() {
                if ($(this).val() != "") {
                  post_visited.push($(this).val());
                }
              });
              $(".vector_result").html("<h2>Loading...</h2><div class='loader'>Loading...</div>");
              $("#start").prop("disabled", true); //ボタンクリック禁止
              window.onerror = function() {
                alert("Error：入力に問題が見つかったためもう一度入力してください");
                // location.reload();
                $(".vector_result").html("<h1>Error：入力に問題が見つかったためもう一度入力してください</h1>");
              };
              var link = "%s";
              $(this).parents('form').attr('action', link);
              $(this).parents('form').submit();
              setTimeout(function(){
                  alert("Timeout：しばらくしてもう一度試してください");
                  location.href = "index_map.py";
              }, 150000);
            } else {
              alert('検索候補から選んでください');
            }
          } else {
            alert('入力に重複がありました');
          }
        } else {
          alert('・必須項目に未記入欄がありました\\n・都道府県に重複がありました');
        }
    });
  </script>
</body>

</html>
"""
print(html_body % str(jsrand))

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cgi,cgitb
import random

import MySQLdb
import os, sys ## 全フォルダ参照
path = os.path.join(os.path.dirname(__file__), '../')
sys.path.append(path)
from mysql_connect import jalan_ktylab_new
conn,cur = jalan_ktylab_new.main()

cgitb.enable()

count_method_AB = "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='AtoB_B'"
cur.execute(count_method_AB)
AtoB = cur.fetchone()
print(AtoB)
count_method_BA = "SELECT method,count(method) FROM analogy_deim_map WHERE finish_datetime is not null AND method='BtoA_A'"
cur.execute(count_method_BA)
BtoA = cur.fetchone()
print(BtoA)

jsrand = ""
if (BtoA[1] - AtoB[1]) != 0 :
    if BtoA[1] > AtoB[1]:
        jsrand = "processingAB_A.py"
    else:
        jsrand = "processingBA_B.py"
else:
    rand = random.randrange(2)+1
    if rand == 1:
        jsrand = "processingAB_A.py"
    else:
        jsrand = "processingBA_B.py"

html_body = u"""
<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <link href="../../data/stylesheet_analogy_deim_map.css" rel="stylesheet" type="text/css" />
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/cupertino/jquery-ui.min.css" />
  <script type="text/javascript" src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  <title>観光スポット間の関係を想起する情報の提示に関する実験</title>
  <script>
    $(function () {
    $.ajax({
      url:'../../data/txt/spot.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('.visited').autocomplete({
          source: datam,
          autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
    $.ajax({
      url:'../../data/txt/area2.txt',
      success: function(data){
        var datam = data.split(/\\r\\n|\\r|\\n/);
        $('#area').autocomplete({
          source: datam,
          // autoFocus: true,
          delay: 300,
          minLength: 2
        });
      }
    })
  });
  </script>
</head>

<body>
  <header>
    <h1>観光スポット間の関係を想起する情報の提示に関する実験</h1>
  </header>
  <div class="main">
    <form id="form" name="form1">
      <h3>CrowdWorksID（必須）：
        <input type="text" id="user_id" name="user_id" maxlength="40" placeholder="CrowdWorksID" value="test" />
      </h3>

      <h3>
        <ul id="setumei">
          <li>これまで訪れたことがあり，気に入った観光スポットを4つ以上入力してください</li>
          <li>入力すると候補が表示されるので，その中から選択ください</li>
        </ul>
      </h3>

      <ol>
        <li><input type="text" class="visited" name="visited" value="道立 宗谷ふれあい公園 オートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ふれあい広場　パークゴルフ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="ルスツリゾート　ふれあい牧場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" value="きのこの里あいべつオートキャンプ場---北海道" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
        <li><input type="text" class="visited" name="visited" /></li>
      </ol>

      <h3>旅行等で行ったことがなく，これから行ってみたい都道府県・エリアを入力してください</h3>

      <h3>都道府県1：
        <select name="prefecture1" id="prefecture1">
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <option value="東京">東京</option>
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア1(任意)：
        <input type="text" id="area1" name="area1" placeholder="函館・大沼・松前" />
      </h3>

      <h3>都道府県2：
        <select name="prefecture2" id="prefecture2">
          <option value="東京">東京</option>
          <option value="北海道">北海道</option>
          <option value="青森">青森</option>
          <option value="岩手">岩手</option>
          <option value="宮城">宮城</option>
          <option value="秋田">秋田</option>
          <option value="山形">山形</option>
          <option value="福島">福島</option>
          <option value="茨城">茨城</option>
          <option value="栃木">栃木</option>
          <option value="群馬">群馬</option>
          <option value="埼玉">埼玉</option>
          <option value="千葉">千葉</option>
          <!-- <option value="東京">東京</option> -->
          <option value="神奈川">神奈川</option>
          <option value="新潟">新潟</option>
          <option value="富山">富山</option>
          <option value="石川">石川</option>
          <option value="福井">福井</option>
          <option value="山梨">山梨</option>
          <option value="長野">長野</option>
          <option value="岐阜">岐阜</option>
          <option value="静岡">静岡</option>
          <option value="愛知">愛知</option>
          <option value="三重">三重</option>
          <option value="滋賀">滋賀</option>
          <option value="京都">京都</option>
          <option value="大阪">大阪</option>
          <option value="兵庫">兵庫</option>
          <option value="奈良">奈良</option>
          <option value="和歌山">和歌山</option>
          <option value="鳥取">鳥取</option>
          <option value="島根">島根</option>
          <option value="岡山">岡山</option>
          <option value="広島">広島</option>
          <option value="山口">山口</option>
          <option value="徳島">徳島</option>
          <option value="香川">香川</option>
          <option value="愛媛">愛媛</option>
          <option value="高知">高知</option>
          <option value="福岡">福岡</option>
          <option value="佐賀">佐賀</option>
          <option value="長崎">長崎</option>
          <option value="熊本">熊本</option>
          <option value="大分">大分</option>
          <option value="宮崎">宮崎</option>
          <option value="鹿児島">鹿児島</option>
          <option value="沖縄">沖縄</option>
        </select>
      </h3>

      <h3>エリア2(任意)：
        <input type="text" id="area2" name="area2" placeholder="函館・大沼・松前" />
      </h3>
      <div class="vector_result"></div>
      <p style="text-align:center;font-size:20px;">「実験開始」をクリックしてから，結果が表示されるまで，その間再読込を行わないでください．<br>（表示するまで最大150秒かかる場合があります，150秒過ぎると「Timeout」が表示されます．）<br><span style="color:#ff0000;">結果表示後「承認コード」をコピーして，CrowdWorksのタスクに貼り付けた後に，「次へ」をクリックしてください．</span></p>
      <input type="submit" id="start" value="実験開始" />
    </form>
  </div>

  <script type="text/javascript">
    var temp_vis = [];
    //未入力チェック
    function check() {
      var flag = 0;
      var visited_list = [];
      $("input[name='visited']").each(function() {
        if ($(this).val() != "") {
          visited_list.push($(this).val());
        }
      });
      temp_vis = visited_list.filter(function() {
        return $("this").val() != ""
      });

      if (document.form1.user_id.value == "") {
        flag = 1;
      } else if (temp_vis.length < 4) {
        flag = 1;
      } else if (document.form1.prefecture1.value == "") {
        flag = 1;
      } else if (document.form1.prefecture2.value == "") {
        flag = 1;
      } else if (document.form1.prefecture1.value == document.form1.prefecture2.value) {
        flag = 1;
      }

      if (flag == 1) {
        return false;
      } else {
        return true;
      }
    }
    //既訪問スポットの重複チェック
    function jyufuku() {
      var counts = [];
      for (var i = 0; i < temp_vis.length; i++) {
        var key = temp_vis[i];
        counts[key] = (counts[key]) ? counts[key] + 1 : 1;
      }
      var flag1 = []
      for (var key in counts) {
        // console.log(key + " : " + counts[key]);
        if (counts[key] == 1) {
          flag = 0
        } else {
          flag1.push(1)
        }
      }

      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    //既訪問スポットが"---"入っているか
    function word_check() {
      var flag = 0;
      // console.log((temp_vis));
      var flag1 = [];
      for (var i = 0; i < temp_vis.length; i++) {
        if (temp_vis[i].indexOf("---") != -1) { //入っている時は-1ではない
          flag = 0;
        } else {
          flag1.push(1);
        }
      }
      // console.log(flag1);
      if (flag1.length == 0) {
        return true;
      } else {
        return false;
      }
    }
    // 積集合（wordの中身をチェックするため）
    Set.prototype.intersection = function(setB) {
      var intersection = new Set();
      for (var elem of setB) {
        if (this.has(elem)) {
          intersection.add(elem);
        }
      }
      return intersection;
    }

    var post_visited = [];
    $('#start').click(function(){
        event.preventDefault();
        if (check() == true) {
          if (jyufuku() == true) {
            if (word_check() == true) {
              var $form = $(this);
              $(".visited").each(function() {
                if ($(this).val() != "") {
                  post_visited.push($(this).val());
                }
              });
              $(".vector_result").html("<h2>Loading...</h2><div class='loader'>Loading...</div>");
              $("#start").prop("disabled", true); //ボタンクリック禁止
              window.onerror = function() {
                alert("Error：入力に問題が見つかったためもう一度入力してください");
                // location.reload();
                $(".vector_result").html("<h1>Error：入力に問題が見つかったためもう一度入力してください</h1>");
              };
              var link = "%s";
              $(this).parents('form').attr('action', link);
              $(this).parents('form').submit();
              setTimeout(function(){
                  alert("Timeout：しばらくしてもう一度試してください");
                  location.href = "index_map.py";
              }, 150000);
            } else {
              alert('検索候補から選んでください');
            }
          } else {
            alert('入力に重複がありました');
          }
        } else {
          alert('・必須項目に未記入欄がありました\\n・都道府県に重複がありました');
        }
    });
  </script>
</body>

</html>
"""
print(html_body % str(jsrand))
