GitXplorerGitXplorer
t

airprint-generate

public
409 stars
120 forks
21 issues

Commits

List of commits on branch master.
Unverified
0384693e462ee6a0bf9237a839d73d4c6a720cd3

Python3 upgrade and Docker containerization

rrchenzheng committed 4 years ago
Unverified
fb98c1ded7625b1b15cbbc0f9ac004a799c7c1a6

add warning about ios6 and image/urf fixes #5

ttjfontaine committed 12 years ago
Unverified
9d329cfc319e9d7c2eca53192411bf746a7b73d1

include urf, strip leading path /, toggle adminurl

ttjfontaine committed 14 years ago
Unverified
281f531a0f893ab1fd9a232a75a373029fa6618d

detect urlparse failure, grab path from regex

ttjfontaine committed 14 years ago
Unverified
862a2e9e9297499142be149bbe08014d3a667c74

add more python 2.4 support

ttjfontaine committed 14 years ago
Unverified
52f83e141842aa93ad8461fc17748bd552daf6b1

fall back for port number

ttjfontaine committed 14 years ago

README

The README file for this repository.

airprint-generate.py

This script will generate avahi .service files for shared CUPS printers.

This script will connect to a CUPS server and for each printer configured and marked as shared will generate a .service file for avahi that is compatible with Apple's AirPrint announcements. Any printer that can be configured to work with CUPS can be used. Printers should not be configured in CUPS as raw, unless the printer can natively print PDF. That is to say, CUPS needs to already be configured with a PDF filter. Debian based distributions ship CUPS pre-configured this way.

DNSSD has a limit of 255 Chars for a given txt-record, because of this the list of accepted pdl's will be truncated to fit. If you're curious to see which ones are trimmed out of the list run with the script with the verbose flag (--verbose)

If python-lxml is installed, .service files will be generated in a human readble format, I wasn't able to get minidom's version to work acceptably.

Usage: airprint-generate.py [options]

Options: -h, --help show this help message and exit -H HOSTNAME, --host=HOSTNAME Hostname of CUPS server (optional) -P PORT, --port=PORT Port number of CUPS server -u USER, --user=USER Username to authenticate with against CUPS -d DIRECTORY, --directory=DIRECTORY Directory to create service files -v, --verbose Print debugging information to STDERR -p PREFIX, --prefix=PREFIX Prefix all files with this string

Docker containerized avahi .service generation

After the printers have been configured in the cups server, docker can interactively generate the avahi .service while making use of the container.

  • Build the container
docker build -t airprint-generate .
  • Generate the avahi service by defining the ip address of the cups server
docker run --rm -it -v $(pwd):/tmp airprint-generate -H ${CUPS_SERVER_IP} -d /tmp