VideoHelper
Python Script to help YouTubers quickly create Folder Structures and Script Outlines for Video projects with Templated Intro's and Outtro's in MS Word.
Featuring Atlassian JIRA integration
Table of Contents
- VideoHelper
Important
Only tested in Python 3.8.2 and Python 3.9.4 on macOS OS functions may require modification in Linux or Windows
Video Walkthrough of this Project available on YouTube
Requirements
Required for creating DOCX files
[Python DOCX Library] (https://python-docx.readthedocs.io/en/latest/)
Can be installed using:
pip3 install python-docx
imports
can be commented out if not utilising JIRA integration
Optional - Python Requests Library
Can be installed by running:
pip3 install requests
Python JSON Library
Can be installed by running:
pip3 install json
Usage
auth_template.py
Fill out Inside auth_template.py
are important variables
You COULD explicitly define these within generate.py
, however, I feel like it's better to define them externally for..... security, especially if you commit anything to GitHub.
The only potentially sensitive detail in here is the headers
for JIRA.
These are required for Authentication. I plan to fix this authentication in a future release, but for now it works. I got my Authentication headers by using Postman to explore the JIRA API and copied the Authentication headers from there.
Once you've filled out auth_template.py, save the file as auth.py in the same folder.
rootPath
variable
Update You'll need to change this path based on YOUR configuration. Mine points to a mounted SMB share which is on my Server. You might just want to point this to Local Storage
rootPath = "/Volumes/HiveMind/Videos"
Update path conditional logic for your use case
The conditionals from Line 74 suit my use cases, however, you should update this to suit your own use case.
For Example, changing Getting Started Series
to Tutorials
or however you want to structure your folders.
# Set Path based on inputs
if projectType == 1:
path = f"{rootPath}/Getting Started Series/{project}-{projectID} - {jobTitle}"
elif projectType == 2:
path = f"{rootPath}/Product Reviews/{project}-{projectID} - {jobTitle}"
elif projectType == 3:
path = f"{rootPath}/Quick Tips/{project}-{projectID} - {jobTitle}"
elif projectType == 4:
path = f"{rootPath}/Code Review/{project}-{projectID} - {jobTitle}"
else:
projectType = int(input(typePrompt))
if not using JIRA integration
If you aren't using the JIRA integration, modify the "JIRA" variable on Line 15 to
JIRA = False
Run the script
Run the script by opening a Terminal in the same location as the generate.py script and running python3 ./generate.py
.