mirror of
https://github.com/Ircama/epson_print_conf.git
synced 2024-10-18 09:10:36 -04:00
Added API interface
This commit is contained in:
parent
05991fc8ec
commit
5eff6128a2
2 changed files with 72 additions and 18 deletions
44
README.md
44
README.md
|
@ -49,6 +49,50 @@ python3 epson_print_conf.py -m XP-205 -a 192.168.1.87 -d --write-first-ti-receiv
|
||||||
python3 epson_print_conf.py -m XP-205 -a 192.168.1.87 --brute-force-read-key
|
python3 epson_print_conf.py -m XP-205 -a 192.168.1.87 --brute-force-read-key
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## API Interface
|
||||||
|
|
||||||
|
```python
|
||||||
|
import epson_print_conf
|
||||||
|
printer = epson_print_conf.EpsonPrinter("XP-205", "192.168.1.87")
|
||||||
|
|
||||||
|
stats = printer.stats
|
||||||
|
print("stats:", stats)
|
||||||
|
|
||||||
|
ret = printer.session.get_model_full()
|
||||||
|
print("get_model_full:", ret)
|
||||||
|
ret = printer.session.get_serial_number()
|
||||||
|
print("get_serial_number:", ret)
|
||||||
|
ret = printer.session.get_firmware_version()
|
||||||
|
print("get_firmware_version:", ret)
|
||||||
|
ret = printer.session.get_printer_head_id()
|
||||||
|
print("get_printer_head_id:", ret)
|
||||||
|
ret = printer.session.get_eeps2_version()
|
||||||
|
print("get_eeps2_version:", ret)
|
||||||
|
ret = printer.session.get_cartridges()
|
||||||
|
print("get_cartridges:", ret)
|
||||||
|
ret = printer.session.get_printer_status()
|
||||||
|
print("get_printer_status:", ret)
|
||||||
|
ret = printer.session.get_ink_replacement_counters()
|
||||||
|
print("get_ink_replacement_counters:", ret)
|
||||||
|
ret = printer.session.get_waste_ink_levels()
|
||||||
|
print("get_waste_ink_levels:", ret)
|
||||||
|
ret = printer.session.get_last_printer_fatal_errors()
|
||||||
|
print("get_last_printer_fatal_errors:", ret)
|
||||||
|
ret = printer.session.get_stats()
|
||||||
|
print("get_stats:", ret)
|
||||||
|
|
||||||
|
printer.session.reset_waste_ink_levels()
|
||||||
|
printer.session.brute_force_read_key()
|
||||||
|
printer.session.write_first_ti_received_time(2000, 1 , 2)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Exceptions
|
||||||
|
|
||||||
|
```
|
||||||
|
TimeoutError
|
||||||
|
ValueError
|
||||||
|
```
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
### snmpget
|
### snmpget
|
||||||
|
|
|
@ -210,11 +210,9 @@ class EpsonSession(easysnmp.Session):
|
||||||
try:
|
try:
|
||||||
value = self.get(oids).value
|
value = self.get(oids).value
|
||||||
except easysnmp.exceptions.EasySNMPTimeoutError as e:
|
except easysnmp.exceptions.EasySNMPTimeoutError as e:
|
||||||
print("Timeout error:", str(e))
|
raise TimeoutError(str(e))
|
||||||
quit()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("Generic error:", str(e))
|
raise ValueError(str(e))
|
||||||
quit()
|
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def get_read_eeprom_oid(self, oid: int, ext: str="0") -> str:
|
def get_read_eeprom_oid(self, oid: int, ext: str="0") -> str:
|
||||||
|
@ -276,7 +274,12 @@ class EpsonSession(easysnmp.Session):
|
||||||
|
|
||||||
def write_eeprom(self, oid: int, value: int) -> None:
|
def write_eeprom(self, oid: int, value: int) -> None:
|
||||||
"""Write value to OID with specified type to EEPROM."""
|
"""Write value to OID with specified type to EEPROM."""
|
||||||
self.get(self.get_write_eeprom_oid(oid, value))
|
try:
|
||||||
|
self.get(self.get_write_eeprom_oid(oid, value))
|
||||||
|
except easysnmp.exceptions.EasySNMPTimeoutError as e:
|
||||||
|
raise TimeoutError(str(e))
|
||||||
|
except Exception as e:
|
||||||
|
raise ValueError(str(e))
|
||||||
|
|
||||||
def dump_eeprom(self, start: int = 0, end: int = 0xFF):
|
def dump_eeprom(self, start: int = 0, end: int = 0xFF):
|
||||||
"""Dump EEPROM data from start to end."""
|
"""Dump EEPROM data from start to end."""
|
||||||
|
@ -328,7 +331,7 @@ class EpsonSession(easysnmp.Session):
|
||||||
self.write_eeprom(b, n // 256)
|
self.write_eeprom(b, n // 256)
|
||||||
self.write_eeprom(l, n % 256)
|
self.write_eeprom(l, n % 256)
|
||||||
|
|
||||||
def get_printer_head_id(self) -> str:
|
def get_printer_head_id(self) -> str: # to be revised
|
||||||
"""Return printer head id."""
|
"""Return printer head id."""
|
||||||
a = self.read_eeprom_many(self.printer.parm["printer_head_id_h"])
|
a = self.read_eeprom_many(self.printer.parm["printer_head_id_h"])
|
||||||
b = self.read_eeprom_many(self.printer.parm["printer_head_id_f"])
|
b = self.read_eeprom_many(self.printer.parm["printer_head_id_f"])
|
||||||
|
@ -548,11 +551,12 @@ class EpsonSession(easysnmp.Session):
|
||||||
return self.printer.parm['read_key']
|
return self.printer.parm['read_key']
|
||||||
except IndexError:
|
except IndexError:
|
||||||
continue
|
continue
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
return None
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import sys
|
|
||||||
import argparse
|
import argparse
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
|
@ -616,14 +620,20 @@ if __name__ == "__main__":
|
||||||
if not printer.parm:
|
if not printer.parm:
|
||||||
print("Unknown printer. Valid printers:",
|
print("Unknown printer. Valid printers:",
|
||||||
list(printer.PRINTER_MODEL.keys()))
|
list(printer.PRINTER_MODEL.keys()))
|
||||||
sys.exit(1)
|
quit(1)
|
||||||
session = EpsonSession(printer, debug=args.debug, dry_run=args.dry_run)
|
try:
|
||||||
if args.reset_waste_ink:
|
if args.reset_waste_ink:
|
||||||
session.reset_waste_ink_levels()
|
printer.session.reset_waste_ink_levels()
|
||||||
if args.brute_force:
|
if args.brute_force:
|
||||||
session.brute_force_read_key()
|
printer.session.brute_force_read_key()
|
||||||
if args.ftrt:
|
if args.ftrt:
|
||||||
session.write_first_ti_received_time(
|
printer.session.write_first_ti_received_time(
|
||||||
int(args.ftrt[0]), int(args.ftrt[1]), int(args.ftrt[2]))
|
int(args.ftrt[0]), int(args.ftrt[1]), int(args.ftrt[2]))
|
||||||
if args.info:
|
if args.info:
|
||||||
pprint(printer.stats)
|
pprint(printer.stats)
|
||||||
|
except TimeoutError as e:
|
||||||
|
print(f"Timeout error: {str(e)}")
|
||||||
|
except ValueError as e:
|
||||||
|
raise(f"Generic error: {str(e)}")
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
quit(2)
|
||||||
|
|
Loading…
Reference in a new issue