コード例 #1
0
def main():
    """
    Runs the desired camera type for this device.

    When called with '--configure' option, will run a configuration mode different from run mode.

    :return:
    """

    args = parse_args()

    logging.info("Starting GymnosCamera with: " + str(args))

    # Initialize the database connection
    service_file = "serviceAccount.json"
    if args.production:
        service_file = "prod-serviceAccount.json"

    service_account = os.path.expanduser(os.path.join(os.path.dirname(__file__), service_file))
    database.db_initialization(service_account)

    if args.usbcam:
        camera_type = 'usb'
    elif args.ipcam:
        camera_type = 'ip'
    else:
        camera_type = 'pi'

    model_type = args.model_type
    if model_type not in model_types:
        raise ValueError('Use one of the following Model types: ' + str(model_types))

    model_path = os.path.abspath(args.model_location)

    # Get the gym
    gym = get_gym(args.gym, args.location)

    # Hack to select the correct collection names
    # noinspection PyProtectedMember
    machines.Machines._meta.collection_name = "{}/{}/{}".format(
        gyms.Gyms.collection_name(), gym.id, machines.Machines.collection_name())
    # noinspection PyProtectedMember
    usage.Usage._meta.collection_name = "{}/{}/{}".format(
        gyms.Gyms.collection_name(), gym.id, usage.Usage.collection_name())

    # Get the selected camera
    camera = camera_factory.factory.get_camera(camera_type, model_type, model_path)

    if args.headless:
        camera.set_headless()

    if args.view_only:
        camera.set_view_only()

    if args.configure:
        # TODO: Add option to read from gymnos_info.json file to retrieve machines locally instead of querying the DB.
        calibrate = CalibrateCam.CalibrateCam(camera, args.mac)
        calibrate.main()
    else:
        camera.run_loop()
コード例 #2
0
import os

from matchbox import models
from matchbox.database import db_initialization

db_initialization(os.environ['FIRESTORE'])


class Class(models.Model):
    name = models.TextField()
    active = models.BooleanField(column_name='is_active')
    list_f = models.ListField(blank=True)
    map_f = models.MapField(blank=True)


Class.objects.delete()

c1 = Class.objects.create(active=True, name='DD21')
c2 = Class.objects.create(active=True, name='DD22')
c3 = Class.objects.create(active=False, name='CC22')
c4 = Class.objects.create(active=False, name='CC11')

assert len(list(Class.objects.all())) == 4
assert len(list(Class.objects.filter(active=True))) == 2
assert len(list(Class.objects.filter(active=False))) == 2

assert len(list(Class.objects.filter(active=True).filter(name='DD21'))) == 1
assert len(list(Class.objects.filter(active=True).filter(name='DD22'))) == 1

assert len(list(Class.objects.filter(active=False).filter(name='CC22'))) == 1
assert len(list(Class.objects.filter(active=False).filter(name='CC11'))) == 1
コード例 #3
0
ファイル: model.py プロジェクト: Whytey/BBBBCSegmentTracker
 def __init__(self, config):
     database.db_initialization(config.FIRESTORE_SERVICE_ACCOUNT)