amaimon02

fod

Jul 28th, 2020 (edited)
1,848
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.94 KB | None | 0 0
  1. from PyQt5 import QtCore, QtGui, QtWidgets, QtMultimedia
  2. from design import Ui_MainWindow
  3. from pynput.keyboard import Listener
  4. from pynput import keyboard
  5. import threading
  6. import sys
  7.  
  8. #!/usr/bin/env python
  9. from subprocess import Popen, PIPE
  10.  
  11. sudo_password = 'mypass'
  12. command = 'mount -t vboxsf myfolder /home/myuser/myfolder'.split()
  13.  
  14. p = Popen(['sudo', '-S'] + command, stdin=PIPE, stderr=PIPE,
  15.           universal_newlines=True)
  16. sudo_prompt = p.communicate(sudo_password + '\n')[1]
  17.  
  18.  
  19. class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
  20.     def __init__(self, *args, **kwargs):
  21.         QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
  22.  
  23.         processo = threading.Thread(target=self.listen_key)
  24.         #processo.daemon = True
  25.         processo.start()
  26.         self.setupUi(self)
  27.  
  28.  
  29.     def start_play(self, path="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"):
  30.         try:
  31.             self.mediaPlayer.stop()
  32.         except:
  33.             print('Não existia video')
  34.            
  35.         self.mediaPlayer = QtMultimedia.QMediaPlayer(self)
  36.         self.mediaPlayer.setVideoOutput(self.widget)
  37.         fileName = "hai.mkv"
  38.         url = QtCore.QUrl.fromLocalFile(fileName)
  39.         #url = QtCore.QUrl(path)
  40.         self.mediaPlayer.setMedia(QtMultimedia.QMediaContent(url))
  41.         self.mediaPlayer.play()
  42.        
  43.        
  44.  
  45.  
  46.     def listen_key(self):
  47.         def on_press(key):
  48.             key_especial = None
  49.  
  50.             try:  
  51.                 key = key.char
  52.             except AttributeError:
  53.                 key_especial = key
  54.             except:
  55.                 print('Algum erro relativo ao caractere')
  56.                
  57.  
  58.             if key_especial is not None:
  59.                 print(key_especial)
  60.                 if key_especial == keyboard.Key.enter:
  61.                     self.start_play()
  62.                     #self.label_error.setText('foda')
  63.             elif key:
  64.                 print(key)
  65.                 if key == 'q':
  66.                     print('q pressed')
  67.  
  68.         with Listener(on_press=on_press) as listener:
  69.             listener.join()
  70.  
  71.  
  72.  
  73.  
  74.        
  75.     # def keyPressEvent(self, event):
  76.     #     if event.key() == QtCore.Qt.Key_Enter:
  77.     #         print('enter')
  78.     #         self.start_play()
  79.  
  80. if __name__ == "__main__":
  81.     import sys
  82.     app = QtWidgets.QApplication(sys.argv)
  83.     w = MainWindow()
  84.     w.show()
  85.     sys.exit(app.exec_())
  86.  
  87.  
  88. # self.listWidget.addItem('TESTE')
  89. # self.listWidget.addItem('massa')
  90. # self.listWidget.addItem('teque')
  91. # from PyQt5.QtMultimediaWidgets import QVideoWidget
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101. from PyQt5 import QtCore, QtGui, QtWidgets, QtMultimedia
  102. from design3 import Ui_MainWindow
  103. from pynput.keyboard import Listener
  104. from pynput import keyboard
  105. import threading
  106. import sys
  107. import os
  108.  
  109.  
  110. class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
  111.     def __init__(self, *args, **kwargs):
  112.         QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
  113.  
  114.         processo = threading.Thread(target=self.listen_key)
  115.         #processo.daemon = True
  116.         processo.start()
  117.         self.setupUi(self)
  118.         self.showFullScreen()
  119.         self.ordem = ""
  120.        
  121.  
  122.  
  123.     def start_play(self, path="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"):
  124.         try:
  125.             self.mediaPlayer.stop()
  126.         except:
  127.             print('Não existia video')
  128.  
  129.         self.mediaPlayer = QtMultimedia.QMediaPlayer(self)
  130.         self.mediaPlayer.setVideoOutput(self.widget)
  131.         fileName = path
  132.         url = QtCore.QUrl.fromLocalFile(fileName)
  133.         #url = QtCore.QUrl(path)
  134.         self.mediaPlayer.setMedia(QtMultimedia.QMediaContent(url))
  135.         self.mediaPlayer.play()
  136.        
  137.  
  138.     def listen_key(self):
  139.         def on_press(key):
  140.             key_especial = None
  141.  
  142.             try:  
  143.                 key = key.char
  144.             except AttributeError:
  145.                 key_especial = key
  146.             except:
  147.                 print('Algum erro relativo ao caractere')
  148.                
  149.  
  150.             if key_especial is not None:
  151.                 print(key_especial)
  152.                 if key_especial == keyboard.Key.enter:
  153.                     pass
  154.                     #self.widget.setFullScreen(True)
  155.                     #self.start_play('hai.mkv')
  156.  
  157.  
  158.                     #info = self.search_song(self.ordem)
  159.                     #self.label_info.setText(info)
  160.                    
  161.                 # Apagar números
  162.                 elif key_especial == keyboard.Key.backspace:
  163.                     if len(self.ordem) != 0:
  164.                         self.ordem = self.ordem[:-1]
  165.                         self.numsearch.setText(self.ordem)
  166.                         self.info = self.search_song(self.ordem)
  167.                         self.label_info.setText(self.info)
  168.  
  169.                    
  170.             elif key:
  171.                 print(key)
  172.                 if key == 'q':
  173.                     pass
  174.  
  175.                 # Ao digitar números; pesquisá-los nos índices do catálogo
  176.                 elif key in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']:
  177.                     self.ordem += key
  178.                     self.numsearch.setText(self.ordem)
  179.                     self.info = self.search_song(self.ordem)
  180.                     self.label_info.setText(self.info)
  181.                     self.widget.setFullScreen(False)
  182.                     self.widget.setGeometry(QtCore.QRect(40, 100, 371, 231))
  183.  
  184.                 # Encerrar função listen_ley ao apertar Ctrl+C
  185.                 elif key == "\x03":
  186.                     os.system('Cls')
  187.                     quit()
  188.            
  189.         with Listener(on_press=on_press) as listener:
  190.             listener.join()
  191.  
  192.  
  193.     def search_song(self, indice, path='dados.ini'):
  194.         """ Retorna informações de uma música a partir do seu índice/ordem """
  195.  
  196.         if type(indice) == 'int':
  197.             indice = str(indice)
  198.         try:
  199.             with open(path, 'r') as f:
  200.                 arquivo = f.readlines()
  201.         except:
  202.             print('Erro ao tentar abrir catálogo')
  203.  
  204.         text = ""
  205.         for x in arquivo:
  206.             # Caso a linha(x) contiver o indice:
  207.             if x.strip() == f'[{indice}]':
  208.                 ind = arquivo.index(x)
  209.                 if "arquivo" in (arquivo[ind + 1]).lower():
  210.                     text += arquivo[ind + 2]
  211.                     text += arquivo[ind + 3]
  212.                 else:
  213.                     text += arquivo[ind + 1]
  214.                     text += arquivo[ind + 2]
  215.  
  216.                 #self.label_info.setText(text)
  217.        
  218.         # Caso não:
  219.         if len(text) == 0:
  220.             text = '0'
  221.                
  222.         return text
  223.  
  224.                
  225.  
  226.  
  227. if __name__ == "__main__":
  228.     import sys
  229.     app = QtWidgets.QApplication(sys.argv)
  230.     w = MainWindow()
  231.     w.show()
  232.     sys.exit(app.exec_())
  233.  
  234.  
  235. # self.listWidget.addItem('TESTE')
  236. # self.listWidget.addItem('massa')
  237. # self.listWidget.addItem('teque')
  238. # from PyQt5.QtMultimediaWidgets import QVideoWidget
  239.  
Add Comment
Please, Sign In to add comment