py3: send bytes from Rust-created warning patterns
Python code expects bytes in both Python 2 and Python 3, so we should send
bytes.
Differential Revision: https://phab.mercurial-scm.org/D7612
--- a/rust/hg-cpython/src/filepatterns.rs Mon Nov 18 17:34:44 2019 +0100
+++ b/rust/hg-cpython/src/filepatterns.rs Mon Nov 18 17:37:59 2019 +0100
@@ -13,8 +13,7 @@
//!
use crate::exceptions::{PatternError, PatternFileError};
use cpython::{
- PyBytes, PyDict, PyModule, PyObject, PyResult, PyString, PyTuple, Python,
- ToPyObject,
+ PyBytes, PyDict, PyModule, PyObject, PyResult, PyTuple, Python, ToPyObject,
};
use hg::{
build_single_regex, read_pattern_file, utils::files::get_path_from_bytes,
@@ -66,12 +65,12 @@
fn warnings_to_py_bytes(
py: Python,
warnings: &[(PathBuf, Vec<u8>)],
-) -> Vec<(PyString, PyBytes)> {
+) -> Vec<(PyBytes, PyBytes)> {
warnings
.iter()
.map(|(path, syn)| {
(
- PyString::new(py, &path.to_string_lossy()),
+ PyBytes::new(py, &path.to_string_lossy().as_bytes()),
PyBytes::new(py, syn),
)
})