configure.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/python
  2. import sys
  3. import os
  4. import json
  5. import re
  6. import base64
  7. import argparse
  8. import subprocess
  9. b64id = base64.b64encode(os.urandom(9))
  10. parser = argparse.ArgumentParser()
  11. parser.add_argument('src', nargs=1)
  12. parser.add_argument('dst', nargs=1)
  13. parser.add_argument('-programs', dest='programspath')
  14. parser.add_argument('-receivers', dest='receivers', type=int)
  15. parser.add_argument('-api-secret', dest='api_secret')
  16. parser.add_argument('-box-id', dest='box_id')
  17. arg = parser.parse_args()
  18. theid = arg.box_id
  19. infile = arg.src
  20. outfile = arg.dst
  21. with open(infile[0], 'rb') as fpin:
  22. data = json.loads(fpin.read())
  23. data['device_id'] = theid
  24. data['installDir'] = arg.programspath
  25. data['receivers_count'] = arg.receivers
  26. data['apiSecret'] = arg.api_secret
  27. with open(outfile[0], 'w') as fpout:
  28. fpout.write(json.dumps(data, indent=4))
  29. print(theid)
  30. fourier_path = '/var/fourier'
  31. box_path = os.path.join(fourier_path, theid)
  32. db_path = os.path.join(box_path, 'files.db')
  33. if os.path.isdir(fourier_path):
  34. if not os.path.isdir(box_path):
  35. print('** Creating Box ID folder')
  36. os.mkdir(box_path)
  37. if not os.path.isfile(db_path):
  38. print('** Preparing local database')
  39. subprocess.call(['fourier', 'db', 'setup'])
  40. print('** Applying migrations')
  41. subprocess.call(['fourier', 'db', 'migrate'])
  42. print('** Creating database')