Skip to content

Commit

Permalink
Update Big update very muchhhhhhh!!!
Browse files Browse the repository at this point in the history
  • Loading branch information
watchakorn-18k committed Sep 30, 2023
1 parent ed8b300 commit c5c06ad
Show file tree
Hide file tree
Showing 5 changed files with 130 additions and 74 deletions.
76 changes: 2 additions & 74 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h1 class="text-2xl font-bold text-center mb-4" id="title-name">แปลงไ
<span class="text-blue-600 underline" id="browse_text">กดเรียกดู</span>
</span>
</span>
<input type="file" accept=".vtt" id="fileInput" class="hidden" onchange="convertFile()">
<input type="file" accept=".vtt" id="fileInput" class="hidden" onchange="convertFile(event)">
</label>
</div>

Expand All @@ -81,79 +81,7 @@ <h1 class="text-2xl font-bold text-center mb-4" id="title-name">แปลงไ

</div>
</div>

<script>
let allowDrop = (event) => {
event.preventDefault();
};

let drop = (event) => {
event.preventDefault();
let file = event.dataTransfer.files[0];
let reader = new FileReader();
reader.onload = function () {
let vttText = reader.result;
let srtText = vttToSrt(vttText);
let choosFile = document.getElementById('file-input-name');
downloadSrtFile(srtText, file.name);
};
reader.readAsText(file);
};

let vttToSrt = (vttText) => {
var srtText = "";
var lines = vttText.split("\n");
var i = 0;
let numberline = 1;
while (i < lines.length) {
if (lines[i].indexOf("-->") !== -1) {
// this is a timing line
var timing = lines[i].split(" --> ");
var start = timing[0].replace(".", ",");
var end = timing[1].replace(".", ",");
i++;
var text = "";
while (i < lines.length && lines[i] !== "") {
text += lines[i] + "\n";
i++;
}
srtText += numberline + '\n' + start + " --> " + end + "\n" + text + "\n";
numberline++
}
i++;
}
return srtText;
}
let text_dwl = "ดาวน์โหลด";
let downloadSrtFile = (srtText, fileName) => {
var blob = new Blob([srtText], { type: "text/plain" });
var link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.download = fileName.replace(".vtt", ".srt");
link.classList.add("bg-blue-500", "text-white", "py-2", "px-4", "rounded-lg", "hover:bg-blue-600", "cursor-pointer", "text-center", "mx-auto");
link.id = "download-link"
link.innerHTML = text_dwl;
document.getElementById("downloadLinkContainer").appendChild(link);
}
let changeLanguage = (lang) => {
if (lang === 'en') {
document.getElementById('title-name').innerHTML = 'Convert .vtt to .srt';
document.getElementById('file-input-name').innerHTML = 'Choose File';
document.getElementById('download-link').innerHTML = 'Download';
text_dwl = "Download"
} else if (lang === 'th') {
document.getElementById('title-name').innerHTML = 'แปลงไฟล์ .vtt เป็น .srt';
document.getElementById('file-input-name').innerHTML = 'เลือกไฟล์';
document.getElementById('download-link').innerHTML = 'ดาวน์โหลด';
text_dwl = "ดาวน์โหลด"
document.getElementById('drag_drop_text').innerHTML = 'ลากไฟล์มาวางหรือห';
document.getElementById('browse_text').innerHTML = 'เรียกดู';
}
}
let input = document.getElementById("fileInput");
input.addEventListener("dragover", allowDrop);
input.addEventListener("drop", drop);
</script>
<script src="script.js"></script>
</body>

</html>
95 changes: 95 additions & 0 deletions script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
let allowDrop = (event) => {
event.preventDefault();
};

let drop = (event) => {
event.preventDefault();
let file = event.dataTransfer.files[0];
let reader = new FileReader();
reader.onload = function () {
let vttText = reader.result;
let srtText = vttToSrt(vttText);
let choosFile = document.getElementById('file-input-name');
downloadSrtFile(srtText, file.name);
};
reader.readAsText(file);
};

let convertFile = (event) => {
event.preventDefault();
let file = event.target.files[0];
let reader = new FileReader();
reader.onload = function () {
let vttText = reader.result;
let srtText = vttToSrt(vttText);
downloadSrtFile(srtText, file.name);
};
reader.readAsText(file);
};


let vttToSrt = (vttText) => {
var srtText = "";
var lines = vttText.split("\n");
var i = 0;
let numberline = 1;
let result = []

for (let i = 0; i < lines.length; i++) {
lines[i] = lines[i].replace('\r', '\n').replace('.', ',').replace('.', ',');
console.log(lines[i]);
if (lines[i].startsWith('00')) {
result.push(lines.slice(i, i + 2).join('') + '\n\n');
}
}

// while (i < result.length) {
// if (result[i].indexOf("-->") !== -1) {
// // this is a timing line
// var timing = result[i].split(" --> ");
// var start = timing[0].replace(".", ",");
// var end = timing[1].replace(".", ",");
// i++;
// var text = "";
// while (i < result.length && result[i] !== "") {
// text += result[i] + "\r";
// i++;
// }
// srtText += numberline + '\n' + start + " --> " + end + "\n" + text + "\n";
// numberline++
// }
// i++;
// }
let resultString = result.join("");
console.log(resultString);
return resultString;
}
let text_dwl = "ดาวน์โหลด";
let downloadSrtFile = (srtText, fileName) => {
var blob = new Blob([srtText], { type: "text/plain" });
var link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.download = fileName.replace(".vtt", ".srt");
link.classList.add("bg-blue-500", "text-white", "py-2", "px-4", "rounded-lg", "hover:bg-blue-600", "cursor-pointer", "text-center", "mx-auto");
link.id = "download-link"
link.innerHTML = text_dwl;
document.getElementById("downloadLinkContainer").appendChild(link);
}
let changeLanguage = (lang) => {
if (lang === 'en') {
document.getElementById('title-name').innerHTML = 'Convert .vtt to .srt';
document.getElementById('file-input-name').innerHTML = 'Choose File';
document.getElementById('download-link').innerHTML = 'Download';
text_dwl = "Download"
} else if (lang === 'th') {
document.getElementById('title-name').innerHTML = 'แปลงไฟล์ .vtt เป็น .srt';
document.getElementById('file-input-name').innerHTML = 'เลือกไฟล์';
document.getElementById('download-link').innerHTML = 'ดาวน์โหลด';
text_dwl = "ดาวน์โหลด"
document.getElementById('drag_drop_text').innerHTML = 'ลากไฟล์มาวางหรือห';
document.getElementById('browse_text').innerHTML = 'เรียกดู';
}
}
let input = document.getElementById("fileInput");
input.addEventListener("dragover", allowDrop);
input.addEventListener("drop", drop);
14 changes: 14 additions & 0 deletions t.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
test = ['WEBVTT\r', '\r', '00:00:31.460 --> 00:00:33.100\r', '♪ ดนตรีแห่งการผจญภัย ♪\r','00:01:43.860 --> 00:01:50.140\r', '♪การเริ่มต้นใหม่อยู่ที่นี่♪\r', '\r', '00:01:51.700 --> 00:02:02.020\r', '[เชฟมหัศจรรย์แห่งน้ำแข็งและไฟ S2]\r',]

let result = [];

for (let i = 0; i < test.length; i++) {
test[i] = test[i].replace('\r', '\n').replace('.', ',').replace('.', ',');
console.log(test[i]);
if (test[i].startsWith('00')) {
result.push(test.slice(i, i + 2).join('') + '\n\n');
}
}

let resultString = result.join("");
// console.log(resultString);
10 changes: 10 additions & 0 deletions t.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
test = ['WEBVTT\r', '\r', '00:00:31.460 --> 00:00:33.100\r', '♪ ดนตรีแห่งการผจญภัย ♪\r','00:01:43.860 --> 00:01:50.140\r', '♪การเริ่มต้นใหม่อยู่ที่นี่♪\r', '\r', '00:01:51.700 --> 00:02:02.020\r', '[เชฟมหัศจรรย์แห่งน้ำแข็งและไฟ S2]\r',]
result = []


for i,k in enumerate(test):
test[i] = test[i].replace('\r', '\n').replace('.',',')
if k.startswith('00'):
result.append(''.join(str(e) for e in test[i:i+2])+"\n")

print(result)
9 changes: 9 additions & 0 deletions test.srt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
00:00:31.460 --> 00:00:33.100
♪ ดนตรีแห่งการผจญภัย ♪

00:01:43.860 --> 00:01:50.140
♪การเริ่มต้นใหม่อยู่ที่นี่♪

00:01:51.700 --> 00:02:02.020
[เชฟมหัศจรรย์แห่งน้ำแข็งและไฟ S2]

0 comments on commit c5c06ad

Please sign in to comment.