Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 4eafabd

Browse files
Add NSFW Check Support to Wrapper
1 parent d26932e commit 4eafabd

File tree

6 files changed

+49
-2
lines changed

6 files changed

+49
-2
lines changed

examples/async/nsfw_check.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from openrobot.api_wrapper import AsyncClient
2+
3+
client = AsyncClient(...)
4+
5+
nsfw_check = await client.nsfw_check("<Insert URL>")
6+
7+
for label in nsfw_check.labels:
8+
label.name # ...
9+
label.parent_name # ...
10+
label.confidence # 0 - 100
11+
12+
nsfw_check.score # 0 - 1

examples/sync/nsfw_check.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from openrobot.api_wrapper import AsyncClient
2+
3+
client = SyncClient(...)
4+
5+
nsfw_check = client.nsfw_check("<Insert URL>")
6+
7+
for label in nsfw_check.labels:
8+
label.name # ...
9+
label.parent_name # ...
10+
label.confidence # 0 - 100
11+
12+
nsfw_check.score # 0 - 1

openrobot/api_wrapper/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
from .error import *
44
from .results import *
55

6-
__version__ = '0.1.0'
6+
__version__ = '0.2.0'

openrobot/api_wrapper/_async.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ async def lyrics(self, query: str) -> LyricResult:
8585
js = await self._request('GET', f'/api/lyrics/{quote(query)}')
8686
return LyricResult(js)
8787

88+
async def nsfw_check(self, url: str) -> NSFWCheckResult:
89+
js = await self._request('GET', '/api/nsfw-check', params={'url': url})
90+
return NSFWCheckResult(js)
91+
8892
async def celebrity(self, url: str) -> typing.List[CelebrityResult]:
8993
js = await self._request('GET', '/api/celebrity', params={'url': url})
9094
return [CelebrityResult(data) for data in js]

openrobot/api_wrapper/_sync.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,16 @@ def _request(self, method: str, url: str, **kwargs):
7777

7878
raise cls
7979

80-
# Methods to query to API:
80+
# Methods to query to API:
8181

8282
def lyrics(self, query: str) -> LyricResult:
8383
js = self._request('GET', f'/api/lyrics/{quote(query)}')
8484
return LyricResult(js)
8585

86+
def nsfw_check(self, url: str) -> NSFWCheckResult:
87+
js = self._request('GET', '/api/nsfw-check', params={'url': url})
88+
return NSFWCheckResult(js)
89+
8690
def celebrity(self, url: str) -> typing.List[CelebrityResult]:
8791
js = self._request('GET', '/api/celebrity', params={'url': url})
8892
return [CelebrityResult(data) for data in js]

openrobot/api_wrapper/results.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ def __init__(self, js):
1414
self.artist = js['artist']
1515
self.lyrics = js['lyrics']
1616

17+
class NSFWCheckResult(OpenRobotAPIBaseResult):
18+
"""The result of the /api/nsfw-check endpoint."""
19+
def __init__(self, js):
20+
super().__init__(js)
21+
22+
self.labels: typing.List[self.Label] = [self.Label(x) for x in js['labels']]
23+
self.score: int = js['nsfw_score']
24+
25+
class Label:
26+
"""NSFW Label."""
27+
def __init__(self, js):
28+
self.confidence: int = js['Confidence']
29+
self.parent_name: str = js['ParentName']
30+
self.name: str = js['Name']
31+
1732
class CelebrityResult(OpenRobotAPIBaseResult):
1833
"""The result of the /api/celebrity endpoint."""
1934
def __init__(self, js):

0 commit comments

Comments
 (0)