Compare commits

4 Commits

Author SHA1 Message Date
0cc45365a5 README Test 2022-12-16 14:42:22 +00:00
96617eaa53 README Test 2022-12-16 14:41:05 +00:00
8e70ed1e7d Test on README 2022-12-16 14:13:48 +00:00
7f9fe91f3e Test on README 2022-12-16 14:10:56 +00:00
7 changed files with 47 additions and 48 deletions

4
.gitignore vendored
View File

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

View File

@ -15,6 +15,7 @@
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(42, 42, 42);
font: 11pt &quot;UbuntuMono NF&quot;;
selection-background-color: rgb(105, 105, 105);
color: rgb(230, 230, 230);</string>
</property>
@ -57,8 +58,7 @@ background-color: rgb(105, 105, 105);</string>
<item>
<widget class="QLineEdit" name="search_line_edit">
<property name="styleSheet">
<string notr="true">background-color: rgb(42, 42, 42);
font: 11pt &quot;UbuntuMono NF&quot;;</string>
<string notr="true">background-color: rgb(42, 42, 42);</string>
</property>
<property name="text">
<string/>
@ -74,8 +74,7 @@ font: 11pt &quot;UbuntuMono NF&quot;;</string>
<item>
<widget class="QListWidget" name="tracks_list_widget">
<property name="styleSheet">
<string notr="true">background-color: rgb(42, 42, 42);
font: 11pt &quot;UbuntuMono NF&quot;;</string>
<string notr="true">background-color: rgb(42, 42, 42);</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>

View File

@ -20,6 +20,9 @@
<ol>
<li>
<a href="#about-the-project">About The Project</a>
<ul>
<li><a href="#built-with">Built With</a></li>
</ul>
</li>
<li>
<a href="#getting-started">Getting Started</a>
@ -29,24 +32,49 @@
</ul>
</li>
<li><a href="#usage">Usage</a></li>
<li><a href="#gallery">Gallery</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
<li><a href="#license">License</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#acknowledgments">Acknowledgments</a></li>
</ol>
</details>
<!-- ABOUT THE PROJECT -->
## About The Project
This is my personnal GUI for MediaInfo, based on [MediaInfo.NET](https://github.com/stax76/MediaInfo.NET)
This is my personnal GUI for MediaInfo, based on [MediaInfo.NET]([GitHub - stax76/MediaInfo.NET: MediaInfo.NET is a Windows application that shows media file information](https://github.com/stax76/MediaInfo.NET))
<p align="center"><img src="screenshots/basic.jpg" width="600"></p>
<p align="center"><img src="screenshots/basic.jpg" width="200">
View of the main interface<br>
<img src="screenshots/category.jpg" width="300">
You can select each track to see more details<br>
<img src="screenshots/search.jpg" width="400">
You can search through all the tracks</p>
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- GETTING STARTED -->
## Getting Started
This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.
### Prerequisites
* Python 3.7 or later
* PySide6
* [MediaInfo](https://github.com/MediaArea/MediaInfo)
This is an example of how to list things you need to use the software and how to install them.
- Python 3.7 or later
* PySide6
* [MediaInfo]([https://github.com/MediaArea/MediaInfo)
### Installation
@ -66,18 +94,8 @@ This is my personnal GUI for MediaInfo, based on [MediaInfo.NET](https://github.
<!-- USAGE EXAMPLES -->
## Usage
Just drag and drop a file on the window to show the media file informations
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Gallery
![Advanced track](screenshots/category.jpg)
![Search](screenshots/search.jpg)
<p align="right">(<a href="#readme-top">back to top</a>)</p>

View File

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

View File

@ -1,4 +1,5 @@
import os, subprocess
import os, subprocess, json
from shlex import quote
class FileCmds:
def __init__(self, file_path):
@ -18,7 +19,7 @@ class FileCmds:
:type cmd: str
:return: str
'''
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
output, error = process.communicate()
return output
@ -43,7 +44,7 @@ class FileCmds:
:type inform: str
:rtype: str
'''
bash_command = ["mediainfo", f"--Inform={inform}", self.file_path]
bash_command = f"mediainfo --Inform={quote(inform)} {quote(self.file_path)}"
output = self.execute_bash(bash_command).decode('utf-8')
return output
@ -104,7 +105,7 @@ class FileCmds:
output += "M: Menu\n\n"
output += "\n"
output += self.execute_bash(["mediainfo", self.file_path]).decode('utf-8')
output += self.execute_bash(f"mediainfo {quote(self.file_path)}").decode('utf-8')
return(output)
@ -114,7 +115,7 @@ class FileCmds:
:rtype: string
'''
output = self.execute_bash(["mediainfo", "--Full", self.file_path]).decode('utf-8')
output = self.execute_bash(f"mediainfo --Full {quote(self.file_path)}").decode('utf-8')
return output

View File

@ -1,6 +1,6 @@
from PySide6.QtWidgets import QWidget
from PySide6.QtCore import QSize
from PySide6.QtGui import QTextCharFormat, QTextCursor, QColor, QTextBlockFormat
from PySide6.QtGui import QTextCharFormat, QTextCursor, QColor
from ui_main_window import Ui_MainWindow
from file_cmds import FileCmds
@ -17,9 +17,6 @@ class MainWindow(QWidget, Ui_MainWindow):
self.splitter.setStretchFactor(0, False)
self.splitter.setStretchFactor(1, True)
self.detail_text_edit.setFont("UbuntuMono NF")
self.detail_text_edit.zoomIn(2)
def setupConnections(self):
self.tracks_list_widget.itemSelectionChanged.connect(self.popuplate_content)
@ -62,17 +59,8 @@ class MainWindow(QWidget, Ui_MainWindow):
self.content = self.file_cmds.tabs_content[item_selected[0].text()]
self.detail_text_edit.setPlainText(self.content)
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):
to_search = self.search_line_edit.text()

View File

@ -25,6 +25,7 @@ class Ui_MainWindow(object):
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(1214, 888)
MainWindow.setStyleSheet(u"background-color: rgb(42, 42, 42);\n"
"font: 11pt \"UbuntuMono NF\";\n"
"selection-background-color: rgb(105, 105, 105);\n"
"color: rgb(230, 230, 230);")
self.verticalLayout_2 = QVBoxLayout(MainWindow)
@ -46,16 +47,14 @@ class Ui_MainWindow(object):
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.search_line_edit = QLineEdit(self.layoutWidget)
self.search_line_edit.setObjectName(u"search_line_edit")
self.search_line_edit.setStyleSheet(u"background-color: rgb(42, 42, 42);\n"
"font: 11pt \"UbuntuMono NF\";")
self.search_line_edit.setStyleSheet(u"background-color: rgb(42, 42, 42);")
self.search_line_edit.setFrame(False)
self.verticalLayout.addWidget(self.search_line_edit)
self.tracks_list_widget = QListWidget(self.layoutWidget)
self.tracks_list_widget.setObjectName(u"tracks_list_widget")
self.tracks_list_widget.setStyleSheet(u"background-color: rgb(42, 42, 42);\n"
"font: 11pt \"UbuntuMono NF\";")
self.tracks_list_widget.setStyleSheet(u"background-color: rgb(42, 42, 42);")
self.tracks_list_widget.setFrameShape(QFrame.NoFrame)
self.verticalLayout.addWidget(self.tracks_list_widget)