Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ ⎇ branch:  streamtuner2


Check-in [837517237c]

Overview
Comment:Exempt `%` from Win quoting.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 837517237c44a233ec8220913cb7738b2837b415
User & Date: Oliver on 2016-12-26 20:42:50
Other Links: manifest | tags
Context
2016-12-26
20:43
Use file:/// urls again. Escape backslashes for Windows now. check-in: 9bef9860b6 user: Oliver tags: trunk
20:42
Exempt `%` from Win quoting. check-in: 837517237c user: Oliver tags: trunk
20:27
User standard pluginconf.dependency() for themes filtering. check-in: 41291d31ab user: mario tags: trunk
Changes

Modified action.py from [01839c79bb] to [4e163fed55].

190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# OS shell command escaping
#
def quote(ins):
    if type(ins) is list:
        return " ".join([quote(s) for s in ins])
    # Windows: double quotes / caret escaping
    elif conf.windows:
        if re.search(r"""[()<>&%!^'";\s]""", ins):
            ins = '"%s"' % ins
            ins = re.sub(r'([()<>"&%^])', r"^\1", ins)
            return ins
        else:
            return subprocess.list2cmdline([ins])
    # Posix-style shell quoting
    else:
        if re.match("^\w[\w.:/\-]+$", ins):
            return ins







|

|







190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# OS shell command escaping
#
def quote(ins):
    if type(ins) is list:
        return " ".join([quote(s) for s in ins])
    # Windows: double quotes / caret escaping
    elif conf.windows:
        if re.search(r"""[()<>&!^'";\s]""", ins):
            ins = '"%s"' % ins
            ins = re.sub(r'([()<>"&^])', r"^\1", ins)
            return ins
        else:
            return subprocess.list2cmdline([ins])
    # Posix-style shell quoting
    else:
        if re.match("^\w[\w.:/\-]+$", ins):
            return ins