forked from recloudstream/cloudstream
		
	Update site-list.py
This commit is contained in:
		
							parent
							
								
									5c97942f92
								
							
						
					
					
						commit
						136d44dc85
					
				
					 1 changed files with 19 additions and 12 deletions
				
			
		
							
								
								
									
										29
									
								
								.github/site-list.py
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/site-list.py
									
										
									
									
										vendored
									
									
								
							|  | @ -1,19 +1,22 @@ | ||||||
| #!/usr/bin/python3 | #!/usr/bin/python3 | ||||||
| 
 | 
 | ||||||
| from glob import glob | from glob import glob | ||||||
| from re import findall, search, compile, sub, DOTALL | from re import findall, compile, sub, DOTALL | ||||||
|  | from typing import List, Dict | ||||||
| 
 | 
 | ||||||
| # Globals | # Globals | ||||||
| URL_REGEX = compile("override val mainUrl(?:\:\s?String)?[^\"']+[\"'](https?://[a-zA-Z0-9\.-]+)[\"']") | URL_REGEX = compile( | ||||||
|  |     "override val mainUrl(?:\:\s?String)?[^\"']+[\"'](https?://[a-zA-Z0-9\.-]+)[\"']") | ||||||
| NAME_REGEX = compile("class (.+?) ?: MainAPI\(\)") | NAME_REGEX = compile("class (.+?) ?: MainAPI\(\)") | ||||||
| START_MARKER = "<!--SITE LIST START-->" | START_MARKER = "<!--SITE LIST START-->" | ||||||
| END_MARKER = "<!--SITE LIST END-->" | END_MARKER = "<!--SITE LIST END-->" | ||||||
| GLOB = "app/src/main/java/com/lagradost/cloudstream3/*providers/*Provider.kt" | GLOB = "app/src/main/java/com/lagradost/cloudstream3/*providers/*Provider.kt" | ||||||
| MAIN_API = "app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt" | MAIN_API = "app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt" | ||||||
| API_REGEX = compile("val (?:restrictedA|a)pis = arrayListOf\((.+?)\)(?=\n\n)", DOTALL) | API_REGEX = compile( | ||||||
|  |     "val (?:restrictedA|a)pis = arrayListOf\((.+?)\)(?=\n\n)", DOTALL) | ||||||
| 
 | 
 | ||||||
| sites = [] | sites: Dict[str, str] = {} | ||||||
| enabled_sites = [] | enabled_sites: List[str] = [] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| with open(MAIN_API, "r", encoding="utf-8") as f: | with open(MAIN_API, "r", encoding="utf-8") as f: | ||||||
|  | @ -27,16 +30,19 @@ with open(MAIN_API, "r", encoding="utf-8") as f: | ||||||
| for path in glob(GLOB): | for path in glob(GLOB): | ||||||
|     with open(path, "r", encoding='utf-8') as file: |     with open(path, "r", encoding='utf-8') as file: | ||||||
|         try: |         try: | ||||||
|             site_text = file.read() |             site_text: str = file.read() | ||||||
|             name = findall(NAME_REGEX, site_text) |             name: List[str] = findall(NAME_REGEX, site_text) | ||||||
|  |             provider_text: str = findall(URL_REGEX, site_text) | ||||||
|  | 
 | ||||||
|             if name: |             if name: | ||||||
|                 if name[0] not in enabled_sites: |                 if name[0] not in enabled_sites: | ||||||
|                     continue |                     continue | ||||||
|             url = search(URL_REGEX, site_text).groups()[0] |                 sites[name[0]] = provider_text[0] | ||||||
|             sites.append(url) | 
 | ||||||
|         except Exception as ex: |         except Exception as ex: | ||||||
|             print("{0}: {1}".format(path, ex)) |             print("{0}: {1}".format(path, ex)) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| with open("README.md", "r+", encoding='utf-8') as readme: | with open("README.md", "r+", encoding='utf-8') as readme: | ||||||
|     raw = readme.read() |     raw = readme.read() | ||||||
|     if START_MARKER not in raw or END_MARKER not in raw: |     if START_MARKER not in raw or END_MARKER not in raw: | ||||||
|  | @ -46,9 +52,10 @@ with open("README.md", "r+", encoding='utf-8') as readme: | ||||||
|     readme.write(raw.split(START_MARKER)[0]) |     readme.write(raw.split(START_MARKER)[0]) | ||||||
|     readme.write(START_MARKER+"\n") |     readme.write(START_MARKER+"\n") | ||||||
| 
 | 
 | ||||||
|     for site in sites: |     for site in enabled_sites: | ||||||
|  |         if site in sites: | ||||||
|             readme.write( |             readme.write( | ||||||
|             "- [{0}]({1}) \n".format(sub("^https?://", "", site), site)) |                 "- [{0}]({1}) \n".format(sub("^https?://", "", sites[site]), sites[site])) | ||||||
| 
 | 
 | ||||||
|     readme.write(END_MARKER) |     readme.write(END_MARKER) | ||||||
|     readme.write(raw.split(END_MARKER)[-1]) |     readme.write(raw.split(END_MARKER)[-1]) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue