Better is_raspberrypi
This commit is contained in:
parent
02afe06655
commit
e9d203ae7b
1 changed files with 40 additions and 6 deletions
|
|
@ -1,15 +1,49 @@
|
|||
from openflexure_microscope.api.views import MicroscopeView
|
||||
|
||||
import subprocess
|
||||
import os
|
||||
import io
|
||||
from sys import platform
|
||||
|
||||
|
||||
def is_raspberrypi():
|
||||
if (platform != "linux"):
|
||||
return False
|
||||
else:
|
||||
return (os.uname()[1] == 'raspberrypi')
|
||||
def is_raspberrypi(raise_on_errors=False):
|
||||
"""
|
||||
Checks if Raspberry Pi.
|
||||
"""
|
||||
try:
|
||||
with io.open('/proc/cpuinfo', 'r') as cpuinfo:
|
||||
found = False
|
||||
for line in cpuinfo:
|
||||
if line.startswith('Hardware'):
|
||||
found = True
|
||||
label, value = line.strip().split(':', 1)
|
||||
value = value.strip()
|
||||
if value not in (
|
||||
'BCM2708',
|
||||
'BCM2709',
|
||||
'BCM2835',
|
||||
'BCM2836'
|
||||
):
|
||||
if raise_on_errors:
|
||||
raise ValueError(
|
||||
'This system does not appear to be a '
|
||||
'Raspberry Pi.'
|
||||
)
|
||||
else:
|
||||
return False
|
||||
if not found:
|
||||
if raise_on_errors:
|
||||
raise ValueError(
|
||||
'Unable to determine if this system is a Raspberry Pi.'
|
||||
)
|
||||
else:
|
||||
return False
|
||||
except IOError:
|
||||
if raise_on_errors:
|
||||
raise ValueError('Unable to open `/proc/cpuinfo`.')
|
||||
else:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
class ShutdownAPI(MicroscopeView):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue