add script
This commit is contained in:
parent
d030ed9b23
commit
81b28b2663
|
@ -0,0 +1,46 @@
|
|||
import json
|
||||
import sys
|
||||
|
||||
from ereuse_devicehub.db import db
|
||||
from ereuse_devicehub.devicehub import Devicehub
|
||||
from ereuse_devicehub.resources.action.models import Snapshot
|
||||
|
||||
|
||||
def open_snapshot():
|
||||
path = sys.argv[2]
|
||||
f = open(path)
|
||||
txt = f.read()
|
||||
return json.loads(txt)
|
||||
|
||||
|
||||
def get_family(snapshot):
|
||||
debug = snapshot.get('debug', {})
|
||||
lshw = debug.get('lshw', {})
|
||||
return lshw.get('configuration', {}).get('family', '')
|
||||
|
||||
|
||||
def get_device(uuid):
|
||||
snapshot = Snapshot.query.filter_by(uuid=uuid).first()
|
||||
if snapshot:
|
||||
return snapshot.device
|
||||
|
||||
|
||||
def main():
|
||||
schema = sys.argv[1]
|
||||
app = Devicehub(inventory=schema)
|
||||
app.app_context().push()
|
||||
snapshot = open_snapshot()
|
||||
uuid = snapshot.get('uuid')
|
||||
if not uuid:
|
||||
return
|
||||
family = get_family(snapshot)
|
||||
device = get_device(uuid)
|
||||
if not device:
|
||||
return
|
||||
device.family = family
|
||||
device.set_hid()
|
||||
db.session.commit()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in New Issue