1234567891011121314151617181920212223242526272829303132333435363738 |
- import os
- import yaml
- from django.conf import settings
- from django.core.management.base import BaseCommand, CommandError
- from suitablephones.models import Bluetooth, Camera, Device
- class Command(BaseCommand):
- help = 'Closes the specified poll for voting'
- def add_arguments(self, parser):
- parser.add_argument('poll_ids', nargs='+', type=int)
- def handle(self, *args, **options):
- Device.objects.all().delete()
- Bluetooth.objects.all().delete()
- Camera.objects.all().delete()
- for filename in os.listdir(settings.LINEAGEWIKI + "/_data/devices/"):
- with open(filename, "r") as stream:
- try:
- data = yaml.safe_load(stream)
- dev = Device()
- for key, value in data.items():
- if key == "cameras":
- cam = Camera.objects.filter(*value.items())
- if not cam.exists():
- cam = Camera()
- for subkey, subvalue in value.items():
- cam
- for subkey in value.items():
- setattr(cam, subkey, subvalue)
- else:
- setattr(dev, key, value)
- dev.save()
- except yaml.YAMLError as exc:
- print(exc)
|