rezo 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
rezo/__init__.py ADDED
@@ -0,0 +1,6 @@
1
+ """
2
+ rezo: Your Resolve workflow assistant.
3
+ """
4
+ __title__ = "rezo"
5
+ __author__ = "Benevant Mathew"
6
+ __license__ = "MIT License"
@@ -0,0 +1,17 @@
1
+ """
2
+ help.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2026-05-12
6
+ """
7
+ import os
8
+ from rezo.basic_functions.os_funs import get_user_profile
9
+
10
+ # directory where config file exist
11
+ current_dir = os.path.abspath(os.path.dirname(__file__))
12
+
13
+ #user directory
14
+ usrprofile=get_user_profile()
15
+
16
+ #root directory
17
+ root_dir=os.path.join(current_dir, "..")
@@ -0,0 +1,56 @@
1
+ """
2
+ os_funs.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2025-09-20
6
+ """
7
+ import platform
8
+ import os
9
+ import pandas as pd
10
+
11
+ def get_user_profile():
12
+ """
13
+ Docstring for get_user_profile
14
+ """
15
+ if platform.system()=='Windows':
16
+ out=os.environ['USERPROFILE']
17
+ else:
18
+ out=os.path.expanduser('~')
19
+ return out
20
+
21
+ def read_csv(file):
22
+ """
23
+ #read a csv file to df
24
+
25
+ :param file: Description
26
+ """
27
+ return pd.read_csv(file)
28
+
29
+ def write_file(name,text):
30
+ """
31
+ Docstring for write_file
32
+
33
+ :param name: Description
34
+ :param text: Description
35
+ """
36
+ #write joined text file
37
+ f1 = open(name, "w")
38
+ f1.write(text)
39
+ f1.close()
40
+ print('{} created'.format(name))
41
+
42
+ def get_end_from_path(path):
43
+ """
44
+ Docstring for get_end_from_path
45
+
46
+ :param path: Description
47
+ """
48
+ return os.path.basename(path)
49
+
50
+ def get_dir_path_from_path(path):
51
+ """
52
+ Docstring for get_dir_path_from_path
53
+
54
+ :param path: Description
55
+ """
56
+ return os.path.dirname(path)
rezo/core/core.py ADDED
@@ -0,0 +1,47 @@
1
+ """
2
+ core.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2025-09-20
6
+ """
7
+ import os
8
+ from rezo.basic_functions.os_funs import (
9
+ read_csv, write_file, get_end_from_path, get_dir_path_from_path
10
+ )
11
+
12
+ def remove_frames_from_timestamp(text):
13
+ """
14
+ Docstring for remove_frames_from_timestamp
15
+
16
+ :param text: Description
17
+ """
18
+ return text[:-3]
19
+
20
+ def write_timestamp_and_index(filepaths):
21
+ """
22
+ Docstring for write_timestamp_and_index
23
+
24
+ :param filepaths: Description
25
+ """
26
+ for filepath in filepaths:
27
+ name=get_end_from_path(filepath)
28
+ prefix=name[:-4]
29
+ new_name=prefix+'_short.txt'
30
+
31
+ dir_name=get_dir_path_from_path(filepath)
32
+
33
+ new_filepath=os.path.join(dir_name,new_name)
34
+
35
+ df=read_csv(filepath)
36
+ df_out=df.loc[:,['Source In','Notes']].copy()
37
+
38
+ df_out['Source In'] = df_out['Source In'].apply(remove_frames_from_timestamp)
39
+ r,c=df_out.shape
40
+ text=''
41
+ for row in range(r):
42
+ text+=df_out.loc[row,'Source In']
43
+ text+=' '
44
+ text+=df_out.loc[row,'Notes']
45
+ text+='\n'
46
+
47
+ write_file(new_filepath,text)
rezo/core/help.py ADDED
@@ -0,0 +1,27 @@
1
+ """
2
+ help.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2026-05-12
6
+ """
7
+ import sys
8
+ # Function to display help
9
+
10
+ def print_help():
11
+ """
12
+ help function
13
+ """
14
+ help_message = """
15
+ Usage: rezo [OPTIONS]
16
+
17
+ Your Resolve workflow assistant.
18
+
19
+ Options:
20
+ --version, -v Show the version and exit
21
+ --help, -h Show this help message and exit
22
+ --email, -e Show email and exit
23
+ --author, -a Show author and exit
24
+ (No arguments) Launch the GUI application
25
+ """
26
+ print(help_message)
27
+ sys.exit(0)
rezo/gui/gui.py ADDED
@@ -0,0 +1,73 @@
1
+ """
2
+ gui.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2025-09-20
6
+ """
7
+ import tkinter as tk
8
+ from tkinter import filedialog, messagebox
9
+ from tkinter import ttk # for Notebook widget (tabs)
10
+ from rezo.core.core import write_timestamp_and_index
11
+ from rezo.version import __app_label__
12
+
13
+ def create_gui():
14
+ """
15
+ Docstring for create_gui
16
+ """
17
+ # Function to handle file selection
18
+ def select_files():
19
+ global filenames
20
+
21
+ filetypes = (
22
+ ("CSV files", "*.csv"),
23
+ ("All files", "*.*")
24
+ )
25
+ filenames = filedialog.askopenfilenames(title="Select CSV files", filetypes=filetypes)
26
+
27
+ # Update the label with selected file names
28
+ if filenames:
29
+ selected_files_label.config(text="\n".join(filenames))
30
+
31
+ # Function to handle the create button click
32
+ def create_action():
33
+ if not selected_files_label.cget("text"):
34
+ messagebox.showwarning("Warning", "No files selected!")
35
+ else:
36
+ write_timestamp_and_index(filenames)
37
+ messagebox.showinfo("Success", "CSV files processed successfully!")
38
+ # You can add more logic to handle file processing here
39
+
40
+ # Create main window
41
+ root = tk.Tk()
42
+ root.title(__app_label__)
43
+ root.geometry("500x400")
44
+
45
+ # Create a Notebook (for tabs)
46
+ notebook = ttk.Notebook(root)
47
+ notebook.pack(pady=10, expand=True)
48
+
49
+ # Create a frame for the "Markers Edit" tab
50
+ markers_edit_frame = ttk.Frame(notebook, width=500, height=400)
51
+ markers_edit_frame.pack(fill='both', expand=True)
52
+
53
+ # Add the tab to the notebook
54
+ notebook.add(markers_edit_frame, text="Markers Edit")
55
+
56
+ # Page Title inside "Markers Edit" tab
57
+ title_label = tk.Label(markers_edit_frame, text="Markers Edit", font=("Arial", 16))
58
+ title_label.pack(pady=10)
59
+
60
+ # Button to select multiple .csv files
61
+ select_button = tk.Button(markers_edit_frame, text="Select CSV Files", command=select_files)
62
+ select_button.pack(pady=5)
63
+
64
+ # Label to display selected files
65
+ selected_files_label = tk.Label(markers_edit_frame, text="", anchor="w", justify="left")
66
+ selected_files_label.pack(pady=10)
67
+
68
+ # Create button
69
+ create_button = tk.Button(markers_edit_frame, text="Create", command=create_action)
70
+ create_button.pack(pady=20)
71
+
72
+ # Start the application
73
+ root.mainloop()
rezo/main.py ADDED
@@ -0,0 +1,41 @@
1
+ """
2
+ main.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2026-05-12
6
+ """
7
+ import sys
8
+
9
+ from rezo.version import (
10
+ __version__,__email__,__release_date__,__author__
11
+ )
12
+ from rezo.core.help import print_help
13
+
14
+ # Main entry point
15
+ def main():
16
+ """
17
+ main
18
+ """
19
+ # Check for command-line arguments
20
+ if "--version" in sys.argv or "-v" in sys.argv:
21
+ print(f"version {__version__}")
22
+ sys.exit(0)
23
+ if "--help" in sys.argv or "-h" in sys.argv:
24
+ print_help()
25
+ sys.exit(0)
26
+ if "--author" in sys.argv or "-a" in sys.argv:
27
+ print(f"Author {__author__}")
28
+ sys.exit(0)
29
+ if "--email" in sys.argv or "-e" in sys.argv:
30
+ print(f"Mailto {__email__}")
31
+ sys.exit(0)
32
+ if "--date" in sys.argv or "-d" in sys.argv:
33
+ print(f"Release Date {__release_date__}")
34
+ sys.exit(0)
35
+
36
+ # call gui
37
+ from rezo.gui.gui import create_gui
38
+ create_gui()
39
+
40
+ if __name__ == "__main__":
41
+ main()
rezo/version.py ADDED
@@ -0,0 +1,15 @@
1
+ """
2
+ version.py
3
+
4
+ Author: Benevant Mathew
5
+ Date: 2026-05-12
6
+ """
7
+ __version__ = "0.1.0"
8
+ __author__ = "Benevant Mathew"
9
+ __email__ = "benevantmathewv@gmail.com"
10
+ __release_date__="2026-05-12"
11
+ __app_name__ = "rezo"
12
+ __app_label__ = f"rezo v{__version__}"
13
+ if __name__ == "__main__":
14
+ print(__version__)
15
+ print(__release_date__)
@@ -0,0 +1,20 @@
1
+ Metadata-Version: 2.4
2
+ Name: rezo
3
+ Version: 0.1.0
4
+ Summary: Your Resolve workflow assistant
5
+ Author-email: Benevant Mathew <benevantmathewv@gmail.com>
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Natural Language :: English
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
12
+ Classifier: Topic :: Utilities
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: pandas>=2.3.3
17
+ Dynamic: license-file
18
+
19
+ # Rezo
20
+ Your Resolve workflow assistant
@@ -0,0 +1,14 @@
1
+ rezo/__init__.py,sha256=_FCojDKXEpSZ_l4bUq57NeQkNdOAYiv3n0I0RP0weCs,124
2
+ rezo/main.py,sha256=lWwqPNUsOEcx4I3wrRoCHUSWP1v9oK-6aLGFgvGTFm8,936
3
+ rezo/version.py,sha256=lv6P0J3OVmKg6Mdq_N5MOsWldQW2SXxRoZRtwYyNF4s,323
4
+ rezo/application/config.py,sha256=_vNH8ngeBYKtEoc_WPU23rb2Cl7u9fV7s_ElniFZkCA,325
5
+ rezo/basic_functions/os_funs.py,sha256=xCXaXHFEahrOljY4w-qA4Qd8ToLjrE0dhB7BJ4u7SrU,999
6
+ rezo/core/core.py,sha256=-F3aDXjAsPgtFdkAsUCOSailWNFd19VedaDg7fvYeOM,1128
7
+ rezo/core/help.py,sha256=zSnUjbGHw6ncuQqyHsrtFOXNCMkiXb7FjvAZcmAeW6Y,527
8
+ rezo/gui/gui.py,sha256=CdZd1bf8yjXSWpkxyM7sYat40-cLc5fAjAiXIE4Chso,2336
9
+ rezo-0.1.0.dist-info/licenses/LICENSE,sha256=n0KhtsOuPmaWYKzRPeL1lMFZk-dxyJ08Lya0SnwlctM,948
10
+ rezo-0.1.0.dist-info/METADATA,sha256=zDv4ngbUreNkdWegWS1xMtwrF0cEeZga3_LBw5j_YPQ,627
11
+ rezo-0.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
12
+ rezo-0.1.0.dist-info/entry_points.txt,sha256=UBSnbmdaJWWqVuMRmUZLimjj14nxcHbtKCR88wK05VQ,40
13
+ rezo-0.1.0.dist-info/top_level.txt,sha256=xDruKyq_5cjCLN7lrkidKE9WH6V-TyfqxkObX-1xADw,5
14
+ rezo-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rezo = rezo.main:main
@@ -0,0 +1,18 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Benevant Mathew
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
15
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
16
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
17
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
18
+ THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ rezo