Skip to content

Commit a5436d8

Browse files
authored
Merge pull request #219 from 1Password/lucy/example-ux-improvements
Bring example improvements from docs to example file
2 parents b74a384 + 3fd2424 commit a5436d8

1 file changed

Lines changed: 37 additions & 28 deletions

File tree

example/example.py

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ async def main():
3232
# List items
3333
overviews = await client.items.list(vault_id)
3434
for overview in overviews:
35-
print(overview.title)
35+
print(f"{overview.title} ({overview.id})")
3636
# [developer-docs.sdk.python.list-items]-end
3737

3838
# [developer-docs.sdk.python.use-item-filters]-start
@@ -44,13 +44,13 @@ async def main():
4444
),
4545
)
4646
for overview in archived_overviews:
47-
print(overview.title)
47+
print(f"{overview.title} ({overview.id})")
4848
# [developer-docs.sdk.python.use-item-filters]-end
4949

5050
# [developer-docs.sdk.python.validate-secret-reference]-start
5151
# Validate a secret reference
5252
try:
53-
Secrets.validate_secret_reference("op://vault/item/field")
53+
Secrets.validate_secret_reference("op://vault-id/item-id/field-id")
5454
except Exception as error:
5555
print(error)
5656
# [developer-docs.sdk.python.validate-secret-reference]-end
@@ -66,13 +66,13 @@ async def main():
6666
id="username",
6767
title="username",
6868
field_type=ItemFieldType.TEXT,
69-
value="mynameisjeff",
69+
value="my-username",
7070
),
7171
ItemField(
7272
id="password",
7373
title="password",
7474
field_type=ItemFieldType.CONCEALED,
75-
value="jeff",
75+
value="my-password",
7676
),
7777
ItemField(
7878
id="onetimepassword",
@@ -96,10 +96,9 @@ async def main():
9696
],
9797
)
9898
created_item = await client.items.create(to_create)
99+
print(f'Created item "{created_item.title}" ({created_item.id})')
99100
# [developer-docs.sdk.python.create-item]-end
100101

101-
print(dict(created_item))
102-
103102
# [developer-docs.sdk.python.resolve-secret]-start
104103
# Fetch a secret using a secret reference
105104
value = await client.secrets.resolve(
@@ -131,10 +130,9 @@ async def main():
131130
# [developer-docs.sdk.python.get-item]-start
132131
# Get an item
133132
item = await client.items.get(created_item.vault_id, created_item.id)
133+
print(f'Retrieved item "{item.title}" ({item.id})')
134134
# [developer-docs.sdk.python.get-item]-end
135135

136-
print(dict(item))
137-
138136
# [developer-docs.sdk.python.update-item]-start
139137
# Update an item
140138
item.fields[0].value = "new_value"
@@ -146,10 +144,9 @@ async def main():
146144
),
147145
)
148146
updated_item = await client.items.put(item)
147+
print(f"Updated item: {updated_item.title} ({updated_item.id})")
149148
# [developer-docs.sdk.python.update-item]-end
150149

151-
print(dict(updated_item))
152-
153150
# [developer-docs.sdk.python.generate-pin-password]-start
154151
# Generate a PIN password
155152
pin_password = Secrets.generate_password(
@@ -200,6 +197,7 @@ async def main():
200197
# [developer-docs.sdk.python.delete-item]-start
201198
# Delete an item
202199
await client.items.delete(created_item.vault_id, updated_item.id)
200+
print(f"Item {updated_item.id} successfully deleted from vault {created_item.vault_id}.")
203201
# [developer-docs.sdk.python.delete-item]-end
204202

205203
await showcase_vault_operations(client)
@@ -230,8 +228,12 @@ async def showcase_vault_operations(client: Client):
230228
title="Python SDK Updated Name",
231229
description="Updated description",
232230
)
233-
234-
await client.vaults.update(created_vault.id, update_params)
231+
232+
updated_vault = await client.vaults.update(created_vault.id, update_params)
233+
print(
234+
f'Updated vault "{updated_vault.title}" ({updated_vault.id}): '
235+
f'{updated_vault.description!r}'
236+
)
235237
# [developer-docs.sdk.python.update-vault]-end
236238

237239
# [developer-docs.sdk.python.get-vault-details]-start
@@ -247,13 +249,14 @@ async def showcase_vault_operations(client: Client):
247249
# [developer-docs.sdk.python.delete-vault]-start
248250
# Delete a vault
249251
await client.vaults.delete(created_vault.id)
252+
print(f"Vault {created_vault.id} successfully deleted.")
250253
# [developer-docs.sdk.python.delete-vault]-end
251254

252255
# [developer-docs.sdk.python.list-vault]-start
253256
# List vaults
254257
vaults = await client.vaults.list()
255258
for vault in vaults:
256-
print(vault.title)
259+
print(f"{vault.title} ({vault.id})")
257260
# [developer-docs.sdk.python.list-vault]-end
258261

259262
async def showcase_batch_item_operations(client: Client, vault_id: str):
@@ -270,13 +273,13 @@ async def showcase_batch_item_operations(client: Client, vault_id: str):
270273
id="username",
271274
title="username",
272275
field_type=ItemFieldType.TEXT,
273-
value="mynameisjeff",
276+
value="my-username",
274277
),
275278
ItemField(
276279
id="password",
277280
title="password",
278281
field_type=ItemFieldType.CONCEALED,
279-
value="jeff",
282+
value="my-password",
280283
),
281284
ItemField(
282285
id="onetimepassword",
@@ -338,6 +341,7 @@ async def archive_item(client: Client, vault_id: str, item_id: str):
338341
# [developer-docs.sdk.python.archive-item]-start
339342
# Archive an item
340343
await client.items.archive(vault_id, item_id)
344+
print(f"Item {item_id} successfully archived from vault {vault_id}.")
341345
# [developer-docs.sdk.python.archive-item]-end
342346

343347

@@ -381,7 +385,7 @@ async def share_item(client: Client, vault_id: str, item_id: str):
381385

382386
async def create_ssh_key_item(client: Client, vault_id: str):
383387
# [developer-docs.sdk.python.create-sshkey-item]-start
384-
# Generate a 2048-bit RSA private key
388+
# Generate a 4096-bit RSA private key
385389
private_key = rsa.generate_private_key(
386390
public_exponent=65537,
387391
key_size=4096,
@@ -433,10 +437,11 @@ async def create_and_replace_document_item(client: Client, vault_id: str):
433437
ItemSection(id="", title=""),
434438
],
435439
document=DocumentCreateParams(
436-
name="file.txt", content=Path("./example/file.txt").read_bytes()
440+
name="file.txt", content=Path("./example/file2.txt").read_bytes()
437441
),
438442
)
439443
created_item = await client.items.create(to_create)
444+
print(f'Created Document item "{created_item.title}" ({created_item.id})')
440445
# [developer-docs.sdk.python.create-document-item]-end
441446

442447
# [developer-docs.sdk.python.replace-document-item]-start
@@ -447,16 +452,16 @@ async def create_and_replace_document_item(client: Client, vault_id: str):
447452
name="file2.txt", content=Path("./example/file2.txt").read_bytes()
448453
),
449454
)
455+
print(f'Replaced document in item "{replaced_item.title}".')
450456
# [developer-docs.sdk.python.replace-document-item]-end
451457

452458
# [developer-docs.sdk.python.read-document-item]-start
453459
# Read the content of the Document item
454460
content = await client.items.files.read(
455461
replaced_item.vault_id, replaced_item.id, replaced_item.document
456462
)
457-
# [developer-docs.sdk.python.read-document-item]-end
458-
459463
print(content.decode())
464+
# [developer-docs.sdk.python.read-document-item]-end
460465

461466
await client.items.delete(replaced_item.vault_id, replaced_item.id)
462467

@@ -473,13 +478,13 @@ async def create_attach_and_delete_file_field_item(client: Client, vault_id: str
473478
id="username",
474479
title="username",
475480
field_type=ItemFieldType.TEXT,
476-
value="mynameisjeff",
481+
value="my-username",
477482
),
478483
ItemField(
479484
id="password",
480485
title="password",
481486
field_type=ItemFieldType.CONCEALED,
482-
value="jeff",
487+
value="my-password",
483488
),
484489
],
485490
sections=[
@@ -488,23 +493,24 @@ async def create_attach_and_delete_file_field_item(client: Client, vault_id: str
488493
files=[
489494
FileCreateParams(
490495
name="file.txt",
491-
content=Path("./example/file.txt").read_bytes(),
496+
content=Path("./example/file2.txt").read_bytes(),
492497
sectionId="",
493498
fieldId="file_field",
494499
)
495500
],
496501
)
497502

498503
created_item = await client.items.create(to_create)
504+
print(f'Created item with file attached "{created_item.title}" ({created_item.id})')
499505
# [developer-docs.sdk.python.create-item-with-file-field]-end
500506

501507
# [developer-docs.sdk.python.read-file-field]-start
502508
# Read the content of the file field from an item
503509
content = await client.items.files.read(
504510
created_item.vault_id, created_item.id, created_item.files[0].attributes
505511
)
506-
# [developer-docs.sdk.python.read-file-field]-end
507512
print(content.decode())
513+
# [developer-docs.sdk.python.read-file-field]-end
508514

509515
# [developer-docs.sdk.python.attach-file-field-item]-start
510516
# Attach a file field to the item
@@ -517,19 +523,21 @@ async def create_attach_and_delete_file_field_item(client: Client, vault_id: str
517523
fieldId="new_file_field",
518524
),
519525
)
526+
print(f'Attached "file2.txt" to item "{attached_item.title}".')
520527
# [developer-docs.sdk.python.attach-file-field-item]-end
521528

522529
# [developer-docs.sdk.python.delete-file-field-item]-start
523530
# Delete a file field from an item
524531
deleted_file_item = await client.items.files.delete(
525532
attached_item,
526-
attached_item.files[1].section_id,
527-
attached_item.files[1].field_id,
533+
attached_item.files[0].section_id,
534+
attached_item.files[0].field_id,
535+
)
536+
print(
537+
f"Deleted file '{attached_item.files[0].attributes.name}' from item '{deleted_file_item.title}'."
528538
)
529539
# [developer-docs.sdk.python.delete-file-field-item]-end
530540

531-
print(len(deleted_file_item.files))
532-
533541
await client.items.delete(deleted_file_item.vault_id, deleted_file_item.id)
534542

535543

@@ -647,6 +655,7 @@ async def showcase_group_permission_operations(client: Client, vault_id: str, gr
647655
vault_id=vault_id,
648656
group_id=group_id,
649657
)
658+
print(f"Revoked group {group_id}'s permissions in vault {vault_id}")
650659
# [developer-docs.sdk.python.revoke-group-permissions]-end
651660

652661
# [developer-docs.sdk.python.get-group]-start

0 commit comments

Comments
 (0)