@@ -24,51 +24,40 @@ See the :doc:`api-reference` for full usage details.
2424 import uuid
2525
2626 from vws import VWS , CloudRecoService
27- from vws.reports import QueryResult
2827
29-
30- def add_target () -> str :
31- """ Add a target to VWS and return its ID."""
32- server_access_key = " [server-access-key]"
33- server_secret_key = " [server-secret-key]"
34- vws_client = VWS(
35- server_access_key = server_access_key,
36- server_secret_key = server_secret_key,
37- )
38- name = " my_image_name_" + uuid.uuid4().hex
39-
40- image = pathlib.Path(" high_quality_image.jpg" )
41- with image.open(mode = " rb" ) as my_image_file:
42- target_id = vws_client.add_target(
43- name = name,
44- width = 1 ,
45- image = my_image_file,
46- active_flag = True ,
47- application_metadata = None ,
48- )
49- vws_client.wait_for_target_processed(target_id = target_id)
50-
51- return target_id
52-
53-
54- def get_matching_targets () -> list[QueryResult]:
55- """ Query VWS for matching targets."""
56- client_access_key = " [client-access-key]"
57- client_secret_key = " [client-secret-key]"
58-
59- cloud_reco_client = CloudRecoService(
60- client_access_key = client_access_key,
61- client_secret_key = client_secret_key,
28+ server_access_key = " [server-access-key]"
29+ server_secret_key = " [server-secret-key]"
30+ client_access_key = " [client-access-key]"
31+ client_secret_key = " [client-secret-key]"
32+
33+ vws_client = VWS(
34+ server_access_key = server_access_key,
35+ server_secret_key = server_secret_key,
36+ )
37+
38+ cloud_reco_client = CloudRecoService(
39+ client_access_key = client_access_key,
40+ client_secret_key = client_secret_key,
41+ )
42+
43+ name = " my_image_name_" + uuid.uuid4().hex
44+
45+ image = pathlib.Path(" high_quality_image.jpg" )
46+ with image.open(mode = " rb" ) as my_image_file:
47+ target_id = vws_client.add_target(
48+ name = name,
49+ width = 1 ,
50+ image = my_image_file,
51+ active_flag = True ,
52+ application_metadata = None ,
6253 )
6354
64- image = pathlib.Path(" high_quality_image.jpg" )
65- with image.open(mode = " rb" ) as my_image_file:
66- return cloud_reco_client.query(image = my_image_file)
55+ vws_client.wait_for_target_processed(target_id = target_id)
6756
57+ with image.open(mode = " rb" ) as my_image_file:
58+ matching_targets = cloud_reco_client.query(image = my_image_file)
6859
69- TARGET_ID = add_target()
70- MATCHING_TARGETS = get_matching_targets()
71- assert MATCHING_TARGETS [0 ].target_id == TARGET_ID
60+ assert matching_targets[0 ].target_id == target_id
7261
7362 Testing
7463-------
@@ -92,38 +81,32 @@ To write unit tests for code which uses this library, without using your Vuforia
9281
9382 from vws import VWS , CloudRecoService
9483
95-
96- def test_add_target () -> None :
97- """ Test adding a target to VWS."""
98- with MockVWS() as mock:
99- database = VuforiaDatabase()
100- mock.add_database(database = database)
101- vws_client = VWS(
102- server_access_key = database.server_access_key,
103- server_secret_key = database.server_secret_key,
104- )
105- cloud_reco_client = CloudRecoService(
106- client_access_key = database.client_access_key,
107- client_secret_key = database.client_secret_key,
84+ with MockVWS() as mock:
85+ database = VuforiaDatabase()
86+ mock.add_database(database = database)
87+ vws_client = VWS(
88+ server_access_key = database.server_access_key,
89+ server_secret_key = database.server_secret_key,
90+ )
91+ cloud_reco_client = CloudRecoService(
92+ client_access_key = database.client_access_key,
93+ client_secret_key = database.client_secret_key,
94+ )
95+
96+ image = pathlib.Path(" high_quality_image.jpg" )
97+ with image.open(mode = " rb" ) as my_image_file:
98+ target_id = vws_client.add_target(
99+ name = " example_image_name" ,
100+ width = 1 ,
101+ image = my_image_file,
102+ application_metadata = None ,
103+ active_flag = True ,
108104 )
109105
110- image = pathlib.Path(" high_quality_image.jpg" )
111- with image.open(mode = " rb" ) as my_image_file:
112- target_id = vws_client.add_target(
113- name = " example_image_name" ,
114- width = 1 ,
115- image = my_image_file,
116- application_metadata = None ,
117- active_flag = True ,
118- )
119-
120- vws_client.wait_for_target_processed(target_id = target_id)
121- matching_targets = cloud_reco_client.query(image = my_image_file)
122-
123- assert matching_targets[0 ].target_id == target_id
124-
106+ vws_client.wait_for_target_processed(target_id = target_id)
107+ matching_targets = cloud_reco_client.query(image = my_image_file)
125108
126- test_add_target()
109+ assert matching_targets[ 0 ].target_id == target_id
127110
128111 There are some differences between the mock and the real Vuforia.
129112See https://vws-python-mock.readthedocs.io/en/latest/differences-to-vws.html for details.
0 commit comments