Example #1
0
    def scanDevices(self):

        # look up our data
        data = {}
        data['bots'] = hive.scanBots()
        data['cameras'] = camera_control.scanCameras()

        scanData = json.dumps(data)
        if scanData != self.lastScanData or (self.lastImageTime + 60 < time.time()):
            self.lastScanData = scanData

            camera_files = []
            if len(data['cameras']):
                for idx, camera in enumerate(data['cameras']):
                    outfile = camera['name'] + '.jpg'
                    try:
                        if camera_control.takePicture(camera['device'], watermark=None, output=outfile):
                            self.lastImageTime = time.time()
                            fullImgPath = hive.getImageDirectory(outfile)
                            camera_files.append(fullImgPath)
                    except Exception as ex:
                        self.log.exception(ex)

            # now update the main site
            self.api.sendDeviceScanResults(data, camera_files)
Example #2
0
    def scanDevices(self):

        # look up our data
        data = {}
        data['bots'] = hive.scanBots()
        data['cameras'] = camera_control.scanCameras()

        scanData = json.dumps(data)
        if scanData != self.lastScanData or (self.lastImageTime + 60 <
                                             time.time()):
            self.lastScanData = scanData

            camera_files = []
            if len(data['cameras']):
                for idx, camera in enumerate(data['cameras']):
                    outfile = camera['name'] + '.jpg'
                    try:
                        if camera_control.takePicture(camera['device'],
                                                      watermark=None,
                                                      output=outfile):
                            self.lastImageTime = time.time()
                            fullImgPath = hive.getImageDirectory(outfile)
                            camera_files.append(fullImgPath)
                    except Exception as ex:
                        self.log.exception(ex)

            # now update the main site
            self.api.sendDeviceScanResults(data, camera_files)
Example #3
0
    def takePicture(self, filename):
        # create our command to do the webcam image grabbing
        try:

            # do we even have a webcam config setup?
            if 'webcam' in self.config:
                if self.data['status'] == 'working':
                    watermark = "%s :: %0.2f%% :: BotQueue.com" % (
                        self.config['name'],
                        float(self.data['job']['progress'])
                    )
                else:
                    watermark = "%s :: BotQueue.com" % self.config['name']

                device = self.config['webcam']['device']

                brightness = 50
                if 'brightness' in self.config['webcam']:
                    brightness = self.config['webcam']['brightness']

                contrast = 50
                if 'contrast' in self.config['webcam']:
                    contrast = self.config['webcam']['contrast']
                return camera_control.takePicture(device=device,
                                                  watermark=watermark,
                                                  output=filename,
                                                  brightness=brightness,
                                                  contrast=contrast)

            else:
                return False

        # main try/catch block
        except Exception as ex:
            self.exception(ex)
            return False