35 lines
897 B
Python
35 lines
897 B
Python
|
import sys
|
||
|
from enum import IntEnum
|
||
|
|
||
|
__author__ = 'uri'
|
||
|
|
||
|
|
||
|
class OperatingSystem(IntEnum):
|
||
|
Windows = 0
|
||
|
Linux = 1
|
||
|
|
||
|
|
||
|
class SystemInfoCollector(object):
|
||
|
"""
|
||
|
A class that checks the current operating system and calls system information collecting modules accordingly
|
||
|
"""
|
||
|
|
||
|
def __init__(self):
|
||
|
self.os = SystemInfoCollector.get_os()
|
||
|
if OperatingSystem.Windows == self.os:
|
||
|
from windows_info_collector import WindowsInfoCollector
|
||
|
self.collector = WindowsInfoCollector()
|
||
|
else:
|
||
|
from linux_info_collector import LinuxInfoCollector
|
||
|
self.collector = LinuxInfoCollector()
|
||
|
|
||
|
def get_info(self):
|
||
|
return self.collector.get_info()
|
||
|
|
||
|
@staticmethod
|
||
|
def get_os():
|
||
|
if sys.platform.startswith("win"):
|
||
|
return OperatingSystem.Windows
|
||
|
else:
|
||
|
return OperatingSystem.Linux
|