Skip to content

Commit 07a38cb

Browse files
committed
fix(server): fix setPrimarySelection bug and replace unreliable trivia API
- Use view store's setDataForAllViews instead of non-existent setPrimarySelection on dataset store - Replace numbersapi.com (unreachable) with catfact.ninja API
1 parent 1baa288 commit 07a38cb

3 files changed

Lines changed: 30 additions & 28 deletions

File tree

server/examples/example_api.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ def add(a: int, b: int):
2121
return a + b
2222

2323

24-
@volview.expose # exposes as "number_trivia"
25-
@volview.expose("get_number_trivia") # exposes as "get_number_trivia"
26-
async def number_trivia():
24+
@volview.expose # exposes as "cat_fact"
25+
@volview.expose("get_cat_fact") # exposes as "get_cat_fact"
26+
async def cat_fact():
2727
async with aiohttp.ClientSession() as session:
28-
url = "http://numbersapi.com/random/"
28+
url = "https://catfact.ninja/fact"
2929
async with session.get(url) as resp:
30-
return await resp.text()
30+
data = await resp.json()
31+
return data["fact"]
3132

3233

3334
@volview.expose("progress")
@@ -83,8 +84,8 @@ def get_base_image(state: ClientState, img_id: str) -> str:
8384

8485

8586
async def show_image(img_id: str):
86-
store = get_current_client_store("dataset")
87-
await store.setPrimarySelection(img_id)
87+
store = get_current_client_store("view")
88+
await store.setDataForAllViews(img_id)
8889

8990

9091
@volview.expose("medianFilter")

server/examples/example_class_api.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ class ExampleApi:
4949
def __init__(self):
5050
self.rpc_router = RpcRouter()
5151
self.rpc_router.add_endpoint("add", self.add)
52-
self.rpc_router.add_endpoint("number_trivia", self.number_trivia)
53-
self.rpc_router.add_endpoint("get_number_trivia", self.number_trivia)
52+
self.rpc_router.add_endpoint("cat_fact", self.cat_fact)
53+
self.rpc_router.add_endpoint("get_cat_fact", self.cat_fact)
5454
self.rpc_router.add_endpoint("progress", self.number_stream)
5555
self.rpc_router.add_endpoint("medianFilter", self.median_filter)
5656

@@ -61,13 +61,14 @@ def __init__(self):
6161
def add(self, a, b):
6262
return a + b
6363

64-
## number trivia example ##
64+
## cat fact example ##
6565

66-
async def number_trivia(self):
66+
async def cat_fact(self):
6767
async with aiohttp.ClientSession() as session:
68-
url = "http://numbersapi.com/random/"
68+
url = "https://catfact.ninja/fact"
6969
async with session.get(url) as resp:
70-
return await resp.text()
70+
data = await resp.json()
71+
return data["fact"]
7172

7273
## progress bar example ##
7374

@@ -121,8 +122,8 @@ def _get_base_image(self, img_id):
121122
return img_id
122123

123124
async def _show_image(self, img_id):
124-
store = get_current_client_store("dataset")
125-
await store.setPrimarySelection(img_id)
125+
store = get_current_client_store("view")
126+
await store.setDataForAllViews(img_id)
126127

127128

128129
volview = VolViewApi()

src/components/ServerModule.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,17 @@ const doSum = async () => {
2525
}
2626
};
2727
28-
// --- number trivia --- //
28+
// --- cat fact --- //
2929
30-
const trivia = ref('');
31-
const triviaLoading = ref(false);
30+
const catFact = ref('');
31+
const catFactLoading = ref(false);
3232
33-
const getTrivia = async () => {
34-
triviaLoading.value = true;
33+
const getCatFact = async () => {
34+
catFactLoading.value = true;
3535
try {
36-
trivia.value = (await client.call('number_trivia')) as string;
36+
catFact.value = (await client.call('cat_fact')) as string;
3737
} finally {
38-
triviaLoading.value = false;
38+
catFactLoading.value = false;
3939
}
4040
};
4141
@@ -122,21 +122,21 @@ const hasCurrentImage = computed(() => !!currentImageID.value);
122122
</v-col>
123123
</v-row>
124124
<v-divider />
125-
<v-list-subheader>Trivia</v-list-subheader>
125+
<v-list-subheader>Cat Fact</v-list-subheader>
126126
<v-row>
127-
<v-btn @click="getTrivia" :loading="triviaLoading" :disabled="!ready">
128-
Random number trivia
127+
<v-btn @click="getCatFact" :loading="catFactLoading" :disabled="!ready">
128+
Random cat fact
129129
</v-btn>
130130
</v-row>
131131
<v-row>
132132
<v-col>
133-
<label for="remote-trivia-text">
133+
<label for="remote-cat-fact-text">
134134
<textarea
135-
id="remote-trivia-text"
135+
id="remote-cat-fact-text"
136136
readonly
137137
class="text-white"
138138
style="width: 100%"
139-
:value="trivia"
139+
:value="catFact"
140140
/>
141141
</label>
142142
</v-col>

0 commit comments

Comments
 (0)