MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / get_computer_model

Function get_computer_model

emrun.py:1041–1087  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1039
1040
1041def get_computer_model():
1042 try:
1043 if MACOS:
1044 try:
1045 with open(os.path.join(os.getenv("HOME"), '.emrun.hwmodel.cached'), encoding='utf-8') as f:
1046 model = f.read()
1047 return model
1048 except OSError:
1049 pass
1050
1051 try:
1052 # http://apple.stackexchange.com/questions/98080/can-a-macs-model-year-be-determined-via-terminal-command
1053 serial = check_output(['system_profiler', 'SPHardwareDataType'])
1054 serial = re.search("Serial Number (.*): (.*)", serial)
1055 serial = serial.group(2).strip()[-4:]
1056 cmd = ['curl', '-s', 'http://support-sp.apple.com/sp/product?cc=' + serial]
1057 logv(str(cmd))
1058 model = check_output(cmd)
1059 model = re.search('<configCode>(.*)</configCode>', model)
1060 model = model.group(1).strip()
1061 with open(os.path.join(os.getenv("HOME"), '.emrun.hwmodel.cached'), 'w', encoding='utf-8') as fh:
1062 fh.write(model) # Cache the hardware model to disk
1063 return model
1064 except Exception:
1065 hwmodel = check_output(['sysctl', 'hw.model'])
1066 hwmodel = re.search('hw.model: (.*)', hwmodel).group(1).strip()
1067 return hwmodel
1068 elif WINDOWS:
1069 manufacturer = check_output(['wmic', 'baseboard', 'get', 'manufacturer']).split('\n')[1].strip()
1070 version = check_output(['wmic', 'baseboard', 'get', 'version']).split('\n')[1].strip()
1071 product = check_output(['wmic', 'baseboard', 'get', 'product']).split('\n')[1].strip()
1072 if 'Apple' in manufacturer:
1073 return manufacturer + ' ' + version + ', ' + product
1074 else:
1075 return manufacturer + ' ' + product + ', ' + version
1076 elif LINUX:
1077 board_vendor = check_output(['cat', '/sys/devices/virtual/dmi/id/board_vendor']).strip()
1078 board_name = check_output(['cat', '/sys/devices/virtual/dmi/id/board_name']).strip()
1079 board_version = check_output(['cat', '/sys/devices/virtual/dmi/id/board_version']).strip()
1080
1081 bios_vendor = check_output(['cat', '/sys/devices/virtual/dmi/id/bios_vendor']).strip()
1082 bios_version = check_output(['cat', '/sys/devices/virtual/dmi/id/bios_version']).strip()
1083 bios_date = check_output(['cat', '/sys/devices/virtual/dmi/id/bios_date']).strip()
1084 return board_vendor + ' ' + board_name + ' ' + board_version + ', ' + bios_vendor + ' ' + bios_version + ' (' + bios_date + ')'
1085 except Exception as e:
1086 logv(str(e))
1087 return 'Generic'
1088
1089
1090def get_os_version():

Callers 1

get_system_infoFunction · 0.85

Calls 7

check_outputFunction · 0.85
logvFunction · 0.85
splitMethod · 0.80
openFunction · 0.50
joinMethod · 0.45
readMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected