123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- from comar.service import *
- import os
- serviceType = "server"
- serviceDefault = "on"
- serviceDesc = _({"en": "CUPS Printer Server",
- "tr": "CUPS Yazıcı Sunucusu"})
- serviceConf = "cups"
- PIDFILE = "/run/cups/cupsd.pid"
- @synchronized
- def start():
- # FIXME: After avahi before hal
- # startDependencies("avahi")
- # Load ppdev and lp drivers if wanted
- if config.get("LOAD_LP_MODULE") == "yes":
- os.system("/sbin/modprobe -q lp")
- os.system("/sbin/modprobe -q ppdev")
- startService(command="/usr/sbin/cupsd",
- donotify=True)
- os.system("pidof -o %PPID /usr/sbin/cupsd > " + PIDFILE)
- # Tell udevd to replay printer events
- # One for low-level usb
- os.system("udevadm trigger --subsystem-match=usb \
- --attr-match=bInterfaceClass=07 \
- --attr-match=bInterfaceSubClass=01 \
- --action=add")
- # One for usblp backend
- os.system("udevadm trigger --subsystem-match=usb \
- --property-match=DEVNAME=\"/dev/usb/lp*\" \
- --action=add")
- @synchronized
- def reload():
- if os.path.exists(PIDFILE):
- # 1 is SIGHUP
- os.kill(int(open(PIDFILE, "r").read().strip()), 1)
- @synchronized
- def stop():
- stopService(pidfile=PIDFILE, donotify=True)
- if os.path.isfile(PIDFILE): os.unlink(PIDFILE)
- def status():
- return isServiceRunning(pidfile=PIDFILE)
|