seed.py 1.1 KB

1234567891011121314151617181920212223242526272829
  1. from rest_framework_api_key.models import APIKey
  2. from platform_running.handlers.config import BOTLIST
  3. def create_webservice_seed():
  4. create_api_key_for_handlers()
  5. def create_api_key_for_handlers():
  6. api_key_list = []
  7. for botname in BOTLIST:
  8. existing_keys = APIKey.objects.filter(name=botname, revoked=False)
  9. if existing_keys.exists():
  10. # Делаем все старые ключи для этого бота неактивными (revoked)
  11. for old_key in existing_keys:
  12. old_key.revoked = True
  13. old_key.save()
  14. print(f"Старые ключи для {botname} устарели (revoked).")
  15. # Создаем новый ключ
  16. api_key, key = APIKey.objects.create_key(name=botname)
  17. api_key_list.append([botname, key])
  18. print(f"Новый API Key для {botname} создан.")
  19. # Формируем строки вида botname_key=ключ
  20. api_key_list = list(map(lambda x: x[0] + '_key=' + x[1], api_key_list))
  21. txt = '\n'.join(api_key_list)
  22. with open('platform_running/handlers/.env', 'w') as f:
  23. f.write(txt)