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()
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
def __init__(self, config): database.db_initialization(config.FIRESTORE_SERVICE_ACCOUNT)