deb-mock/mock/py/mockbuild/text.py
robojerk 4c0dcb2522
Some checks failed
Build Deb-Mock Package / build (push) Successful in 54s
Lint Code / Lint All Code (push) Failing after 1s
Test Deb-Mock Build / test (push) Failing after 36s
enhance: Add comprehensive .gitignore for deb-mock project
- Add mock-specific build artifacts (chroot/, mock-*, mockroot/)
- Include package build files (*.deb, *.changes, *.buildinfo)
- Add development tools (.coverage, .pytest_cache, .tox)
- Include system files (.DS_Store, Thumbs.db, ._*)
- Add temporary and backup files (*.tmp, *.bak, *.backup)
- Include local configuration overrides (config.local.yaml, .env.local)
- Add test artifacts and documentation builds
- Comprehensive coverage for Python build system project

This ensures build artifacts, chroot environments, and development
tools are properly ignored in version control.
2025-08-18 23:37:49 -07:00

34 lines
981 B
Python

# -*- coding: utf-8 -*-
# vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=python:textwidth=0:
import locale
from .trace_decorator import getLog
encoding = locale.getpreferredencoding()
def compat_expand_string(string, conf_dict):
"""
Expand %(uid)s, etc., only if needed - and warn the user
that Jinja should be used instead.
"""
if '%(' not in string:
return string
getLog().warning("Obsoleted %(foo) config expansion in '{}', "
"use Jinja alternative {{foo}}".format(string))
return string % conf_dict
def _to_text(obj, arg_encoding='utf-8', errors='strict', nonstring='strict'):
if isinstance(obj, str):
return obj
elif isinstance(obj, bytes):
return obj.decode(arg_encoding, errors)
else:
if nonstring == 'strict':
raise TypeError('First argument must be a string')
raise ValueError('nonstring must be one of: ["strict",]')
_to_native = _to_text