Commit af655d20 authored by Joel Collins's avatar Joel Collins
Browse files

Simplified rpi detection

parent e9d203ae
Loading
Loading
Loading
Loading
+3 −35
Original line number Diff line number Diff line
from openflexure_microscope.api.views import MicroscopeView

import subprocess
import io
import os
from sys import platform


@@ -9,41 +9,9 @@ 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
    # I mean, if it works, it works...
    return os.path.exists("/usr/bin/raspi-config")

    return True

class ShutdownAPI(MicroscopeView):
    """