From e8d949db86b86d28758850d5d5e0beba5e266905 Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 9 Jan 2026 23:38:32 -0500 Subject: [PATCH] replaced standard str.split() with shlex.split() --- core/models.py | 5 ++++- core/views.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/models.py b/core/models.py index b9166f66..bf3f06a5 100644 --- a/core/models.py +++ b/core/models.py @@ -1,4 +1,7 @@ # core/models.py + +from shlex import split as shlex_split + from django.conf import settings from django.db import models from django.utils.text import slugify @@ -133,7 +136,7 @@ class StreamProfile(models.Model): # Split the command and iterate through each part to apply replacements cmd = [self.command] + [ self._replace_in_part(part, replacements) - for part in self.parameters.split() + for part in shlex_split(self.parameters) # use shlex to handle quoted strings ] return cmd diff --git a/core/views.py b/core/views.py index 312d8836..fa1f24ca 100644 --- a/core/views.py +++ b/core/views.py @@ -1,5 +1,6 @@ # core/views.py import os +from shlex import split as shlex_split import sys import subprocess import logging @@ -144,7 +145,7 @@ def stream_view(request, channel_uuid): logger.debug("Formatted parameters: %s", parameters) # Build the final command. - cmd = [stream_profile.command] + parameters.split() + cmd = [stream_profile.command] + shlex_split(parameters) logger.debug("Executing command: %s", cmd) try: