| Server IP : 37.9.174.138 / Your IP : 216.73.216.117 Web Server : Apache System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64 User : ftpuser ( 1001) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/psutils/ |
Upload File : |
"""
PSUtils utilities for dealing with PostScript Resources.
Copyright (c) Reuben Thomas 2023.
Released under the GPL version 3, or (at your option) any later version.
"""
import os
import re
from .warnings import die
# Resource extensions
def extn(ext: bytes) -> bytes:
exts = {
b"font": b".pfa",
b"file": b".ps",
b"procset": b".ps",
b"pattern": b".pat",
b"form": b".frm",
b"encoding": b".enc",
}
return exts.get(ext, b"")
# Resource filename
def filename(*components: bytes) -> bytes: # make filename for resource in 'components'
name = b""
for component in components: # sanitise name
c_str = component.decode()
c_str = re.sub(r"[!()\$\#*&\\\|\`\'\"\~\{\}\[\]\<\>\?]", "", c_str)
name += c_str.encode()
name = os.path.basename(name) # drop directories
if name == b"":
die(f'filename not found for resource {b" ".join(components).decode()}', 2)
return name