Skip to content

Commit 0fdd382

Browse files
authored
Updated instances of 'Tribler Experimental' (#8224)
2 parents 5b5283d + 6ebe2a8 commit 0fdd382

File tree

6 files changed

+41
-7
lines changed

6 files changed

+41
-7
lines changed

Diff for: src/tribler/core/content_discovery/community.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import time
77
import uuid
88
from binascii import hexlify, unhexlify
9+
from importlib.metadata import PackageNotFoundError, version
910
from itertools import count
1011
from typing import TYPE_CHECKING, Any, Callable, Sequence
1112

@@ -254,7 +255,11 @@ async def on_version_request(self, peer: Peer, _: VersionRequest) -> None:
254255
"""
255256
Callback for when our Tribler version and Operating System is requested.
256257
"""
257-
version_response = VersionResponse("Tribler Experimental", sys.platform)
258+
try:
259+
v = version("tribler")
260+
except PackageNotFoundError:
261+
v = "git"
262+
version_response = VersionResponse(f"Tribler {v}", sys.platform)
258263
self.ez_send(peer, version_response)
259264

260265
@lazy_wrapper(VersionResponse)

Diff for: src/tribler/core/libtorrent/restapi/create_torrent_endpoint.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import asyncio
22
import base64
33
import json
4+
from importlib.metadata import PackageNotFoundError, version
45
from pathlib import Path
56

67
import libtorrent as lt
@@ -114,7 +115,11 @@ async def create_torrent(self, request: Request) -> RESTResponse:
114115
if parameters.get("export_dir"):
115116
export_dir = Path(parameters["export_dir"])
116117

117-
params["created by"] = "Tribler version: Tribler Experimental"
118+
try:
119+
v = version("tribler")
120+
except PackageNotFoundError:
121+
v = "git"
122+
params["created by"] = f"Tribler version: {v}"
118123
params["nodes"] = False
119124
params["httpseeds"] = False
120125
params["encoding"] = False

Diff for: src/tribler/core/restapi/events_endpoint.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import time
55
from asyncio import CancelledError, Event, Future, Queue
66
from contextlib import suppress
7+
from importlib.metadata import PackageNotFoundError, version
78
from traceback import format_exception
89
from typing import TYPE_CHECKING, TypedDict
910

@@ -103,9 +104,13 @@ def initial_message(self) -> MessageDict:
103104
"""
104105
Create the initial message to announce to the GUI.
105106
"""
107+
try:
108+
v = version("tribler")
109+
except PackageNotFoundError:
110+
v = "git"
106111
return {
107112
"topic": Notification.events_start.value.name,
108-
"kwargs": {"public_key": self.public_key or "", "version": "Tribler Experimental"}
113+
"kwargs": {"public_key": self.public_key or "", "version": v}
109114
}
110115

111116
def error_message(self, reported_error: Exception) -> MessageDict:

Diff for: src/tribler/core/restapi/rest_manager.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import traceback
66
from asyncio.base_events import Server
77
from functools import wraps
8+
from importlib.metadata import PackageNotFoundError, version
89
from pathlib import Path
910
from typing import TYPE_CHECKING, Awaitable, Callable, Generic, TypeVar, cast
1011

@@ -210,13 +211,17 @@ async def start(self) -> None:
210211
Starts the HTTP API with the listen port as specified in the session configuration.
211212
"""
212213
self._logger.info("Starting RESTManager...")
214+
try:
215+
v = version("tribler")
216+
except PackageNotFoundError:
217+
v = "git"
213218

214219
# Not using setup_aiohttp_apispec here, as we need access to the APISpec to set the security scheme
215220
aiohttp_apispec = AiohttpApiSpec(
216221
url="/docs/swagger.json",
217222
app=self.root_endpoint.app,
218223
title="Tribler REST API documentation",
219-
version="Tribler Experimental",
224+
version=f"Tribler {v}",
220225
swagger_path="/docs"
221226
)
222227
if self.config.get("api/key"):

Diff for: src/tribler/test_unit/core/content_discovery/test_community.py

+16-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55
from binascii import hexlify
66
from typing import TYPE_CHECKING, cast
77
from unittest import skipIf
8-
from unittest.mock import AsyncMock, Mock
8+
from unittest.mock import AsyncMock, Mock, patch
99

1010
from ipv8.messaging.payload import IntroductionRequestPayload, NewIntroductionRequestPayload
1111
from ipv8.test.base import TestBase
1212
from ipv8.test.mocking.endpoint import MockEndpointListener
1313

14+
import tribler
1415
from tribler.core.content_discovery.community import ContentDiscoveryCommunity, ContentDiscoverySettings
1516
from tribler.core.content_discovery.payload import (
1617
PopularTorrentsRequest,
@@ -205,7 +206,20 @@ async def test_request_for_version(self) -> None:
205206
message, = received
206207

207208
self.assertEqual(sys.platform, message.platform)
208-
self.assertEqual("Tribler Experimental", message.version)
209+
self.assertEqual("Tribler git", message.version)
210+
211+
async def test_request_for_version_build(self) -> None:
212+
"""
213+
Test if a build version request is responded to.
214+
"""
215+
with patch.dict(tribler.core.content_discovery.community.__dict__, {"version": lambda _: "1.2.3"}), \
216+
self.assertReceivedBy(0, [VersionResponse]) as received:
217+
self.overlay(0).ez_send(self.peer(1), VersionRequest())
218+
await self.deliver_messages()
219+
message, = received
220+
221+
self.assertEqual(sys.platform, message.platform)
222+
self.assertEqual("Tribler 1.2.3", message.version)
209223

210224
def test_search_for_tags_no_db(self) -> None:
211225
"""

Diff for: src/tribler/test_unit/core/restapi/test_events_endpoint.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ async def test_establish_connection(self) -> None:
115115

116116
self.assertEqual(200, response.status)
117117
self.assertEqual((b'event: events_start\n'
118-
b'data: {"public_key": "", "version": "Tribler Experimental"}'
118+
b'data: {"public_key": "", "version": "git"}'
119119
b'\n\n'), request.payload_writer.captured[0])
120120

121121
async def test_establish_connection_with_error(self) -> None:

0 commit comments

Comments
 (0)