.infineon/_-Review/amazon-photos-python.md

4.5 KiB

type, created, updated
type created updated
note 2024-06-18T14:10:21.565Z 2024-06-19T06:27:30.466Z

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")
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