a
This commit is contained in:
		
					parent
					
						
							
								b6da0e3c93
							
						
					
				
			
			
				commit
				
					
						fdfcf36e4e
					
				
			
		
					 1 changed files with 46 additions and 46 deletions
				
			
		|  | @ -1,60 +1,60 @@ | |||
| import subprocess as sp | ||||
| import subprocess as sp | ||||
| import requests | ||||
| # import subprocess as sp | ||||
| # import requests | ||||
| import json | ||||
| import os | ||||
| 
 | ||||
| from decouple import config | ||||
| # from decouple import config | ||||
| 
 | ||||
| # def install_available(pipfile): | ||||
|     """ Install Python packages or their dependencies mentioned in | ||||
|         pipfile if they are available in System repos | ||||
|     """ | ||||
| #     """ Install Python packages or their dependencies mentioned in | ||||
| #         pipfile if they are available in System repos | ||||
| #     """ | ||||
|      | ||||
|     def is_available_in_system_repos(package): | ||||
|         try: | ||||
|             sp.check_output(['apk', 'info', f'py3-{package}']) | ||||
|         except: | ||||
|             return False | ||||
|         else: | ||||
|             return True | ||||
| #     def is_available_in_system_repos(package): | ||||
| #         try: | ||||
| #             sp.check_output(['apk', 'info', f'py3-{package}']) | ||||
| #         except: | ||||
| #             return False | ||||
| #         else: | ||||
| #             return True | ||||
|      | ||||
|     if get_distro_name() == "alpine": | ||||
|         dependencies = [] | ||||
| #     if get_distro_name() == "alpine": | ||||
| #         dependencies = [] | ||||
| 
 | ||||
|         need_to_be_installed = [] | ||||
| #         need_to_be_installed = [] | ||||
| 
 | ||||
|         try: | ||||
|             with open(pipfile) as f: | ||||
|                 lines = f.readlines() | ||||
|                 try: | ||||
|                     start_index = lines.index("[packages]\n") | ||||
|                     end_index = lines.index("\n", start_index) | ||||
|                     for package in lines[start_index: end_index]: | ||||
|                         if '= "*"' in package: | ||||
|                             package = package[:package.index(" =")] | ||||
|                             if is_available_in_system_repos(package): | ||||
|                                 need_to_be_installed.append(f"py3-{package}") | ||||
|                             else: | ||||
|                                 dependencies.append(package) | ||||
|                 except ValueError: | ||||
|                     print("Not Found") | ||||
|         except: | ||||
|             return | ||||
|         else: | ||||
|             for dependency in dependencies: | ||||
|                 content = requests.get(f"https://libraries.io/api/pypi/{dependency}/latest/dependencies?api_key={config('LIBRARIES_IO_API')}") | ||||
|                 content = json.loads(content.content.decode("utf-8")) | ||||
|                 for subdependency in content["dependencies"]: | ||||
|                     subdependency = subdependency["name"] | ||||
|                     if is_available_in_system_repos(subdependency): | ||||
|                         need_to_be_installed.append(f"py3-{subdependency}") | ||||
| #         try: | ||||
| #             with open(pipfile) as f: | ||||
| #                 lines = f.readlines() | ||||
| #                 try: | ||||
| #                     start_index = lines.index("[packages]\n") | ||||
| #                     end_index = lines.index("\n", start_index) | ||||
| #                     for package in lines[start_index: end_index]: | ||||
| #                         if '= "*"' in package: | ||||
| #                             package = package[:package.index(" =")] | ||||
| #                             if is_available_in_system_repos(package): | ||||
| #                                 need_to_be_installed.append(f"py3-{package}") | ||||
| #                             else: | ||||
| #                                 dependencies.append(package) | ||||
| #                 except ValueError: | ||||
| #                     print("Not Found") | ||||
| #         except: | ||||
| #             return | ||||
| #         else: | ||||
| #             for dependency in dependencies: | ||||
| #                 content = requests.get(f"https://libraries.io/api/pypi/{dependency}/latest/dependencies?api_key={config('LIBRARIES_IO_API')}") | ||||
| #                 content = json.loads(content.content.decode("utf-8")) | ||||
| #                 for subdependency in content["dependencies"]: | ||||
| #                     subdependency = subdependency["name"] | ||||
| #                     if is_available_in_system_repos(subdependency): | ||||
| #                         need_to_be_installed.append(f"py3-{subdependency}") | ||||
| 
 | ||||
|             for package in need_to_be_installed: | ||||
|                 try: | ||||
|                     sp.check_output(["apk", "add", package]) | ||||
|                 except: | ||||
|                     print(f"Could not install {package}") | ||||
| #             for package in need_to_be_installed: | ||||
| #                 try: | ||||
| #                     sp.check_output(["apk", "add", package]) | ||||
| #                 except: | ||||
| #                     print(f"Could not install {package}") | ||||
| 
 | ||||
| def install_available(project_path): | ||||
|     if get_distro_name() == "alpine": | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue