slidge 0.2.7.post1__py3-none-any.whl → 0.2.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- slidge/__init__.py +8 -0
- slidge/command/admin.py +3 -3
- slidge/contact/contact.py +2 -2
- slidge/contact/roster.py +2 -3
- slidge/core/dispatcher/session_dispatcher.py +6 -1
- slidge/core/gateway.py +13 -2
- slidge/core/mixins/message_maker.py +3 -3
- slidge/core/session.py +2 -2
- slidge/db/store.py +3 -0
- slidge/group/archive.py +11 -3
- slidge/group/bookmarks.py +4 -5
- slidge/group/participant.py +33 -35
- slidge/group/room.py +15 -14
- slidge/main.py +3 -3
- slidge/slixfix/__init__.py +18 -78
- slidge/util/jid_escaping.py +52 -0
- slidge/util/types.py +1 -7
- slidge/util/util.py +0 -13
- slidge-0.2.9.dist-info/METADATA +134 -0
- {slidge-0.2.7.post1.dist-info → slidge-0.2.9.dist-info}/RECORD +24 -26
- {slidge-0.2.7.post1.dist-info → slidge-0.2.9.dist-info}/WHEEL +1 -1
- slidge-0.2.9.dist-info/licenses/LICENSE +661 -0
- slidge/__version__.py +0 -5
- slidge/slixfix/xep_0492/__init__.py +0 -8
- slidge/slixfix/xep_0492/notify.py +0 -16
- slidge/slixfix/xep_0492/stanza.py +0 -107
- slidge-0.2.7.post1.dist-info/METADATA +0 -793
- {slidge-0.2.7.post1.dist-info → slidge-0.2.9.dist-info}/entry_points.txt +0 -0
- {slidge-0.2.7.post1.dist-info → slidge-0.2.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
from functools import lru_cache
|
2
|
+
|
3
|
+
JID_ESCAPE_SEQUENCES = {
|
4
|
+
"\\20",
|
5
|
+
"\\22",
|
6
|
+
"\\26",
|
7
|
+
"\\27",
|
8
|
+
"\\2f",
|
9
|
+
"\\3a",
|
10
|
+
"\\3c",
|
11
|
+
"\\3e",
|
12
|
+
"\\40",
|
13
|
+
"\\5c",
|
14
|
+
}
|
15
|
+
|
16
|
+
|
17
|
+
JID_UNESCAPE_TRANSFORMATIONS = {
|
18
|
+
"\\20": " ",
|
19
|
+
"\\22": '"',
|
20
|
+
"\\26": "&",
|
21
|
+
"\\27": "'",
|
22
|
+
"\\2f": "/",
|
23
|
+
"\\3a": ":",
|
24
|
+
"\\3c": "<",
|
25
|
+
"\\3e": ">",
|
26
|
+
"\\40": "@",
|
27
|
+
"\\5c": "\\",
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
@lru_cache(1000)
|
32
|
+
def unescape_node(node: str):
|
33
|
+
"""Unescape a local portion of a JID."""
|
34
|
+
unescaped = []
|
35
|
+
seq = ""
|
36
|
+
for i, char in enumerate(node):
|
37
|
+
if char == "\\":
|
38
|
+
seq = node[i : i + 3]
|
39
|
+
if seq not in JID_ESCAPE_SEQUENCES:
|
40
|
+
seq = ""
|
41
|
+
if seq:
|
42
|
+
if len(seq) == 3:
|
43
|
+
unescaped.append(JID_UNESCAPE_TRANSFORMATIONS.get(seq, char))
|
44
|
+
|
45
|
+
# Pop character off the escape sequence, and ignore it
|
46
|
+
seq = seq[1:]
|
47
|
+
else:
|
48
|
+
unescaped.append(char)
|
49
|
+
return "".join(unescaped)
|
50
|
+
|
51
|
+
|
52
|
+
ESCAPE_TABLE = "".maketrans({v: k for k, v in JID_UNESCAPE_TRANSFORMATIONS.items()})
|
slidge/util/types.py
CHANGED
@@ -21,7 +21,7 @@ from typing import (
|
|
21
21
|
)
|
22
22
|
|
23
23
|
from slixmpp import Message, Presence
|
24
|
-
from slixmpp.types import PresenceShows, PresenceTypes
|
24
|
+
from slixmpp.types import PresenceShows, PresenceTypes, ResourceDict
|
25
25
|
|
26
26
|
if TYPE_CHECKING:
|
27
27
|
from ..contact import LegacyContact
|
@@ -155,12 +155,6 @@ class MucType(IntEnum):
|
|
155
155
|
PseudoPresenceShow = Union[PresenceShows, Literal[""]]
|
156
156
|
|
157
157
|
|
158
|
-
class ResourceDict(TypedDict):
|
159
|
-
show: PseudoPresenceShow
|
160
|
-
status: str
|
161
|
-
priority: int
|
162
|
-
|
163
|
-
|
164
158
|
MessageOrPresenceTypeVar = TypeVar(
|
165
159
|
"MessageOrPresenceTypeVar", bound=Union[Message, Presence]
|
166
160
|
)
|
slidge/util/util.py
CHANGED
@@ -218,19 +218,6 @@ class SlidgeLogger(logging.Logger):
|
|
218
218
|
log = logging.getLogger(__name__)
|
219
219
|
|
220
220
|
|
221
|
-
def get_version() -> str:
|
222
|
-
try:
|
223
|
-
git = subprocess.check_output(
|
224
|
-
["git", "rev-parse", "HEAD"],
|
225
|
-
stderr=subprocess.DEVNULL,
|
226
|
-
cwd=Path(__file__).parent,
|
227
|
-
).decode()
|
228
|
-
except (FileNotFoundError, subprocess.CalledProcessError):
|
229
|
-
return "NO_VERSION"
|
230
|
-
else:
|
231
|
-
return "git-" + git[:10]
|
232
|
-
|
233
|
-
|
234
221
|
def merge_resources(resources: dict[str, ResourceDict]) -> Optional[ResourceDict]:
|
235
222
|
if len(resources) == 0:
|
236
223
|
return None
|
@@ -0,0 +1,134 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: slidge
|
3
|
+
Version: 0.2.9
|
4
|
+
Summary: XMPP bridging framework
|
5
|
+
Author-email: Nicolas Cedilnik <nicoco@nicoco.fr>
|
6
|
+
License-Expression: AGPL-3.0-or-later
|
7
|
+
Project-URL: Homepage, https://codeberg.org/slidge/
|
8
|
+
Project-URL: Issues, https://codeberg.org/slidge/slidge/issues
|
9
|
+
Project-URL: Repository, https://codeberg.org/slidge/slidge/
|
10
|
+
Project-URL: Chat room, https://conference.nicoco.fr:5281/muc_log/slidge/
|
11
|
+
Project-URL: Documentation, https://slidge.im/docs/slidge/main
|
12
|
+
Project-URL: changelog, https://codeberg.org/slidge/slidge/releases
|
13
|
+
Keywords: xmpp,gateway,bridge,instant messaging
|
14
|
+
Classifier: Topic :: Internet :: XMPP
|
15
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
16
|
+
Requires-Python: >=3.11
|
17
|
+
Description-Content-Type: text/markdown
|
18
|
+
License-File: LICENSE
|
19
|
+
Requires-Dist: aiohttp[speedups]<4,>=3.11.11
|
20
|
+
Requires-Dist: alembic<2,>=1.14.0
|
21
|
+
Requires-Dist: configargparse<2,>=1.7
|
22
|
+
Requires-Dist: defusedxml>=0.7.1
|
23
|
+
Requires-Dist: pillow<12,>=11.0.0
|
24
|
+
Requires-Dist: python-magic<0.5,>=0.4.27
|
25
|
+
Requires-Dist: qrcode<9,>=8.0
|
26
|
+
Requires-Dist: slixmpp<2,>=1.9.0
|
27
|
+
Requires-Dist: sqlalchemy<3,>=2
|
28
|
+
Requires-Dist: thumbhash>=0.1.2
|
29
|
+
Dynamic: license-file
|
30
|
+
|
31
|
+

|
32
|
+
|
33
|
+
[](https://conference.nicoco.fr:5281/muc_log/slidge/)
|
34
|
+
|
35
|
+
|
36
|
+
[](https://ci.codeberg.org/repos/14027)
|
37
|
+
[](https://slidge.im/coverage/main)
|
38
|
+
|
39
|
+
[](https://pypi.org/project/slidge/)
|
40
|
+
[](https://packages.debian.org/unstable/python3-slidge)
|
41
|
+
|
42
|
+
Slidge is an XMPP (puppeteer) gateway library in python.
|
43
|
+
It makes
|
44
|
+
[writing gateways to other chat networks](https://slidge.im/docs/slidge/main/dev/tutorial.html)
|
45
|
+
(*legacy modules*) as frictionless as possible.
|
46
|
+
It supports fancy IM features, such as
|
47
|
+
[(emoji) reactions](https://xmpp.org/extensions/xep-0444.html),
|
48
|
+
[replies](https://xmpp.org/extensions/xep-0461.html), and
|
49
|
+
[retractions](https://xmpp.org/extensions/xep-0424.html).
|
50
|
+
The full list of supported XEPs in on [xmpp.org](https://xmpp.org/software/slidge/).
|
51
|
+
|
52
|
+
Status
|
53
|
+
------
|
54
|
+
|
55
|
+
Slidge is **beta**-grade software. It support groups and 1:1 chats.
|
56
|
+
Try slidge and give us some
|
57
|
+
feedback, through the [MUC](xmpp:slidge@conference.nicoco.fr?join) or the
|
58
|
+
[issue tracker](https://codeberg.org/slidge/slidge/issues).
|
59
|
+
Don't be shy!
|
60
|
+
|
61
|
+
Usage
|
62
|
+
-----
|
63
|
+
|
64
|
+
A minimal (and fictional!) slidge-powered "legacy module" looks like this:
|
65
|
+
|
66
|
+
```python
|
67
|
+
from cool_chat_lib import CoolClient
|
68
|
+
from slidge import BaseGateway, BaseSession
|
69
|
+
from slidge.contact import LegacyContact
|
70
|
+
from slidge.group import LegacyMUC
|
71
|
+
from slidge.db import GatewayUser
|
72
|
+
|
73
|
+
|
74
|
+
class Gateway(BaseGateway):
|
75
|
+
# Various aspects of the gateway component are configured as class
|
76
|
+
# attributes of the concrete Gateway class
|
77
|
+
COMPONENT_NAME = "Gateway to the super duper chat network"
|
78
|
+
|
79
|
+
|
80
|
+
class Session(BaseSession):
|
81
|
+
def __init__(self, user: GatewayUser):
|
82
|
+
super().__init__(user)
|
83
|
+
self.legacy_client = CoolClient(
|
84
|
+
login=user.legacy_module_data["username"],
|
85
|
+
password=user.legacy_module_data["password"],
|
86
|
+
)
|
87
|
+
|
88
|
+
async def on_text(self, chat: LegacyContact | LegacyMUC, text: str, **kwargs):
|
89
|
+
"""
|
90
|
+
Triggered when the slidge user sends an XMPP message through the gateway
|
91
|
+
"""
|
92
|
+
self.legacy_client.send_message(text=text, destination=chat.legacy_id)
|
93
|
+
```
|
94
|
+
|
95
|
+
There's more in [the tutorial](https://slidge.im/docs/slidge/main/dev/tutorial.html)!
|
96
|
+
|
97
|
+
Installation
|
98
|
+
------------
|
99
|
+
|
100
|
+
⚠️ Slidge is a lib for gateway developers, if you are an XMPP server admin and
|
101
|
+
want to install gateways on your server, you are looking for a
|
102
|
+
[slidge-based gateway](https://codeberg.org/explore/repos?q=slidge&topic=1).
|
103
|
+
or the
|
104
|
+
[slidge-debian](https://git.sr.ht/~nicoco/slidge-debian)
|
105
|
+
bundle.
|
106
|
+
|
107
|
+
Slidge is available on
|
108
|
+
[codeberg](https://codeberg.org/slidge/-/packages) (python packages and containers)
|
109
|
+
and [pypi](https://pypi.org/project/slidge/).
|
110
|
+
Refer to [the docs](https://slidge.im/docs/slidge/main/admin/install.html) for details.
|
111
|
+
|
112
|
+
About privacy
|
113
|
+
-------------
|
114
|
+
|
115
|
+
Slidge (and most if not all XMPP gateway that I know of) will break
|
116
|
+
end-to-end encryption, or more precisely one of the 'ends' become the
|
117
|
+
gateway itself. If privacy is a major concern for you, my advice would
|
118
|
+
be to:
|
119
|
+
|
120
|
+
- use XMPP + OMEMO
|
121
|
+
- self-host your gateways
|
122
|
+
- have your gateways hosted by someone you know AFK and trust
|
123
|
+
|
124
|
+
Related projects
|
125
|
+
----------------
|
126
|
+
|
127
|
+
- [Spectrum](https://www.spectrum.im/)
|
128
|
+
- [telegabber](https://dev.narayana.im/narayana/telegabber)
|
129
|
+
- [biboumi](https://biboumi.louiz.org/)
|
130
|
+
- [Bifröst](https://github.com/matrix-org/matrix-bifrost)
|
131
|
+
- [Mautrix](https://github.com/mautrix)
|
132
|
+
- [matterbridge](https://github.com/42wim/matterbridge)
|
133
|
+
|
134
|
+
Thank you, [Trung](https://trung.fun/), for the slidge logo!
|
@@ -1,32 +1,31 @@
|
|
1
|
-
slidge/__init__.py,sha256=
|
1
|
+
slidge/__init__.py,sha256=36BNw5mWk_MWxlPMzNCJpspoou05hFaL-eQp-JwE3JU,1793
|
2
2
|
slidge/__main__.py,sha256=ydjUklOoavS4YlGfjRX_8BQN2DaSbaXPMi47RkOgcFI,37
|
3
|
-
slidge/
|
4
|
-
slidge/main.py,sha256=vMJzhvUxbeuIXuHxXXs6lm_ShBjXiS9B5Li5Ge4vWPo,6238
|
3
|
+
slidge/main.py,sha256=kusTX-W9cYo1I1TLqHEag20-TPsjFeF5BO2jC8y2Mt4,6223
|
5
4
|
slidge/migration.py,sha256=4BJmPIRB56_WIhRTqBFIIBXuvnhhBjjOMl4CE7jY6oc,1541
|
6
5
|
slidge/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
6
|
slidge/command/__init__.py,sha256=UYf1mjCYbZ5G7PIgaFTWSQRAzEJkQ6dTH8Fu_e_XnO0,613
|
8
7
|
slidge/command/adhoc.py,sha256=bYLXcYJjbqPE9nBhrEQevqYFh9AS7Ei3m1vTZBIggrc,10557
|
9
|
-
slidge/command/admin.py,sha256=
|
8
|
+
slidge/command/admin.py,sha256=DYN9yADZo2hKV0t20K2qnFPJHU98eKsaZTOqi1zdMys,6165
|
10
9
|
slidge/command/base.py,sha256=EDcEl5dJcooSmLarXI2fmBq6QtU7h-7MOM3DDsxXmTU,13447
|
11
10
|
slidge/command/categories.py,sha256=vF0KGDV9sEn8TNkcMoDRw-u3gEyNHSXghOU2JRHQtKs,351
|
12
11
|
slidge/command/chat_command.py,sha256=z-4qp03rK7kCh3_kEozDViwkDg_hVjHvRCiYYJxedBQ,11153
|
13
12
|
slidge/command/register.py,sha256=BduDI31Kx8CbWWEdjybimTA5Wcfhn-Jkt8sSPsySCpo,6724
|
14
13
|
slidge/command/user.py,sha256=fLh5d7XTSXicj6g0I80F5n6BFaA20PaYoXFkfDOR4zA,12303
|
15
14
|
slidge/contact/__init__.py,sha256=WMMaHk7UW7YT9EH2LtPdkU0bHQaOp4ikBhbBQskmoc8,191
|
16
|
-
slidge/contact/contact.py,sha256=
|
17
|
-
slidge/contact/roster.py,sha256=
|
15
|
+
slidge/contact/contact.py,sha256=CLWuNLvWuODi1mlT6MFGx9s3y8yGPM8ZEsH-Ih6QEn8,22929
|
16
|
+
slidge/contact/roster.py,sha256=19EYyX-usuevMob9AgnQmSt6APdE5MxMroHOYmVYt-w,10205
|
18
17
|
slidge/core/__init__.py,sha256=RG7Jj5JCJERjhqJ31lOLYV-7bH_oblClQD1KF9LsTXo,68
|
19
18
|
slidge/core/config.py,sha256=OjJfpXJaDhMxRB-vYA0cqkSf0fwMt-HMThM8GS1htCg,7964
|
20
|
-
slidge/core/gateway.py,sha256=
|
19
|
+
slidge/core/gateway.py,sha256=tBaI8ZTGEOeojgSny1rfec9w8MF24Buce8KL5oes984,37492
|
21
20
|
slidge/core/pubsub.py,sha256=BoeYE__ptmRAn4x55Hn_6JWRA4nM-XJgDemG5Cy5kN4,11959
|
22
|
-
slidge/core/session.py,sha256=
|
21
|
+
slidge/core/session.py,sha256=Ie1a6bpUCC_HFvm98S-t03WG5JlOFG0SwbmGB2l9ZTc,28439
|
23
22
|
slidge/core/dispatcher/__init__.py,sha256=1EXcjXietUKlxEqdrCWCV3xZ3q_DSsjHoqWrPMbtYao,84
|
24
23
|
slidge/core/dispatcher/caps.py,sha256=vzCAXo_bhALuLEpJWtyJTzVfWx96g1AsWD8_wkoDl0Y,2028
|
25
24
|
slidge/core/dispatcher/disco.py,sha256=j56VY9NIFzwPEWFKQQZ7YIqS9GdD-ZaF_K8a2L-JvRk,2006
|
26
25
|
slidge/core/dispatcher/presence.py,sha256=X4i-JjQ423gXiveJH7sjdwW_67rJiSYS7jIvkm1XsJg,6421
|
27
26
|
slidge/core/dispatcher/registration.py,sha256=Xmbw9NF3LUppCOa3XzreopdKDitZnwl_5HE-kds74n8,3155
|
28
27
|
slidge/core/dispatcher/search.py,sha256=9cGj0wwvyYlP_Yk440Y12sgo4Y1p-JWUDSJP5Zxch0M,3296
|
29
|
-
slidge/core/dispatcher/session_dispatcher.py,sha256=
|
28
|
+
slidge/core/dispatcher/session_dispatcher.py,sha256=Gzq2IPThhzQ0_mCVKPCNHypIXgL-WnZalTyLMjUX9Hs,3148
|
30
29
|
slidge/core/dispatcher/util.py,sha256=YtXyVxM3orE7aYWs-GbJumtLTI63OpaQY_t4FMTjoZo,5754
|
31
30
|
slidge/core/dispatcher/vcard.py,sha256=Rmx-wCz6Lps0mXCO48HppNQlS3GOgMuzuw9hZYBdlVU,5130
|
32
31
|
slidge/core/dispatcher/message/__init__.py,sha256=vpDGOc_U9XvkUU_ws9n9-5M2NPJ87XGTVpuIxM7Z99k,223
|
@@ -47,7 +46,7 @@ slidge/core/mixins/db.py,sha256=5Qpegd7D8e5TLXLLINYcf_DuVdN-7wNmsfztUuFYPcU,442
|
|
47
46
|
slidge/core/mixins/disco.py,sha256=jk3Z1B6zTuisHv8VKNRJodIo0ee5btYHh2ZrlflPj_Q,3670
|
48
47
|
slidge/core/mixins/lock.py,sha256=Vf1rrkbyNbSprr38WGfZiMgTB7AdbqH8ppFHY8N2yXE,975
|
49
48
|
slidge/core/mixins/message.py,sha256=X8Ka8j0nOnBcecYE_YuK8_J7MeO5-R0TIZw4X8c7R3Y,7846
|
50
|
-
slidge/core/mixins/message_maker.py,sha256=
|
49
|
+
slidge/core/mixins/message_maker.py,sha256=_sa0YWyxnvI0DcPgoh6h1CxLbYF73Ezw1LRZN2CNRTM,6025
|
51
50
|
slidge/core/mixins/message_text.py,sha256=pCY4tezEuwB2ZuUyUi72i4v9AJkxp_SWF1jrFsn94Ns,8096
|
52
51
|
slidge/core/mixins/presence.py,sha256=yywo6KAw8C7GaZSMrSMuioNfhW08MrnobHt8XbHd0q8,7891
|
53
52
|
slidge/core/mixins/recipient.py,sha256=b0uFnpym-hOFgYxGjXT1xQcZ4YRbDSBftPcNWLzSwEI,1336
|
@@ -55,7 +54,7 @@ slidge/db/__init__.py,sha256=EBDH1JSEhgqYcli2Bw11CRC749wJk8AOucgBzmhDSvU,105
|
|
55
54
|
slidge/db/avatar.py,sha256=z5e72STv8PdN6zkNyKlLqF7NFxHwCa6IjwgFpzu5ghE,8033
|
56
55
|
slidge/db/meta.py,sha256=v1Jf-npZ28QwdGpsLQWLBHEbEP3-jnPrygRg05tJ_Iw,1831
|
57
56
|
slidge/db/models.py,sha256=MSVNW04x05qfxahvjCYRDFjfFP-XXp-lOHnK5IqFCXw,14046
|
58
|
-
slidge/db/store.py,sha256=
|
57
|
+
slidge/db/store.py,sha256=AjbeYAbhd_7KHS094vTEPiuecu_ntIAlpyzsrCIjHHE,47155
|
59
58
|
slidge/db/alembic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
59
|
slidge/db/alembic/env.py,sha256=hsBlRNs0zF5diSHGRSa8Fi3qRVQDA2rJdR41AEIdvxc,1642
|
61
60
|
slidge/db/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
@@ -78,11 +77,11 @@ slidge/db/alembic/versions/b64b1a793483_add_source_and_legacy_id_for_archived_.p
|
|
78
77
|
slidge/db/alembic/versions/c4a8ec35a0e8_per_room_user_nick.py,sha256=jjQmlRv6nqdm5q6LbwVpSUSkTBj1c76Hiq8e8q77q3g,933
|
79
78
|
slidge/db/alembic/versions/e91195719c2c_store_users_avatars_persistently.py,sha256=8Ga3VFgKrzMs_-B8OPtfP-0rey_MFaDg-QGtSbaft3o,640
|
80
79
|
slidge/group/__init__.py,sha256=yFt7cHqeaKIMN6f9ZyhhspOcJJvBtLedGv-iICG7lto,258
|
81
|
-
slidge/group/archive.py,sha256=
|
82
|
-
slidge/group/bookmarks.py,sha256=
|
83
|
-
slidge/group/participant.py,sha256=
|
84
|
-
slidge/group/room.py,sha256=
|
85
|
-
slidge/slixfix/__init__.py,sha256=
|
80
|
+
slidge/group/archive.py,sha256=AUzVtXlHiCreyY3jp1XMt0G7LDNm-qOU-4CEPQ89ics,5445
|
81
|
+
slidge/group/bookmarks.py,sha256=uGw_XtF0nloZ7rhNLdKM0nNZZb5C6SBfTsLyZryxjxY,6592
|
82
|
+
slidge/group/participant.py,sha256=h9Cz4liCWzCaysvDk4wr8-zHvLOyIoM3vvQWzHCdpFE,17690
|
83
|
+
slidge/group/room.py,sha256=C0CYhn3EuqjQnGLia9A3_mmkGfc_gDmd-PMESggupFo,49164
|
84
|
+
slidge/slixfix/__init__.py,sha256=opamnCRI89KtCY2jfUrzij423hROgMF_Jw8Rrv1i0pw,2515
|
86
85
|
slidge/slixfix/delivery_receipt.py,sha256=3bWdZH3-X3CZJXmnI_TpjkTUUK-EY4Ktm78lW0-40fc,1366
|
87
86
|
slidge/slixfix/roster.py,sha256=KvDjh9q7pqaZf69H93okfib13cc95uVZUJ6rzpqmDaU,1704
|
88
87
|
slidge/slixfix/link_preview/__init__.py,sha256=TDPTSEH5FQxgGpQpQIde-D72AHg-6YVWG-tOj4KpKmU,290
|
@@ -98,17 +97,16 @@ slidge/slixfix/xep_0153/__init__.py,sha256=hsEldnLuzvcp0NqSscxPV7FJl-6GFP372vlDg
|
|
98
97
|
slidge/slixfix/xep_0153/vcard_avatar.py,sha256=py-qzj1jmmzsM4GCTKLRW7cAdAmSVjodp6q0r5B0RqQ,458
|
99
98
|
slidge/slixfix/xep_0292/__init__.py,sha256=_MvS9wGra6ig3P_dPAVlCPDJkiOFvUWGjaRsHj1woUg,98
|
100
99
|
slidge/slixfix/xep_0292/vcard4.py,sha256=jL-TOW3eG2QXLduSLNq03L8HoUNmvy8kTZI5ojvo6GE,358
|
101
|
-
slidge/slixfix/xep_0492/__init__.py,sha256=kjWVeX3SG_2ohHx0fuMh1gmM2G57Bl6SRo7Mfv6sglA,161
|
102
|
-
slidge/slixfix/xep_0492/notify.py,sha256=8EPSdU3rTzWkHNm8oFr0tK2PmMJ6hBAIr88GoOmHTuQ,340
|
103
|
-
slidge/slixfix/xep_0492/stanza.py,sha256=TlwyAHozA6zu32QoBb6M12xqWR-ytT0F9XVFqZkd4d4,2895
|
104
100
|
slidge/util/__init__.py,sha256=BELovoTMPcPPGz3D48esBr8A4BRRHXTvavfgnArBgEc,301
|
105
101
|
slidge/util/archive_msg.py,sha256=xXAR0BI5r3d6KKWjae9594izCOv6iI03z2WLuTecNw8,1724
|
106
102
|
slidge/util/conf.py,sha256=1j2OnOsCBar1tOObErhXR5RC3Vl3faliOZ1U8J3My58,6613
|
103
|
+
slidge/util/jid_escaping.py,sha256=pWJTrB6-M923a_rEE-nxPmiDTOx9UCMa8UgE7JbLC0c,1066
|
107
104
|
slidge/util/test.py,sha256=l1VHBsw5Uzk2t7wtkfb9kWvtehcYhw1t_d567JAJFKA,14135
|
108
|
-
slidge/util/types.py,sha256=
|
109
|
-
slidge/util/util.py,sha256=
|
110
|
-
slidge-0.2.
|
111
|
-
slidge-0.2.
|
112
|
-
slidge-0.2.
|
113
|
-
slidge-0.2.
|
114
|
-
slidge-0.2.
|
105
|
+
slidge/util/types.py,sha256=5j0G22hhsh3PNhtpJaz2DVt5XINJznZjz0hqewPZoFo,5407
|
106
|
+
slidge/util/util.py,sha256=ZkQltO6JmfqZc9T-86XI6gAsZx9BLdF0CCurnxPRNRc,9329
|
107
|
+
slidge-0.2.9.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
108
|
+
slidge-0.2.9.dist-info/METADATA,sha256=tmqEtywN5eD_3DDDeh4nPQIvp51Uc7d8wRgKibuh-QE,5102
|
109
|
+
slidge-0.2.9.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
110
|
+
slidge-0.2.9.dist-info/entry_points.txt,sha256=py3_x834fFJ2TEzPd18Wt2DnysdAfuVqJ5zzBrXbAZs,44
|
111
|
+
slidge-0.2.9.dist-info/top_level.txt,sha256=2LRjDYHaGZ5ieCMF8xy58JIiabRMzX-MGMbCZwfE17c,7
|
112
|
+
slidge-0.2.9.dist-info/RECORD,,
|