Removed mklink for git
This commit is contained in:
		
							
								
								
									
										89
									
								
								_-Review/amazon-photos-python.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								_-Review/amazon-photos-python.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | ||||
| --- | ||||
| type: "note" | ||||
| created: "2024-06-18T14:10:21.565Z" | ||||
| updated: "2024-06-19T06:27:30.466Z" | ||||
| --- | ||||
|  | ||||
| # Amazon Photos Python | ||||
|  | ||||
| - [pypi](https://pypi.org/project/amazon-photos/) | ||||
| - [github](https://github.com/trevorhobenshield/amazon_photos) | ||||
|  | ||||
| ```python | ||||
| from amazon_photos import AmazonPhotos | ||||
|  | ||||
| ap = AmazonPhotos( | ||||
|     # see cookie examples above | ||||
|     cookies={ | ||||
|         'at_main': 'Atza|IwEBIKaTt-nbq8GY6MaHFmoPREguVxq0XCPFIPhqdaXNnWl8ZNSkq7xRHRN7RDKyyWcpRrAj1hu2TyB1dRPAi9VeUO_EihstUpc3ZK5ui1UjpOFo0x50sBeo-hCLZrAWd-UNjSbCBJn4mrZajaaC0S9EnM54W1Pyxg2hITlqqXRDAHrNVCQOQ-Nk5_LiE6jvppTV3uLpe4gahDCsTz1UqFBt42iLe9atrWMAPeJ5JnZm6OsfPL0cLMtTiknkwnkV5l_sk61rbWwITXtALSlJaxfW8k5dwzXD2y7p1OOtMw02bdXX2A', | ||||
|         'csd-key': 'eyJ3YXNtVGVzdGVkIjp0cnVlLCJ3YXNtQ29tcGF0aWJsZSI6dHJ1ZSwid2ViQ3J5cHRvVGVzdGVkIjpmYWxzZSwidiI6MSwia2lkIjoiMzNlNTBlIiwia2V5IjoiTjhqTWFzcGxmYTVINEZjbTQ4QldVa01JNmExaHVGRytrQTlYQ3NBMlR6RU9YcVBpeFh0SnVmYnk1a3pJQmxHSUxkQ0lLaGRNdThiMW5WR0lvVyt3VkxNMENJUXduY1FxSDR4RldPb0lPZXZ6ejIvV0J6dkRLcnRIelAwSGhmVHdHOHpBUU95ZzZXU1VuZldrRVd2UjNrV1hVTVZRNGNGMkV3aWE2emhFMVR5SGUrWUpsWUNHUWc4WEttbURxdFdzTEUxZHNaZ1JIVGxSMGRXbldLT2NRZ0NtQUdOeEpJMDRGQkNuY1VUWnVNaVF3VHV5NHBTK2p4U2t4TGwxckxocjRhcWwrZ2ZONVRMQVJ3Z3BwWWRGMzA3OWQySGZZYno4TFFlZmpWRG42QXdoY3l2aU5DNExDVXZnY1lKbFY5bDUzTU5zZytzZ0dFMkJ0cHVtWXVnK0VnPT0ifQ==', | ||||
|         'csm-hit': 'tb:FWHMXQB2N9YR3XD0WD50+ba-4W9NK8V7MQQX19ZBNQMR-EN10GR0C8995B3TXDBW2|1718721855872&t:1718721855872&adb:adblk_no', | ||||
|         'cwr_s': 'eyJzZXNzaW9uSWQiOiIxOTJhMDBiZC1kMGEyLTRiMjQtOGMwOS03OWUwNWJmMjY4OGUiLCJyZWNvcmQiOnRydWUsImV2ZW50Q291bnQiOjEwMzQsInBhZ2UiOnsicGFnZUlkIjoiL3Bob3Rvcy8iLCJwYXJlbnRQYWdlSWQiOiIvcGhvdG9zL3NldHRpbmdzIiwiaW50ZXJhY3Rpb24iOjM2LCJyZWZlcnJlciI6IiIsInJlZmVycmVyRG9tYWluIjoiIiwic3RhcnQiOjE3MTg3MjE1MjkxMTZ9fQ==', | ||||
|         'cwr_u': '82367c0a-fd6e-41e0-9a57-24eb6a3b4a61', | ||||
|         'i18n-prefs': 'USD', | ||||
|         'JSESSIONID': 'F12B4E4CDFDC2A8F075BD6826B61564A', | ||||
|         'lc-main': 'lc-main', | ||||
|         'sess-at-main': 'QjgIr25GpBkN+U7VP7NiwCpyzU1DaRDRtrZBy6lU9MI=', | ||||
|         'session-id-time': 'session-id-time', | ||||
|         'session-id': '130-2086422-3631604', | ||||
|         'session-token': 'g8YwxNbYOociOxFEOkrsTN/lV2WSoAw6MAPSuswF9NnPd30r4wpLKxOQNMPW8j5sAY0NdD11g7tBXTDQS0rlTe8hIlhOnSgbfPUTtrjKO23zz/vOIKoUL6b6359LwO1ltd0juvuKc5aFPJaxeKUzcFcC5Jxm2kSXyCz7eRJeBluyc061RdSchHWL/5SqB0pC9oDih2uF5HDl6pKecF8YiX2CWytqRxlBVn2Q141fezdJ9kUcHsfL7mZZKfrrmvI2qZFfZa2379HB/mpEI1Cw72WM5RX1SsleBN3JRBaEhBzqAPYb1DVE7+GWiU5BFeA9IgyWNgqHm2MiQr7kBY4pEOivhwnaOzL+VJld3ODy57vKS1wPoDznkD5Ok5HEw0eO', | ||||
|         'sid': 'wZ4+IDpaIn7d2kRmXGxFSg==|r+MfueUTDWes8fZ9LFfeNgIkqxJsXUO3CLKPszvIHaw=', | ||||
|         'sst-main': '1J2N3VvLsFDH97SkezFcBG@3AoVgPcoV', | ||||
|         'sst-main': 'Sst1|PQFFb7JpsYltezg6eBdc_j8HCULqNcosQnd-NG41uUhWywHtQufMARZRg4_phg_UoCqM4_d7QbTbFguppSgCejnToCz80Qy7m-TAqMwJj054wkn9uAg-Pr2nF8rMY9gXh-BVvR1RnF4xZwIP9HihcwQbe21QqMDorsbx-GAMoQzzDskFH4bNcBBNBJnbSq7KoRBEtJiLoNh6-MmPl6L2F8nk38putRVLwReRmMPchaeVfeluTFd2jNu6SYjhUMaSfc3f8ZvGOMaiCsPh1AHRsvXTGpzWxO57usZJP0_4LbCY82A', | ||||
|         'ubid_main': '134-9800184-2401841', | ||||
|     }, | ||||
|     # optionally cache all intermediate JSON responses | ||||
|     tmp='tmp', | ||||
|     # pandas options | ||||
|     dtype_backend='pyarrow', | ||||
|     engine='pyarrow', | ||||
|     # cdproxy_override='https://content-na.drive.amazonaws.com/cdproxy/nodes' | ||||
| ) | ||||
|  | ||||
| # get current usage stats | ||||
| ap.usage() | ||||
|  | ||||
| # get entire Amazon Photos library | ||||
| nodes = ap.query("type:(PHOTOS OR VIDEOS)") | ||||
|  | ||||
| # query Amazon Photos library with more filters applied | ||||
| nodes = ap.query("type:(PHOTOS OR VIDEOS) AND things:(plant AND beach OR moon) AND timeYear:(2023) AND timeMonth:(8) AND timeDay:(14) AND location:(CAN#BC#Vancouver)") | ||||
|  | ||||
| # sample first 10 nodes | ||||
| node_ids = nodes.id[:10] | ||||
|  | ||||
| # move a batch of images/videos to the trash bin | ||||
| ap.trash(node_ids) | ||||
|  | ||||
| # get trash bin contents | ||||
| ap.trashed() | ||||
|  | ||||
| # permanently delete a batch of images/videos | ||||
| ap.delete(node_ids) | ||||
|  | ||||
| # restore a batch of images/videos from the trash bin | ||||
| ap.restore(node_ids) | ||||
|  | ||||
| # upload media (preserves local directory structure and copies to Amazon Photos root directory) | ||||
| ap.upload('path/to/files') | ||||
|  | ||||
| # download a batch of images/videos | ||||
| ap.download(node_ids) | ||||
|  | ||||
| # convenience method to get photos only | ||||
| ap.photos() | ||||
|  | ||||
| # convenience method to get videos only | ||||
| ap.videos() | ||||
|  | ||||
| # get all identifiers calculated by Amazon. | ||||
| ap.aggregations(category="all") | ||||
|  | ||||
| # get specific identifiers calculated by Amazon. | ||||
| ap.aggregations(category="location") | ||||
| ``` | ||||
|  | ||||
| ```todo | ||||
| https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts | ||||
| https://www.digitalocean.com/community/tutorials/how-to-host-multiple-web-sites-with-nginx-and-haproxy-using-lxd-on-ubuntu-16-04 | ||||
| ``` | ||||
		Reference in New Issue
	
	Block a user