From 5f5adabdeec7f2bf0897ef81fbc7e04dfed4b015 Mon Sep 17 00:00:00 2001
From: sinanmohd <sinan@sinanmohd.com>
Date: Sat, 7 Oct 2023 19:18:20 +0530
Subject: lib/util: init file_exists

---
 lib/util.lua             |  5 +++++
 main.lua                 |  6 +++---
 server/opensubtitles.lua | 11 ++++++++---
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/lib/util.lua b/lib/util.lua
index a4d3034..d52922d 100644
--- a/lib/util.lua
+++ b/lib/util.lua
@@ -11,6 +11,10 @@ local table_to_cmd = function (t)
 	return str
 end
 
+local file_exists = function (path)
+	return io.open(path, 'r') and true or false
+end
+
 local run = function (args)
 	local sig, rc, stdout, cmd
 
@@ -185,6 +189,7 @@ return {
 	zip_ext_first = zip_ext_first,
 	string_vid_path_to_name = string_vid_path_to_name,
 	opensubtitles_hash = opensubtitles_hash,
+	file_exists = file_exists,
 	run = run,
 	error = error,
 }
diff --git a/main.lua b/main.lua
index f89b8fd..f54c673 100644
--- a/main.lua
+++ b/main.lua
@@ -58,11 +58,11 @@ local sub_setup = function ()
     path = mp.get_property_native('path')
     out = out .. '/' .. util.string_vid_path_to_name(path) .. '.srt'
 
-    if path:find('https?://') then
+    if not util.file_exists(path) then
         name = mp.get_property_native('media-title')
-    else
-        rc = opensubtitles.search(path, out)
     end
+
+    rc = opensubtitles.search(path, out, name)
     if not rc then
         rc = subscene.search(path, out, name)
     end
diff --git a/server/opensubtitles.lua b/server/opensubtitles.lua
index 0bace8b..b797f44 100644
--- a/server/opensubtitles.lua
+++ b/server/opensubtitles.lua
@@ -134,11 +134,16 @@ local search_ohash = function (ohash)
 	end
 end
 
-local search = function (path, out)
+local search = function (path, out, name)
 	local ohash, link
 
-	ohash = util.opensubtitles_hash(path)
-	link = search_ohash(ohash)
+	if util.file_exists(path) then
+		ohash = util.opensubtitles_hash(path)
+		link = search_ohash(ohash)
+	else
+		name = name or util.string_vid_path_to_name(path)
+	end
+
 	if link then
 		return curl.zip_link_to_file(link, nil, out, tries)
 	end
-- 
cgit v1.2.3