Code Monkey home page Code Monkey logo

repo's Introduction

If your Government or Company...

GO AWAY!!! YOUR NOT WELCOME!!!

Everyone else is welcome. :)

repo's People

Contributors

jewbmx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

repo's Issues

Missing provider

Hi the provider gowatchseries is missing when the provider load can you please look in to it when you got time

Anything in the pipeline?

Hey JewBMX,
Any news about an update? A number of the sources have stopped working (especially TV shows).
Have a good one.
Later...

Hope everything is alright in your world.

Limited sources

Good day using Kodi 20 Nexus latest Verision have had fresh installs of Kodi and add-on but keep getting failed to play errors on almost everything I try to watch. This on not just one but two of my three firesticks with or without VPN. I have tried all fixes that have been suggested and no change last night I spend three hours to get the command line in to the new folder and it helped with brand-new movies such a wonka , and Godzilla vs Kong but over all still having the same issues with movies and shows that works two weeks ago one movie my daughter watches religiously will no longer play as of three days ago .so please any help would be greatly appreciated .

Source problems

Hi man I really like your add on alote iam just haveing trouble with DROPBOX.TO RABBITSTREAM.NET provider AND HIMOVIES.TOP RABBITSTREAM.NET provider

Hi

Hi iam still haveing trouble with your tv show sources some work and some don't

Hi

Hi man your explore IMDb tv show and movies won't work at all when your click on it there nothing comes up there at all

The Issue Chat Room LoL

This is a general chit chat spot for whoever lmao.
Since imma be cleaning up the account soon i figured id place another one of these for yall.

(BTW i was gonna make a lazy tool for advancedsettings.xml but now if you rock kodi v21 or higher the good settings are included so there is no need to really use advanced settings anymore :p lol so if ya havent updated kodi lately ya should.)

kodi 21 Omega Scrubs v2 Audio Language changed during movie playback in movie collections and new movies probably tv shows

I changed builds from (No Bones About It) to (Nova) build and the Nova build auto installed a different audio language called Libre, when I went back into the build. I would like to reverse that to (American/English) Audio. It changed some movies in movie collections to an unknown language and the new movies don't come in English/American. I went back to (No Bones About It), thinking it would reverse what happened but it didn't. Just changed in Scrubs v2 the Language from (Auto) to (English). I tried factory reset, tried restart, updated, nothing changed. Scrubs v2 won't let me install (a4KSubtitles), in the optional install in tools. I'm getting streams with prmovies, or pro streams, which are not American Audio. Can anybody tell me how to fix this? I don't know much about Kodi or the builds. I would like to reverse this Audio Language back to American/English, can somebody please help me, and help with the (a4ksubtitles), if possible, also help with better streams or sources that work and come in (American/English, Audio?) The only thing I can think of, is if somebody can update the build (No Bones About It), create an auto install of (American/English Audio). I'm Using the Fire Cube 2nd Gen, 2nd Cube. Please tell me what I should do to reverse this or can you guys do this for me? Thank You and have great night.
Chad

Sources provide problems

Hi frist of I got to tell you how much I love your add on it is really great iam just haveing trouble with one source it is 123moviestv.ne can you looking in to it for me but you can looking in to it when you got time k

Some fixes for Python 3.12

Hello,
here are some fixes to make scrubs 5.1.40 work with Python 3.12. Really, the only necessary hunk is the last. The other are just to fix SyntaxWarning logs.

diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/indexers/episodes.py addons/plugin.video.scrubsv2/resources/lib/indexers/episodes.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/indexers/episodes.py	2024-08-24 15:05:53.100973794 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/indexers/episodes.py	2024-08-24 15:27:03.358519842 +0200
@@ -355,7 +355,7 @@
             try:
                 label = 'Season %s' % i['season']
                 try:
-                    stats = re.findall('(\d{4})', i['premiered'])[0]
+                    stats = re.findall(r'(\d{4})', i['premiered'])[0]
                 except:
                     stats = i['premiered']
                 label = '%s (%s)' % (label, stats)
@@ -390,7 +390,7 @@
                     pass
                 try:
                     seasonYear = i['premiered']
-                    seasonYear = re.findall('(\d{4})', seasonYear)[0]
+                    seasonYear = re.findall(r'(\d{4})', seasonYear)[0]
                     meta.update({'year': seasonYear})
                 except:
                     pass
@@ -707,7 +707,7 @@
         itemlist = []
         try:
             if 'date[' in url:
-                for i in re.findall('date\[(\d+)\]', url):
+                for i in re.findall(r'date\[(\d+)\]', url):
                     url = url.replace('date[%s]' % i, (self.datetime - datetime.timedelta(days=int(i))).strftime('%Y-%m-%d'))
             q = dict(urllib_parse.parse_qsl(urllib_parse.urlsplit(url).query))
             q.update({'extended': 'full'})
@@ -748,7 +748,7 @@
                         imdb = 'tt' + re.sub('[^0-9]', '', str(imdb))
                     tvdb = item['show'].get('ids', {}).get('tvdb') or '0'
                     if not tvdb or tvdb == '0':
-                        tvdb == '0'
+                        tvdb = '0'
                     else:
                         tvdb = re.sub('[^0-9]', '', str(tvdb))
                     tmdb = item['show'].get('ids', {}).get('tmdb') or '0'
@@ -758,7 +758,7 @@
                         tmdb = str(tmdb)
                     premiered = item.get('episode', {}).get('first_aired', '0')
                     if premiered and premiered != '0':
-                        premiered = re.compile('(\d{4}-\d{2}-\d{2})').findall(premiered)[0]
+                        premiered = re.compile(r'(\d{4}-\d{2}-\d{2})').findall(premiered)[0]
                     else:
                         premiered = '0'
                     studio = item.get('show', {}).get('network')
@@ -1259,7 +1259,7 @@
                     raise Exception()
                 tvshowtitle = client_utils.replaceHTMLCodes(tvshowtitle)
                 year = item['show']['premiered']
-                year = re.findall('(\d{4})', year)[0]
+                year = re.findall(r'(\d{4})', year)[0]
                 imdb = item['show']['externals']['imdb']
                 if imdb == None or imdb == '':
                     imdb = '0'
@@ -1292,7 +1292,7 @@
                     thumb = '0'
                 premiered = item['airdate']
                 try:
-                    premiered = re.findall('(\d{4}-\d{2}-\d{2})', premiered)[0]
+                    premiered = re.findall(r'(\d{4}-\d{2}-\d{2})', premiered)[0]
                 except:
                     premiered = '0'
                 try:
@@ -1766,7 +1766,7 @@
                 except:
                     pass
                 try:
-                    meta.update({'year': re.findall('(\d{4})', i['premiered'])[0]})
+                    meta.update({'year': re.findall(r'(\d{4})', i['premiered'])[0]})
                 except:
                     pass
                 try:
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/indexers/tvshows.py addons/plugin.video.scrubsv2/resources/lib/indexers/tvshows.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/indexers/tvshows.py	2024-08-24 15:05:53.101973806 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/indexers/tvshows.py	2024-08-24 15:34:52.105991671 +0200
@@ -452,7 +452,7 @@
             for item in items:
                 try:
                     title = item['title']
-                    title = re.sub('\s(|[(])(UK|US|AU|\d{4})(|[)])$', '', title)
+                    title = re.sub(r'\s(|[(])(UK|US|AU|\d{4})(|[)])$', '', title)
                     title = client_utils.replaceHTMLCodes(title)
                     year = item.get('year')
                     if not year:
@@ -524,7 +524,7 @@
             items = client_utils.parseDOM(result, 'span', attrs={'class': 'title'})
             items = [client_utils.parseDOM(i, 'a', ret='href') for i in items]
             items = [i[0] for i in items if len(i) > 0]
-            items = [re.findall('/(\d+)/', i) for i in items]
+            items = [re.findall(r'/(\d+)/', i) for i in items]
             items = [i[0] for i in items if len(i) > 0]
             next = ''; last = []; nextp = []
             page = int(str(url.split('&page=', 1)[1]))
@@ -541,18 +541,18 @@
                 url = self.tvmaze_info_link % i
                 item = client.scrapePage(url, timeout='30').json()
                 title = item['name']
-                title = re.sub('\s(|[(])(UK|US|AU|\d{4})(|[)])$', '', title)
+                title = re.sub(r'\s(|[(])(UK|US|AU|\d{4})(|[)])$', '', title)
                 title = client_utils.replaceHTMLCodes(title)
                 premiered = item.get('premiered')
                 if not premiered:
                     premiered = '0'
                 else:
-                    premiered = re.findall('(\d{4}-\d{2}-\d{2})', premiered)[0]
+                    premiered = re.findall(r'(\d{4}-\d{2}-\d{2})', premiered)[0]
                 year = item.get('premiered')
                 if not year:
                     year = '0'
                 else:
-                    year = re.findall('(\d{4})', year)[0]
+                    year = re.findall(r'(\d{4})', year)[0]
                 if int(year) > int(self.datetime.strftime('%Y')):
                     if self.shownoyear != 'true':
                         raise Exception()
@@ -593,7 +593,7 @@
     def tmdb_list(self, url):
         try:
             if 'date[' in url:
-                for i in re.findall('date\[(\d+)\]', url):
+                for i in re.findall(r'date\[(\d+)\]', url):
                     url = url.replace('date[%s]' % i, (self.datetime - datetime.timedelta(days=int(i))).strftime('%Y-%m-%d'))
             result = client.scrapePage(url, timeout='30').json()
             try:
@@ -628,7 +628,7 @@
                     if not premiered:
                         premiered = '0'
                     try:
-                        year = re.findall('(\d{4})', premiered)[0]
+                        year = re.findall(r'(\d{4})', premiered)[0]
                     except:
                         year = ''
                     if not year:
@@ -780,7 +780,7 @@
             if not year or year == '0':
                 year = item.get('year', '0')
             if year and year != '0':
-                year = re.compile('(\d{4})').findall(year)[0] or '0'
+                year = re.compile(r'(\d{4})').findall(year)[0] or '0'
             else:
                 year = '0'
             premiered = self.list[i].get('premiered', '0')
@@ -931,7 +931,7 @@
             if not year or year == '0':
                 year = item.get('first_air_date', '0')
             if year and year != '0':
-                year = re.compile('(\d{4})').findall(year)[0]
+                year = re.compile(r'(\d{4})').findall(year)[0]
             else:
                 year = '0'
             premiered = self.list[i].get('premiered', '0')
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/cache.py addons/plugin.video.scrubsv2/resources/lib/modules/cache.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/cache.py	2024-08-24 15:05:53.101973806 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/cache.py	2024-08-24 15:34:52.822000074 +0200
@@ -33,7 +33,7 @@
 
 
 def _get_function_name(function_instance):
-    return re.sub('.+\smethod\s|.+function\s|\sat\s.+|\sof\s.+', '', repr(function_instance))
+    return re.sub(r'.+\smethod\s|.+function\s|\sat\s.+|\sof\s.+', '', repr(function_instance))
 
 
 def _hash_function(function_instance, *args):
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/cleantitle.py addons/plugin.video.scrubsv2/resources/lib/modules/cleantitle.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/cleantitle.py	2024-08-24 15:05:53.101973806 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/cleantitle.py	2024-08-24 15:15:13.493357952 +0200
@@ -33,8 +33,8 @@
     title = client_utils.replaceHTMLCodes(title)
     title = title.replace('&', 'and').replace('.html', '').replace('_', sep)
     title = normalize(title)
-    title = re.sub('[^\w\%s]+' % sep, sep, title)
-    title = re.sub('\%s{2,}' % sep, sep, title)
+    title = re.sub(r'[^\w\%s]+' % sep, sep, title)
+    title = re.sub(r'\%s{2,}' % sep, sep, title)
     title = title.strip(sep)
     return title
 
@@ -57,10 +57,10 @@
         return
     title = ensure_str(title, errors='ignore')
     title = title.lower()
-    title = re.sub('&#(\d+);', '', title)
+    title = re.sub(r'&#(\d+);', '', title)
     title = re.sub('(&#[0-9]+)([^;^0-9]+)', '\\1;\\2', title)
     title = title.replace('"', '\"').replace('&', '&').replace('–', '-')
-    title = re.sub('\\\|/|-|–|:|;|!|\*|\?|"|\'|<|>|\|', '', title)
+    title = re.sub(r'\\\|/|-|–|:|;|!|\*|\?|"|\'|<|>|\|', '', title)
     return title
 
 
@@ -71,9 +71,9 @@
     title = title.lower()
     title = title.rstrip()
     try:
-        title = title.translate(None, ':*?"\'\.<>|&!,')
+        title = title.translate(None, r':*?"\'\.<>|&!,')
     except:
-        title = title.translate(str.maketrans('', '', ':*?"\'\.<>|&!,'))
+        title = title.translate(str.maketrans('', '', r':*?"\'\.<>|&!,'))
     title = title.replace('!', '')
     title = title.replace('/', '-')
     title = title.replace(' ', '-')
@@ -150,7 +150,7 @@
     title = ensure_str(title, errors='ignore')
     title = title.replace('&', 'AAANNNDDD').replace('-', ' ').replace('–', ' ').replace('/', ' ').replace('*', ' ').replace('.', ' ')
     #title = re.sub('[^A-Za-z0-9 ]+', '', title)
-    title = re.sub('[^\w\s]+', '', title)
+    title = re.sub(r'[^\w\s]+', '', title)
     title = re.sub(' {2,}', ' ', title).strip()
     if andToggle == 'true':
         title = title.replace('AAANNNDDD', '&')
@@ -170,7 +170,7 @@
     title = ensure_str(title, errors='ignore')
     title = title.replace('&', 'AAANNNDDD').replace('-', ' ').replace('–', ' ').replace('/', ' ').replace('*', ' ').replace('.', ' ')
     #title = re.sub('[^A-Za-z0-9 ]+', '', title)
-    title = re.sub('[^\w\s]+', '', title)
+    title = re.sub(r'[^\w\s]+', '', title)
     title = re.sub(' {2,}', ' ', title).strip()
     if andToggle == 'true':
         title = title.replace('AAANNNDDD', '&')
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/client_utils.py addons/plugin.video.scrubsv2/resources/lib/modules/client_utils.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/client_utils.py	2024-08-24 15:05:53.101973806 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/client_utils.py	2024-08-24 15:17:48.475127864 +0200
@@ -120,7 +120,7 @@
     txt = txt.replace('&#8217;', '\'')
     txt = txt.replace('&#8211;', '-')
     txt = txt.replace("%2B", "+")
-    txt = txt.replace("\/", "/")
+    txt = txt.replace(r"\/", "/")
     txt = txt.replace("\\", "")
     txt = txt.replace('///', '//')
     txt = txt.strip()
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/dom_parser.py addons/plugin.video.scrubsv2/resources/lib/modules/dom_parser.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/dom_parser.py	2024-08-24 15:05:53.101973806 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/dom_parser.py	2024-08-24 15:38:48.339768716 +0200
@@ -12,7 +12,7 @@
     if match.endswith('/>'):
         return ''
     # override tag name with tag from match if possible
-    tag = re.match('<([^\s/>]+)', match)
+    tag = re.match(r'<([^\s/>]+)', match)
     if tag:
         name = tag.group(1)
     start_str = '<%s' % name
@@ -41,14 +41,14 @@
 
 def __get_dom_elements(item, name, attrs):
     if not attrs:
-        pattern = '(<%s(?:\s[^>]*>|/?>))' % name
+        pattern = r'(<%s(?:\s[^>]*>|/?>))' % name
         this_list = re.findall(pattern, item, re.M | re.S | re.I)
     else:
         last_list = None
         for key, value in six.iteritems(attrs):
             value_is_regex = isinstance(value, re_type)
             value_is_str = isinstance(value, six.string_types)
-            pattern = '''(<{tag}[^>]*\s{key}=(?P<delim>['"])(.*?)(?P=delim)[^>]*>)'''.format(tag=name, key=key)
+            pattern = r'''(<{tag}[^>]*\s{key}=(?P<delim>['"])(.*?)(?P=delim)[^>]*>)'''.format(tag=name, key=key)
             re_list = re.findall(pattern, item, re.M | re.S | re.I)
             if value_is_regex:
                 this_list = [r[0] for r in re_list if re.match(value, r[2])]
@@ -58,7 +58,7 @@
             if not this_list:
                 has_space = (value_is_regex and ' ' in value.pattern) or (value_is_str and ' ' in value)
                 if not has_space:
-                    pattern = '''(<{tag}[^>]*\s{key}=((?:[^\s>]|/>)*)[^>]*>)'''.format(tag=name, key=key)
+                    pattern = r'''(<{tag}[^>]*\s{key}=((?:[^\s>]|/>)*)[^>]*>)'''.format(tag=name, key=key)
                     re_list = re.findall(pattern, item, re.M | re.S | re.I)
                     if value_is_regex:
                         this_list = [r[0] for r in re_list if re.match(value, r[1])]
@@ -74,7 +74,7 @@
 
 def __get_attribs(element):
     attribs = {}
-    for match in re.finditer('''\s+(?P<key>[^=]+)=\s*(?:(?P<delim>["'])(?P<value1>.*?)(?P=delim)|(?P<value2>[^"'][^>\s]*))''', element):
+    for match in re.finditer(r'''\s+(?P<key>[^=]+)=\s*(?:(?P<delim>["'])(?P<value1>.*?)(?P=delim)|(?P<value2>[^"'][^>\s]*))''', element):
         match = match.groupdict()
         value1 = match.get('value1')
         value2 = match.get('value2')
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/libtools.py addons/plugin.video.scrubsv2/resources/lib/modules/libtools.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/libtools.py	2024-08-24 15:05:53.101973806 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/libtools.py	2024-08-24 15:10:58.492504381 +0200
@@ -28,7 +28,7 @@
                 if not 'ftp://' in folder:
                     raise Exception()
                 from ftplib import FTP
-                ftparg = re.compile('ftp://(.+?):(.+?)@(.+?):?(\d+)?/(.+/?)').findall(folder)
+                ftparg = re.compile(r'ftp://(.+?):(.+?)@(.+?):?(\d+)?/(.+/?)').findall(folder)
                 ftp = FTP(ftparg[0][2], ftparg[0][0], ftparg[0][1])
                 try:
                     ftp.cwd(ftparg[0][4])
@@ -74,8 +74,8 @@
         try:
             filename = filename.strip()
             filename = re.sub(r'(?!%s)[^\w\-_\.]', '.', filename)
-            filename = re.sub('\.+', '.', filename)
-            filename = re.sub(re.compile('(CON|PRN|AUX|NUL|COM\d|LPT\d)\.', re.I), '\\1_', filename)
+            filename = re.sub(r'\.+', '.', filename)
+            filename = re.sub(re.compile(r'(CON|PRN|AUX|NUL|COM\d|LPT\d)\.', re.I), '\\1_', filename)
             control.legalFilename(filename)
             return filename
         except:
@@ -183,9 +183,9 @@
             name, title, year, imdb = i['name'], i['title'], i['year'], i['imdb']
             sysname, systitle = urllib_parse.quote_plus(name), urllib_parse.quote_plus(title)
             try:
-                transtitle = title.translate(None, '\/:*?"<>|')
+                transtitle = title.translate(None, r'\/:*?"<>|')
             except:
-                transtitle = title.translate(str.maketrans('', '', '\/:*?"<>|'))
+                transtitle = title.translate(str.maketrans('', '', r'\/:*?"<>|'))
             transtitle = cleantitle.normalize(transtitle)
             content = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s' % (sys.argv[0], sysname, systitle, year, imdb)
             folder = lib_tools.make_path(self.library_folder, transtitle, year)
@@ -319,9 +319,9 @@
             episodetitle = urllib_parse.quote_plus(cleantitle.normalize(title))
             systitle, syspremiered = urllib_parse.quote_plus(cleantitle.normalize(tvshowtitle)), urllib_parse.quote_plus(premiered)
             try:
-                transtitle = tvshowtitle.translate(None, '\/:*?"<>|')
+                transtitle = tvshowtitle.translate(None, r'\/:*?"<>|')
             except:
-                transtitle = tvshowtitle.translate(str.maketrans('', '', '\/:*?"<>|'))
+                transtitle = tvshowtitle.translate(str.maketrans('', '', r'\/:*?"<>|'))
             transtitle = cleantitle.normalize(transtitle)
             content = '%s?action=play&title=%s&year=%s&imdb=%s&tmdb=%s&season=%s&episode=%s&tvshowtitle=%s&date=%s' % (sys.argv[0], episodetitle, year, imdb, tmdb, season, episode, systitle, syspremiered)
             folder = lib_tools.make_path(self.library_folder, transtitle, year)
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/scrape_sources.py addons/plugin.video.scrubsv2/resources/lib/modules/scrape_sources.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/scrape_sources.py	2024-08-24 15:05:53.103973830 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/scrape_sources.py	2024-08-24 15:32:01.436991883 +0200
@@ -90,13 +90,13 @@
 def prepare_link(url):
     if not url:
         return
-    url = url.replace("\/", "/")
+    url = url.replace(r"\/", "/")
     url = url.replace("\\", "")
     url = url.replace('///', '//')
     if url.startswith('//'):
         url = 'https:' + url
     if not url.startswith('http'):
-        url = re.sub('\s+', '', url)
+        url = re.sub(r'\s+', '', url)
     if not url.startswith('http'):
         #log_utils.log('scrape_sources - prepare_link NOT-link: ' + str(url))
         return
@@ -342,7 +342,7 @@
     try:
         if scrape_gomo == 'false':
             return sources
-        domain = re.findall('(?://|\.)(playerhost\.net|gomo\.to|gomostream\.com|gomoplayer\.com)/', link)[0]
+        domain = re.findall(r'(?://|\.)(playerhost\.net|gomo\.to|gomostream\.com|gomoplayer\.com)/', link)[0]
         gomo_link = 'https://%s/decoding_v3.php' % domain
         result = client.scrapePage(link, headers={'User-Agent': client.UserAgent, 'Referer': link}).text
         tc = re.compile('tc = \'(.+?)\';').findall(result)[0]
@@ -501,7 +501,7 @@
     try: # https://vidsrc.to/embed/tv/72710/1/1
         if scrape_vidsrc == 'false':
             return sources
-        domain = re.findall('(?://|\.)(v2\.vidsrc\.me|vidsrc\.me|vidsrc\.to)/', link)[0]
+        domain = re.findall(r'(?://|\.)(v2\.vidsrc\.me|vidsrc\.me|vidsrc\.to)/', link)[0]
         headers = {'User-Agent': client.UserAgent, 'Referer': 'https://%s/' % domain}
         html = client.scrapePage(link, headers=headers).text
         items = client_utils.parseDOM(html, 'div', ret='data-hash')
@@ -513,7 +513,7 @@
                 if not item_html:
                     continue
                 item_html = item_html.replace("\'", '"')
-                item_src = re.findall('src:\s*"([^"]+)"', item_html, re.DOTALL)[0]
+                item_src = re.findall(r'src:\s*"([^"]+)"', item_html, re.DOTALL)[0]
                 item_src = 'https:' + item_src if item_src.startswith('//') else item_src
                 item_link = client.request(item_src, headers=headers, output='geturl')
                 url = prepare_link(item_link)
@@ -612,7 +612,7 @@
         p = re.findall(r'''window.atob\('(.+?)'\)''', i)[0]
         link = base64.b64decode(p)
         link = ensure_text(link, errors='ignore')
-        url = link.replace('\/', '/').replace('///', '//')
+        url = link.replace(r'\/', '/').replace('///', '//')
         item = make_item(hostDict, url, host=None, info=info)
         if item:
             sources.append(item)
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/modules/source_utils.py addons/plugin.video.scrubsv2/resources/lib/modules/source_utils.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/modules/source_utils.py	2024-08-24 15:05:53.103973830 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/modules/source_utils.py	2024-08-24 15:34:50.752975791 +0200
@@ -105,13 +105,13 @@
 
 
 def __top_domain(url):
-    url = url.replace('\/', '/').replace('///', '//')
+    url = url.replace(r'\/', '/').replace('///', '//')
     if not (url.startswith('//') or url.startswith('http://') or url.startswith('https://')):
         url = '//' + url
     elements = urllib_parse.urlparse(url)
     domain = elements.netloc or elements.path
     domain = domain.split('@')[-1].split(':')[0]
-    regex = "(?:www\.)?([\w\-]*\.[\w\-]{2,3}(?:\.[\w\-]{2,3})?)$"
+    regex = r"(?:www\.)?([\w\-]*\.[\w\-]{2,3}(?:\.[\w\-]{2,3})?)$"
     res = re.search(regex, domain)
     if res:
         domain = res.group(1)
@@ -136,11 +136,11 @@
 
 def get_host(url):
     try:
-        url = url.replace('\/', '/').replace('///', '//')
+        url = url.replace(r'\/', '/').replace('///', '//')
         elements = urllib_parse.urlparse(url)
         domain = elements.netloc or elements.path
         domain = domain.split('@')[-1].split(':')[0]
-        res = re.search("(?:www\.)?([\w\-]*\.[\w\-]{2,3}(?:\.[\w\-]{2,3})?)$", domain)
+        res = re.search(r"(?:www\.)?([\w\-]*\.[\w\-]{2,3}(?:\.[\w\-]{2,3})?)$", domain)
         if res:
             domain = res.group(1)
         domain = domain.lower()
@@ -202,7 +202,7 @@
 
 def get_size(txt):
     try:
-        _size = re.findall('(\d+(?:\.|/,|)?\d+(?:\s+|)(?:gb|GiB|mb|MiB|GB|MB))', txt)
+        _size = re.findall(r'(\d+(?:\.|/,|)?\d+(?:\s+|)(?:gb|GiB|mb|MiB|GB|MB))', txt)
         _size = _size[0].encode('utf-8')
         _size = _size + " | "
     except:
@@ -278,8 +278,8 @@
     try:
         _txt = strip_domain(txt)
         _txt = _txt.upper()
-        _txt = re.sub('(.+)(\.|\(|\[|\s)(\d{4}|S\d*E\d*|S\d*)(\.|\)|\]|\s)', '', _txt)
-        _txt = re.split('\.|\(|\)|\[|\]|\s|-', _txt)
+        _txt = re.sub(r'(.+)(\.|\(|\[|\s)(\d{4}|S\d*E\d*|S\d*)(\.|\)|\]|\s)', '', _txt)
+        _txt = re.split(r'\.|\(|\)|\[|\]|\s|-', _txt)
         _txt = [i.lower() for i in _txt]
     except:
         _txt = str(txt.lower())
diff -ur -x '*.pyc' -x __pycache__ 5.1.40/plugin.video.scrubsv2/resources/lib/sources/__init__.py addons/plugin.video.scrubsv2/resources/lib/sources/__init__.py
--- 5.1.40/plugin.video.scrubsv2/resources/lib/sources/__init__.py	2024-08-24 15:05:53.105973854 +0200
+++ addons/plugin.video.scrubsv2/resources/lib/sources/__init__.py	2024-08-24 15:56:05.166688168 +0200
@@ -1,4 +1,4 @@
-# -*- coding: UTF-8 -*-
+# -*- coding: utf-8 -*-
 
 import os
 import pkgutil
@@ -15,7 +15,7 @@
             if is_pkg:
                 continue
             try:
-                module = loader.find_module(module_name).load_module(module_name)
+                module = loader.find_spec(module_name).loader.load_module(module_name)
                 sourceDict.append((module_name, module.source()))
             except Exception as e:
                 log_utils.log('Provider loading Error - "%s" : %s' % (module_name, e), 1)

cheers

HD TV sources not available

For the past week I haven't been able to get any HD sources for TV shows on firestick. Took all the usual steps to correct and still nothing. Ideas?

IMDB Helper no search

Hi,

For version .37 and .38, on Linux as well as on Windows, for Kodi 20.2 The Movies -> Explore IMDB -> * have stopped working suddenly.

I observed this behavior right after a slyguy module upgrade. The search was working fine but right after the slyguy upgrade, no results were returned.

I reproduced on 3 other computers where Kodi hasn't been run for weeks. And all behaved identically:

  • The Movies -> Explore IMDB -> * returned several search results,
  • The slyguy modules auto upgraded
  • The Movies -> Explore IMDB -> * stopped returned results.

The Movies -> Explore TMDB -> * is still working perfectly fine for me.

Many thanks for your fantastic work and Best!

Hello

Hi man iam still haveing trouble with your providers

TMDB Helper no search

TMDB Helper can't resolve sources with ScrubsV2.
The dialog opens but closes right away with no results...
Is it something you can do? Maybe the search tags are wrong on TMDBH?

Thanks

Sour es

Hi your putlocker sources for the tv shoes aren't working

Scrubs V2 No working streams Mar 2024

OK, using the latest Kodi Nexus and latest Scrubs V2 builds. Cleaned cache, providers and everyhting else. But when I click on a TV episode I only get Rabbitstream or Dooooood streams. But none of them seemstowork anymore. All this started about 3 weeks ago Mar 2024. Anybody got any ideas as to why only a few streams that don't work please?

Is this the best place to suggest new sources for scrubs v2?

Found a site that uses some weird obfuscation that so far I've only managed to get working using selenium, but it has so far had a show before the other sources it uses did.

js2py freezes trying to use their js...

The site: bstsrs(dot)one
removed

SOURCES

Hi man your putlocker tv sources aren't working agen

Some devices not updating

First, great work!

I have a puzzle. Disclaimer: most devices run Leia 18.9, one runs a patched version of pre-cursor to Krypton(!).

Still, tablet I am writing this on (Android 8.1) is one of only two devices that automatically update when new versions are released. Other Android installs (6.01, 7.0, 11) do not. Settings are same as far as I can tell. Windows installs (7 and 10) also fail to update.

I was shocked the other day to see the patched pseudo-Krypton version, running on a KitKat device, update on its own!

Any thoughts? Maybe an xml or python file to check somewhere? The devices which do not auto update won't update if told to. I must download the new zips and install from there.

Again, just really excellent work. Yours is the only addon we use.

Trakt API Limit

Hi,
I was wondering if we can add our own TRAKT API key somewhere, so the errors of limit exceeded are avoided...?
Is it hardcoded or can we change some config?
The settings only allow for activation/autorization but no placeholder for the key

Thanks

Enhancement request

Requesting a favorites be added for TV and Movies or ability to create favorites list on demand.

Use case: A location so we can add shows / movies to a list. Single link on Kodi Favorites to get list of Scrubs Fav items

Using Super Fav is an option, but the way links are stored and played back is not great also view option is not great.

Read Me You FUCKS!

Imma vent real quick here and on reddit then fade away again ;)

Welcome to the point of your life when i say go fuck yourself, i have never been here for you i only did this for my own visual enjoyment because i am a real man and can do shit for myself. Your just a unwanted side effect like feeling bad for my little helpless head lice not wanting to kill you off! That being said i dont owe you shit, the fact that literally millions of you fuckers use my addons is why its broken and why the sites keep dying off both scrapers and hosters, and now thanks to over 1000 annoying non-helpful people hitting me up im so far passed irritated that i refuse to fix a damn thing for any of you. (Keep it up and imma either fade away or let my hat get real dark)

Just an FYI

Hi,
I've been using scrubsv2-5.1.38 since it's release. I noticed I wasn't getting a lot of the sources I had under older versions. A few minutes ago I installed scrubsv2-5.1.36, just as an experiment. I now have some of the older sources back.
Just an FYI. No guarantee it will work for you.
Later...

*scrubsv2-5.1.37 works, too.

Streams

Hi Andrew!

Hope you are doing fine and the rest.

Andrew, I have removed all providers that pulls up rabbit stream because they don’t work.

Mostly all new tv series for the year 2024 doesn’t have streamers and does that do has one stream showing when click is says no stream available.
For example in tv serie S.W.A.T season 7 the episodes has one stream it name gdriveplayer.us/movstreamhd.pro.

Thank you for your hard work.

Have lovely day

Return feature "filtered" scrappers

I have yet to view any sources for rabbitstreams since its inception. Could you re-enable the ability to choose from "filtered" scrapers?

Also on the wishlist, it was nice in the Episode widget which showed my shows I regularly watched; illluminated the upcoming episodes (centralized location to easy find shows instead of scrolling through favorites for shows currently in season.

Downloads in scrubs

Is there a trick to get downlosds to work in scrubs?

tools/general/special and enabled downloads and set a valid directory, click ok
found a source, right click on that source and no sub menu appears (normally I would expect a sub menu with a download option)
Thanks!

Hello

Hi iam haveing trouble with your putlocker sources

Hi

Hi iam haveing trouble with 2 of your links there are 123movie.net/eplyavid.com and 123movues.com/eplyaid.net and gossamer linkes too

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.