Update to latest GoPy version, fix issues
This fixes issues related to breaking changes in latest versions of GoPy, which will now return concrete instances of corresponding classes in iterators; previously, only a "pointer" would be returned, which would've then needed to be set as the handle for a newly created instance of a relevant class. Closes: #17
This commit is contained in:
parent
ce1526bc6d
commit
7eedd28d28
|
@ -27,7 +27,7 @@ RUN ln -s /venv/lib/python$PYTHONVER /venv/lib/python
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
ENV GOBIN="/usr/local/bin"
|
ENV GOBIN="/usr/local/bin"
|
||||||
RUN go install github.com/go-python/gopy@v0.4.7
|
RUN go install -v github.com/go-python/gopy@latest
|
||||||
RUN go install golang.org/x/tools/cmd/goimports@latest
|
RUN go install golang.org/x/tools/cmd/goimports@latest
|
||||||
|
|
||||||
ENV PATH="/root/.local/bin:$PATH"
|
ENV PATH="/root/.local/bin:$PATH"
|
||||||
|
|
2
build.py
2
build.py
|
@ -7,7 +7,7 @@ from pathlib import Path
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
os.environ["PATH"] = os.path.expanduser("~/go/bin") + ":" + os.environ["PATH"]
|
os.environ["PATH"] = os.path.expanduser("~/go/bin") + ":" + os.environ["PATH"]
|
||||||
subprocess.run(["go", "install", "github.com/go-python/gopy@v0.4.7"], check=True)
|
subprocess.run(["go", "install", "github.com/go-python/gopy@latest"], check=True)
|
||||||
subprocess.run(
|
subprocess.run(
|
||||||
["go", "install", "golang.org/x/tools/cmd/goimports@latest"], check=True
|
["go", "install", "golang.org/x/tools/cmd/goimports@latest"], check=True
|
||||||
)
|
)
|
||||||
|
|
|
@ -38,8 +38,8 @@ class Roster(LegacyRoster[str, Contact]):
|
||||||
local roster.
|
local roster.
|
||||||
"""
|
"""
|
||||||
contacts = self.session.whatsapp.GetContacts(refresh=config.ALWAYS_SYNC_ROSTER)
|
contacts = self.session.whatsapp.GetContacts(refresh=config.ALWAYS_SYNC_ROSTER)
|
||||||
for ptr in contacts:
|
for contact in contacts:
|
||||||
await self.add_whatsapp_contact(whatsapp.Contact(handle=ptr))
|
await self.add_whatsapp_contact(contact)
|
||||||
|
|
||||||
async def add_whatsapp_contact(self, data: whatsapp.Contact):
|
async def add_whatsapp_contact(self, data: whatsapp.Contact):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -3,7 +3,7 @@ module git.sr.ht/~nicoco/slidge-whatsapp/slidge_whatsapp
|
||||||
go 1.20
|
go 1.20
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/go-python/gopy v0.4.7
|
github.com/go-python/gopy v0.4.8
|
||||||
github.com/h2non/filetype v1.1.3
|
github.com/h2non/filetype v1.1.3
|
||||||
github.com/mattn/go-sqlite3 v1.14.18
|
github.com/mattn/go-sqlite3 v1.14.18
|
||||||
go.mau.fi/libsignal v0.1.0
|
go.mau.fi/libsignal v0.1.0
|
||||||
|
@ -15,7 +15,7 @@ require (
|
||||||
filippo.io/edwards25519 v1.0.0 // indirect
|
filippo.io/edwards25519 v1.0.0 // indirect
|
||||||
github.com/gorilla/websocket v1.5.1 // indirect
|
github.com/gorilla/websocket v1.5.1 // indirect
|
||||||
go.mau.fi/util v0.2.0 // indirect
|
go.mau.fi/util v0.2.0 // indirect
|
||||||
golang.org/x/crypto v0.15.0 // indirect
|
golang.org/x/crypto v0.16.0 // indirect
|
||||||
golang.org/x/net v0.18.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
google.golang.org/protobuf v1.31.0 // indirect
|
google.golang.org/protobuf v1.31.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
|
filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
|
||||||
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
|
filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/go-python/gopy v0.4.7 h1:VkJmTmzioBIRWca7+3EBN9W8/yPQavC8VNg+CMINHHQ=
|
github.com/go-python/gopy v0.4.8 h1:02kVfflUZlSXMTzYT7wiy9W305jN/kio5oiINfzB6Ro=
|
||||||
github.com/go-python/gopy v0.4.7/go.mod h1:SqsDVtw9SG+TJNwJOnnnU/myD76uOhO8w5jehFewoVc=
|
github.com/go-python/gopy v0.4.8/go.mod h1:zMV/gSSYa9u/8Zp0WYR+L/z+kOIqIUtMg/a1/GRy5uw=
|
||||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||||
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
|
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
|
||||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
@ -20,12 +20,12 @@ go.mau.fi/util v0.2.0 h1:AMGBEdg9Ya/smb/09dljo9wBwKr432EpfjDWF7aFQg0=
|
||||||
go.mau.fi/util v0.2.0/go.mod h1:AxuJUMCxpzgJ5eV9JbPWKRH8aAJJidxetNdUj7qcb84=
|
go.mau.fi/util v0.2.0/go.mod h1:AxuJUMCxpzgJ5eV9JbPWKRH8aAJJidxetNdUj7qcb84=
|
||||||
go.mau.fi/whatsmeow v0.0.0-20231127175850-3c97433b4676 h1:YaFOVOdFJCSSByUT6WSgh65ChcVEDZN4QD7OTwaMw+k=
|
go.mau.fi/whatsmeow v0.0.0-20231127175850-3c97433b4676 h1:YaFOVOdFJCSSByUT6WSgh65ChcVEDZN4QD7OTwaMw+k=
|
||||||
go.mau.fi/whatsmeow v0.0.0-20231127175850-3c97433b4676/go.mod h1:5xTtHNaZpGni6z6aE1iEopjW7wNgsKcolZxZrOujK9M=
|
go.mau.fi/whatsmeow v0.0.0-20231127175850-3c97433b4676/go.mod h1:5xTtHNaZpGni6z6aE1iEopjW7wNgsKcolZxZrOujK9M=
|
||||||
golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA=
|
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
||||||
golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
|
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
golang.org/x/image v0.14.0 h1:tNgSxAFe3jC4uYqvZdTr84SZoM1KfwdC9SKIFrLjFn4=
|
golang.org/x/image v0.14.0 h1:tNgSxAFe3jC4uYqvZdTr84SZoM1KfwdC9SKIFrLjFn4=
|
||||||
golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
|
golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
|
||||||
golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=
|
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||||
golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||||
|
|
|
@ -79,8 +79,7 @@ class MUC(LegacyMUC[str, str, Participant, str]):
|
||||||
participant = await self.get_participant_by_legacy_id(info.Subject.SetByJID)
|
participant = await self.get_participant_by_legacy_id(info.Subject.SetByJID)
|
||||||
if name := participant.nickname:
|
if name := participant.nickname:
|
||||||
self.subject_setter = name
|
self.subject_setter = name
|
||||||
for ptr in info.Participants:
|
for data in info.Participants:
|
||||||
data = whatsapp.GroupParticipant(handle=ptr)
|
|
||||||
participant = await self.get_participant_by_legacy_id(data.JID)
|
participant = await self.get_participant_by_legacy_id(data.JID)
|
||||||
if data.Action == whatsapp.GroupParticipantActionRemove:
|
if data.Action == whatsapp.GroupParticipantActionRemove:
|
||||||
self.remove_participant(participant)
|
self.remove_participant(participant)
|
||||||
|
@ -113,8 +112,8 @@ class Bookmarks(LegacyBookmarks[str, MUC]):
|
||||||
|
|
||||||
async def fill(self):
|
async def fill(self):
|
||||||
groups = self.session.whatsapp.GetGroups()
|
groups = self.session.whatsapp.GetGroups()
|
||||||
for ptr in groups:
|
for group in groups:
|
||||||
await self.add_whatsapp_group(whatsapp.Group(handle=ptr))
|
await self.add_whatsapp_group(group)
|
||||||
self.__filled = True
|
self.__filled = True
|
||||||
|
|
||||||
async def add_whatsapp_group(self, data: whatsapp.Group):
|
async def add_whatsapp_group(self, data: whatsapp.Group):
|
||||||
|
|
|
@ -493,10 +493,7 @@ class Attachment(LegacyAttachment):
|
||||||
def convert_list(
|
def convert_list(
|
||||||
attachments: list, muc: Optional["MUC"] = None
|
attachments: list, muc: Optional["MUC"] = None
|
||||||
) -> list["Attachment"]:
|
) -> list["Attachment"]:
|
||||||
return [
|
return [Attachment.convert(attachment, muc) for attachment in attachments]
|
||||||
Attachment.convert(whatsapp.Attachment(handle=ptr), muc)
|
|
||||||
for ptr in attachments
|
|
||||||
]
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def convert(
|
def convert(
|
||||||
|
|
Loading…
Reference in New Issue