Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • client/bin/gbq

    rfc8707b r9dee329  
    11#!/usr/bin/perl
    22
    3 # This script was largely written by Jessica Hamrick (jhamrick), with
    4 # help from Kyle Brogle (broglek)
     3# Written by Jessica Hamrick (C) 2010
    54
    65use strict;
     
    1110use Getopt::Long;
    1211
    13 # usage
    14 my $usage = <<USAGE;
    15 Usage: gbq [options] [-q QUEUE]
     12my $usage = "Usage: gbq [-q QUEUE]\n";
    1613
    17         -q, --queue             Specify a queue other than the default
    18         -h, --help              Print this message
    19 USAGE
     14my $q = "";
     15GetOptions ('q|queue=s' => \$q);
    2016
    21 # initialize the variables for the options
    22 my $q = "";
    23 my $help = 0;
    24 
    25 # parse the options
    26 GetOptions ('q|queue=s' => \$q,
    27             'h|help' => \$help);
    28 
    29 # if the -h flag was passed, then print the usage and exit
    30 if ($help) {
    31     print $usage;
    32     exit 0;
    33 }
    34 
    35 # if the -q option is not specified, then assume we're using the
    36 # default queue
    3717if (!$q) {
    3818    $q = "DEFAULT";
    3919}
    4020
    41 # set configuration path, and complain if it doesn't exist
    4221my $configpath = "$ENV{'HOME'}/.gutenbach/$q";
    4322if (! -e $configpath) {
     
    4625}
    4726
    48 # initialize the host and queue variables: host holds the address for
    49 # the machine on which the remote queue runs, and queue holds the name
    50 # of the printer
    5127my ($host, $queue);
    5228
    53 # load the configuration file (this will set $host and $queue)
    5429if (-r $configpath) {
    5530    local $/;
     
    5934}
    6035
    61 # initialize a new CUPS session
    6236my $cups = Net::CUPS->new();
    63 # set the server to the one specified in the config file
    6437$cups->setServer("$host");
    65 # set the printer name to the one specified in the config file
    6638my $printer = $cups->getDestination("$queue");
    6739
    68 # if $printer is not defined, then throw an error
    6940unless( $printer){
    7041    print "Cannot access queue $q...do you have network connectivity and permission to view the queue?\n";
    7142    exit 1;
    7243}
    73 
    74 # print pretty headings and stuff
    7544print "Queue listing for queue '$queue' on '$host'\n\n";
    7645printf ("%-8s%-15s%s\n","Job","Owner","Title");
    7746print "-"x70 . "\n";
    78 
    79 # get the list of jobs from the printer
    8047my @jobs = $printer->getJobs(0, 0);
    81 
    82 # initialize the job reference and job id variables
    8348my ($job_ref, $jobid);
    8449
    85 # for each job in the list of jobs:
    8650foreach $jobid(@jobs)
    8751{       
    88     # get the reference to the job (so we can get various related
    89     # variables)
    90     $job_ref = $printer->getJob($jobid);
     52        $job_ref = $printer->getJob($jobid);
     53        my $id = $job_ref->{'id'};
     54        my $user = $job_ref->{'user'};
     55        my $title = $job_ref->{'title'};
    9156
    92     # get the id of the job
    93     my $id = $job_ref->{'id'};
    94     # get the user who printed the job
    95     my $user = $job_ref->{'user'};
    96     # get the title of the job
    97     my $title = $job_ref->{'title'};
    98    
    99     # print the job information to the screen
    100     printf ("%-8s%-15s%s\n","$id",substr("$user",0,15),substr("$title",0,47));
     57        printf ("%-8s%-15s%s\n","$id",substr("$user",0,15),substr("$title",0,47));
    10158}
Note: See TracChangeset for help on using the changeset viewer.