From 4d964b6e290b08b378b6a6d42e04a422922cf294 Mon Sep 17 00:00:00 2001 From: jaskaranSM Date: Mon, 4 May 2020 12:25:40 +0530 Subject: [PATCH] use regex to extract fileId from GDrive links --- bot/helper/mirror_utils/upload_utils/gdriveTools.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bot/helper/mirror_utils/upload_utils/gdriveTools.py b/bot/helper/mirror_utils/upload_utils/gdriveTools.py index 1e7fb42..9d74da8 100644 --- a/bot/helper/mirror_utils/upload_utils/gdriveTools.py +++ b/bot/helper/mirror_utils/upload_utils/gdriveTools.py @@ -3,6 +3,7 @@ import pickle import urllib.parse as urlparse from urllib.parse import parse_qs +import re import json import requests @@ -67,7 +68,11 @@ class GoogleDriveHelper: @staticmethod def getIdFromUrl(link: str): if "folders" in link or "file" in link: - return link.rsplit('/')[-1] + regex = r"https://drive\.google\.com/(drive)?/?u?/\d?/?mobile?/?(file)?(folders)?/?d?/([-\w]+)[?+]?/?(w+)?" + res = re.search(regex,link) + if res is None: + raise IndexError("GDrive ID not found.") + return res.group(4) parsed = urlparse.urlparse(link) return parse_qs(parsed.query)['id'][0]