mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-09-24 11:40:17 +00:00
python3-smpplib: drop the six dependency
Patch smpplib to use dict.items, a bytes literal and a latin-1 encode instead of six.iteritems, six.int2byte and six.b, and drop the runtime dependency. Built for intel-corei7-64. AI-Generated: Uses Claude Code (Claude Opus 5) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
+124
@@ -0,0 +1,124 @@
|
||||
From ebb5d702a7bff096a75280b1709f5e061857b7d4 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Date: Mon, 21 Sep 2026 13:24:42 +0200
|
||||
Subject: [PATCH] drop the six dependency
|
||||
|
||||
six is a Python 2 compatibility shim and smpplib does not need it on
|
||||
Python 3: six.iteritems is dict.items, six.int2byte is bytes of a single
|
||||
value and six.b encodes as latin-1.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
AI-Generated: Uses Claude Code (Claude Opus 5)
|
||||
---
|
||||
setup.py | 1 -
|
||||
smpplib/command.py | 8 +++-----
|
||||
smpplib/command_codes.py | 4 +---
|
||||
smpplib/gsm.py | 8 +++-----
|
||||
4 files changed, 7 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index b12fc31..b3ef37e 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -16,7 +16,6 @@ setup(
|
||||
url='https://github.com/python-smpplib/python-smpplib',
|
||||
description='SMPP library for python',
|
||||
packages=find_packages(),
|
||||
- install_requires=['six'],
|
||||
extras_require=dict(
|
||||
tests=('typing; python_version < "3.5"', 'pytest', 'mock'),
|
||||
),
|
||||
diff --git a/smpplib/command.py b/smpplib/command.py
|
||||
index bde5840..40fcac7 100644
|
||||
--- a/smpplib/command.py
|
||||
+++ b/smpplib/command.py
|
||||
@@ -22,8 +22,6 @@
|
||||
import logging
|
||||
import struct
|
||||
|
||||
-import six
|
||||
-
|
||||
from smpplib import consts, exceptions, pdu
|
||||
from smpplib.ptypes import flag, ostr
|
||||
|
||||
@@ -64,7 +62,7 @@ def get_optional_name(code):
|
||||
"""Return optional_params name by given code. If code is unknown, raise
|
||||
UnkownCommandError exception"""
|
||||
|
||||
- for key, value in six.iteritems(consts.OPTIONAL_PARAMS):
|
||||
+ for key, value in consts.OPTIONAL_PARAMS.items():
|
||||
if value == code:
|
||||
return key
|
||||
|
||||
@@ -106,7 +104,7 @@ class Command(pdu.PDU):
|
||||
|
||||
def _set_vars(self, **kwargs):
|
||||
"""set attributes accordingly to kwargs"""
|
||||
- for key, value in six.iteritems(kwargs):
|
||||
+ for key, value in kwargs.items():
|
||||
if not hasattr(self, key) or getattr(self, key) is None:
|
||||
setattr(self, key, value)
|
||||
|
||||
@@ -179,7 +177,7 @@ class Command(pdu.PDU):
|
||||
value = chr(0)
|
||||
|
||||
setattr(self, field, field_value)
|
||||
- return six.b(value)
|
||||
+ return value.encode('latin-1')
|
||||
|
||||
def _generate_ostring(self, field):
|
||||
"""Generate octet string value (no null terminator)"""
|
||||
diff --git a/smpplib/command_codes.py b/smpplib/command_codes.py
|
||||
index eab6868..a0fc53e 100644
|
||||
--- a/smpplib/command_codes.py
|
||||
+++ b/smpplib/command_codes.py
|
||||
@@ -1,5 +1,3 @@
|
||||
-import six
|
||||
-
|
||||
from smpplib import exceptions
|
||||
|
||||
#
|
||||
@@ -42,7 +40,7 @@ def get_command_name(code):
|
||||
If code is unknown, raise UnknownCommandError exception.
|
||||
"""
|
||||
|
||||
- for key, value in six.iteritems(commands):
|
||||
+ for key, value in commands.items():
|
||||
if value == code:
|
||||
return key
|
||||
|
||||
diff --git a/smpplib/gsm.py b/smpplib/gsm.py
|
||||
index 9d70f98..77c6d0e 100644
|
||||
--- a/smpplib/gsm.py
|
||||
+++ b/smpplib/gsm.py
|
||||
@@ -1,8 +1,6 @@
|
||||
# -*- coding: utf8 -*-
|
||||
import random
|
||||
|
||||
-import six
|
||||
-
|
||||
from smpplib import consts, exceptions
|
||||
|
||||
|
||||
@@ -55,7 +53,7 @@ def gsm_encode(plaintext):
|
||||
"""Performs default GSM 7-bit encoding. Beware it's vendor-specific and not recommended for use."""
|
||||
try:
|
||||
return b''.join(
|
||||
- six.int2byte(index) if index < 0x80 else b'\x1B' + six.int2byte(index - 0x80)
|
||||
+ bytes((index,)) if index < 0x80 else b'\x1B' + bytes((index - 0x80,))
|
||||
for index in map(GSM_CHARACTER_TABLE.index, plaintext)
|
||||
)
|
||||
except ValueError:
|
||||
@@ -78,9 +76,9 @@ def make_parts_encoded(encoded_text, part_size):
|
||||
raise exceptions.MessageTooLong()
|
||||
|
||||
uid = random.randint(0, 255)
|
||||
- header = b''.join((b'\x05\x00\x03', six.int2byte(uid), six.int2byte(len(chunks))))
|
||||
+ header = b''.join((b'\x05\x00\x03', bytes((uid,)), bytes((len(chunks),))))
|
||||
|
||||
- return [b''.join((header, six.int2byte(i), chunk)) for i, chunk in enumerate(chunks, start=1)]
|
||||
+ return [b''.join((header, bytes((i,)), chunk)) for i, chunk in enumerate(chunks, start=1)]
|
||||
|
||||
|
||||
def split_sequence(sequence, part_size):
|
||||
@@ -3,13 +3,13 @@ SECTION = "devel/python"
|
||||
LICENSE = "GPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://README.md;md5=8b4e2ac8cf248f7b991784f88b630852"
|
||||
|
||||
SRC_URI += "file://0001-drop-the-six-dependency.patch"
|
||||
SRC_URI[sha256sum] = "6f3b036fcb2643c1b7a3289bb5ac4c9a720af1bf73e572e2729db6b5d800c273"
|
||||
|
||||
inherit pypi setuptools3 ptest-python-pytest
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
python3-logging \
|
||||
python3-six \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}-ptest += " \
|
||||
|
||||
Reference in New Issue
Block a user