PTP / IP client
Project description
Getting started
pip install ptpip
from ptpip.client import PtpIpClient
from ptpip.report.html_device import HtmlDeviceReportGenerator
async def usePtpIpClient(client: PtpIpClient):
device = await client.getDeviceInfo()
props = []
for idx, prop in enumerate(device.properties):
prop_desc = await client.getDevicePropDesc(
prop=prop,
delay=0
)
props.append(prop_desc)
discoveredProps = await client.discoverDevicePropDesc(device, delay=0)
html = HtmlDeviceReportGenerator(device, props, discoveredProps) \
.generate()
reportFileName = 'd5300.html'
f = open(reportFileName, 'w')
f.write(html)
f.close()
print('Report saved ! ' + reportFileName)
setExposureIndexResponse = await client.setDevicePropValue(
prop = DevicePropertyType.ExposureIndex.value,
propType = PropertyType.Uint16,
value = 3200
)
print('setExposureIndexResponse: ' + str(setExposureIndexResponse))
exposureIndex = await client.getDevicePropValue(
prop = DevicePropertyType.ExposureIndex.value,
propType = PropertyType.Uint16
)
print('Exposure index : ' + str(exposureIndex))
PtpIpClient(usePtpIpClient)
OR use CLI
# Main Help
python3 console.py --help
# Generate full device report
python3 console.py device --discover=True --more=True --report=d5300.html
# Get device property description for ExposureIndex
python3 console.py propdesc --name=ExposureIndex
# Get device property value for ExposureIndex
python3 console.py getprop --debug=False --name=ExposureIndex
# Set device property value for ExposureIndex to 6400
python3 console.py setprop --debug=False --name=ExposureIndex --value=6400
# Take a picture with current device configuration and redirect output to cap.jpg
python3 console.py capture --debug=False > cap.jpg
# Take a picture with current device configuration and save it to cap.jpg
python3 console.py capture --debug=False --output=cap.jpg
# List all storage ids
python3 console.py storageids
# Show storage info
python3 console.py storage --id=65537
# Count objects in given storage
python3 console.py numobjects --id=65537
# Lists all Jpeg files on main storage (SDCard) (including example 689504257 handle)
python3 console.py objhandles --id=65537 --formatname=ExifJpeg
# Show object info
python3 console.py objinfo --handle=689504257
# Show object format supported properties
python3 console.py formatprops --name=ExifJpeg --names=True
# Live view writing in cap.jpg at 60 fps
python3 console.py liveimg --output=cap.jpg --fps=60
# Show cap.jpg at 60fps in terminal using Viu : https://github.com/atanunq/viu
while true; do $(viu cap.jpg); sleep 0.016666666666666666; done;
References
https://github.com/mmattes/ptpip
http://www.gphoto.org/doc/ptpip.php
https://github.com/Fimagena/libptp
https://github.com/whoozle/android-file-transfer-linux/tree/master/mtp/ptp
https://github.com/Parrot-Developers/sequoia-ptpy/blob/master/ptpy/ptp.py
https://api.ricoh/docs/theta-web-api/property/still_capture_mode/
https://manualzz.com/download/46005016 D5000 MTP Specifications
https://www.usb.org/sites/default/files/MTPv1_1.zip
https://github.com/gphoto/libgphoto2/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ptpip-0.0.10.tar.gz.
File metadata
- Download URL: ptpip-0.0.10.tar.gz
- Upload date:
- Size: 40.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/3.7.2 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c24c0fef36460290bf3866d663d04e321d696415e68291e202e877452693bb6
|
|
| MD5 |
185dccdbbf16452f16335cf105e4c761
|
|
| BLAKE2b-256 |
6200928ceada4c37ec2fb53fa03dad8a636f32b50fd62da42b1e26f324569d19
|
File details
Details for the file ptpip-0.0.10-py3-none-any.whl.
File metadata
- Download URL: ptpip-0.0.10-py3-none-any.whl
- Upload date:
- Size: 72.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/3.7.2 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
304755342438d8fad943a80696a9b0cee4d24b342bc1d6535d664069bd1fba10
|
|
| MD5 |
e62b6227e89af87c2952643a0cf6a687
|
|
| BLAKE2b-256 |
fc3a588812f5223487727a5cb33ba329221d01535025ca47cd2f4794bc754601
|