Guest User

Untitled

a guest
Apr 26th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 KB | None | 0 0
  1. def gerar_smil(modeladmin, request, queryset):
  2.    
  3.     WOWZA_SSH_CONFIG = settings.WOWZA_SSH_CONFIG
  4.  
  5.     try:
  6.         # cria a conexão SFTP
  7.         transport = paramiko.Transport(
  8.             (WOWZA_SSH_CONFIG['host'], WOWZA_SSH_CONFIG['port'])
  9.         )
  10.         transport.connect(
  11.             username=WOWZA_SSH_CONFIG['user'],
  12.             password=WOWZA_SSH_CONFIG['pass']
  13.         )
  14.  
  15.         # não está seguro ainda, porém para depois rola de usar:
  16.         #
  17.         # pkey = paramiko.Pkey.from_private_key_file('/arquivo/sdasda.pem')
  18.         # transport.connect(username=username, pkey=mykey)
  19.  
  20.         sftp = paramiko.SFTPClient.from_transport(transport)
  21.        
  22.         for midia in queryset:
  23.            
  24.             # gerando o conteúdo e nome do arquivo smil
  25.             c = {'videos': midia.video_set.all()}
  26.             smil = render_to_string('midia/bitrates.smil.xml', c)
  27.             filename = "/tmp/%s" % uuid.uuid4().hex
  28.  
  29.             # salvando esse arquivo no filesystem
  30.             f = open(filename, "w")
  31.             f.write(smil)
  32.             f.close()
  33.  
  34.             # envia o arquivo via sftp
  35.             sftp.put(filename, WOWZA_SSH_CONFIG['putf'] % midia.slug)
  36.  
  37.             midia.smil_carregado = True
  38.             midia.save()
  39.        
  40.         messages.success(request, 'Smil Carregado com sucesso!')
  41.        
  42.         # fecha as conexões
  43.         sftp.close()
  44.         transport.close()
  45.  
  46.     except:
  47.         #except BadAuthenticationType:
  48.         messages.error(
  49.             request, 'Houve um problema de autenticação com o servidor '
  50.             'de vídeos.'
  51.         )
Add Comment
Please, Sign In to add comment