blob: 441fbc1f5d564e022eab613283325430ebffa24e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import os
import subprocess
_package_managers = {}
_distros_info = []
def register_distro_info(distro_info):
global _distros_info
_distros_info.append(distro_info)
def register_package_manager(name, package_manager):
global _package_managers
_package_managers[name] = package_manager
def get_package_manager(test=False, interactive=True):
global _package_managers
package_manager_class = _package_managers[get_distro_info().name]
return package_manager_class(test=test, interactive=interactive)
def get_distro_info():
global _distros_info
for info_class in _distros_info:
info = info_class()
if info.valid:
return info
|