|
@@ -39,13 +39,17 @@ class Command(BaseCommand):
|
|
|
devicesdir = settings.LINEAGEWIKI + "/_data/devices/"
|
|
|
# import pdb; pdb.set_trace()
|
|
|
for filename in os.listdir(devicesdir):
|
|
|
-
|
|
|
+ dev = Device()
|
|
|
+ cameras = []
|
|
|
+ bluetooth = {}
|
|
|
+ peripherals = []
|
|
|
+
|
|
|
with open(os.path.join(devicesdir, filename), "r") as stream:
|
|
|
try:
|
|
|
data = yaml.safe_load(stream)
|
|
|
print(data['codename'])
|
|
|
- dev = Device()
|
|
|
for key, value in data.items():
|
|
|
+
|
|
|
# if key == "architecture":
|
|
|
# if type(value) == dict():
|
|
|
# setattr(dev, key, value)
|
|
@@ -66,16 +70,14 @@ class Command(BaseCommand):
|
|
|
if not hasattr(value, 'profiles'):
|
|
|
setattr(bt, 'profiles', None)
|
|
|
setattr(bt, subkey, subvalue)
|
|
|
- bt.save()
|
|
|
+ bt.save()
|
|
|
else:
|
|
|
bt = bt.get(spec=value['spec'], profiles=value['profiles'])
|
|
|
- dev.bluetooth = bt
|
|
|
- dev.save()
|
|
|
+ bluetooth = bt
|
|
|
elif key == "cameras":
|
|
|
- dev.save()
|
|
|
for c in value:
|
|
|
cam = set_camera(c)
|
|
|
- dev.cameras.add(cam)
|
|
|
+ cameras.append(cam)
|
|
|
elif key == "peripherals":
|
|
|
if str(value) == "None":
|
|
|
value = None
|
|
@@ -84,8 +86,12 @@ class Command(BaseCommand):
|
|
|
value = None
|
|
|
else:
|
|
|
setattr(dev, key, value)
|
|
|
- dev.save()
|
|
|
except yaml.YAMLError as exc:
|
|
|
print(exc)
|
|
|
- stream.close()
|
|
|
+ stream.close()
|
|
|
+ dev.save()
|
|
|
+ dev.bluetooth = bluetooth
|
|
|
+ for camera in cameras:
|
|
|
+ dev.cameras.add(cam)
|
|
|
+ dev.save()
|
|
|
|