Compare commits

...

3 Commits

Author SHA1 Message Date
7aa26e60d3 Add title of subtitles and audio in Basic 2023-01-29 15:38:40 +00:00
105a8ec077 Security fix subprocess
Removed shell=True from subprocess, and correctly switch commands to lists.
2023-01-12 22:35:59 +00:00
b1814e967c Add line wrap indentation 2022-12-26 19:17:00 +00:00
6 changed files with 23 additions and 13 deletions

4
.gitignore vendored
View File

@ -124,3 +124,7 @@ dmypy.json
.pyre/ .pyre/
TODO TODO
toBinary
binary/

View File

@ -91,9 +91,6 @@ font: 11pt &quot;UbuntuMono NF&quot;;</string>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
<property name="readOnly"> <property name="readOnly">
<bool>true</bool> <bool>true</bool>
</property> </property>

View File

@ -0,0 +1,2 @@
if __name__ == "__main__":
import main

View File

@ -1,5 +1,4 @@
import os, subprocess, json import os, subprocess
from shlex import quote
class FileCmds: class FileCmds:
def __init__(self, file_path): def __init__(self, file_path):
@ -19,7 +18,7 @@ class FileCmds:
:type cmd: str :type cmd: str
:return: str :return: str
''' '''
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
output, error = process.communicate() output, error = process.communicate()
return output return output
@ -44,7 +43,7 @@ class FileCmds:
:type inform: str :type inform: str
:rtype: str :rtype: str
''' '''
bash_command = f"mediainfo --Inform={quote(inform)} {quote(self.file_path)}" bash_command = ["mediainfo", f"--Inform={inform}", self.file_path]
output = self.execute_bash(bash_command).decode('utf-8') output = self.execute_bash(bash_command).decode('utf-8')
return output return output
@ -82,8 +81,8 @@ class FileCmds:
''' '''
inform_general = r"General;G: %Format%, %FileSize_String%, %Duration_String%, %BitRate_String%\n" inform_general = r"General;G: %Format%, %FileSize_String%, %Duration_String%, %BitRate_String%\n"
inform_video = r"Video;V: %Format%, %Format_Profile%, %StreamSize_String%, %Width%x%Height%, %FrameRate% FPS, %BitRate_String%\n" inform_video = r"Video;V: %Format%, %Format_Profile%, %StreamSize_String%, %Width%x%Height%, %FrameRate% FPS, %BitRate_String%\n"
inform_audio = r"Audio;A: %Language_String%, %Format%, %StreamSize_String%, %BitRate_String%, %Channel(s)_String%, %SamplingRate_String%\n" inform_audio = r"Audio;A: %Language_String%, %Title%, %Format%, %StreamSize_String%, %BitRate_String%, %Channel(s)_String%, %SamplingRate_String%\n"
inform_text = r"Text;T: %Language_String%, %Format%\n" inform_text = r"Text;T: %Language_String%, %Title%, %Format%\n"
informs = [inform_general] informs = [inform_general]
@ -105,7 +104,7 @@ class FileCmds:
output += "M: Menu\n\n" output += "M: Menu\n\n"
output += "\n" output += "\n"
output += self.execute_bash(f"mediainfo {quote(self.file_path)}").decode('utf-8') output += self.execute_bash(["mediainfo", self.file_path]).decode('utf-8')
return(output) return(output)
@ -115,7 +114,7 @@ class FileCmds:
:rtype: string :rtype: string
''' '''
output = self.execute_bash(f"mediainfo --Full {quote(self.file_path)}").decode('utf-8') output = self.execute_bash(["mediainfo", "--Full", self.file_path]).decode('utf-8')
return output return output

View File

@ -1,6 +1,6 @@
from PySide6.QtWidgets import QWidget from PySide6.QtWidgets import QWidget
from PySide6.QtCore import QSize from PySide6.QtCore import QSize
from PySide6.QtGui import QTextCharFormat, QTextCursor, QColor from PySide6.QtGui import QTextCharFormat, QTextCursor, QColor, QTextBlockFormat
from ui_main_window import Ui_MainWindow from ui_main_window import Ui_MainWindow
from file_cmds import FileCmds from file_cmds import FileCmds
@ -62,8 +62,17 @@ class MainWindow(QWidget, Ui_MainWindow):
self.content = self.file_cmds.tabs_content[item_selected[0].text()] self.content = self.file_cmds.tabs_content[item_selected[0].text()]
self.detail_text_edit.setPlainText(self.content) self.detail_text_edit.setPlainText(self.content)
self.search() self.search()
self.wrap_line_indent()
def wrap_line_indent(self):
cursor = QTextCursor(self.detail_text_edit.document())
cursor.select(QTextCursor.Document)
fmt = QTextBlockFormat()
fmt.setLeftMargin(100)
fmt.setTextIndent(-100)
cursor.mergeBlockFormat(fmt)
def search(self): def search(self):
to_search = self.search_line_edit.text() to_search = self.search_line_edit.text()

View File

@ -65,7 +65,6 @@ class Ui_MainWindow(object):
self.detail_text_edit.setObjectName(u"detail_text_edit") self.detail_text_edit.setObjectName(u"detail_text_edit")
self.detail_text_edit.setStyleSheet(u"background-color: rgb(42, 42, 42);") self.detail_text_edit.setStyleSheet(u"background-color: rgb(42, 42, 42);")
self.detail_text_edit.setFrameShape(QFrame.NoFrame) self.detail_text_edit.setFrameShape(QFrame.NoFrame)
self.detail_text_edit.setLineWrapMode(QTextEdit.NoWrap)
self.detail_text_edit.setReadOnly(True) self.detail_text_edit.setReadOnly(True)
self.splitter.addWidget(self.detail_text_edit) self.splitter.addWidget(self.detail_text_edit)