コード例 #1
0
    printer_uris = []
    printer_manager = PrinterManager(requestors)
    printers = printer_manager.getPrinters()
    for printer in printers:
        printer_uris.append(printer.getURI())

    # check for printers to prune
    prunePrinters = []
    cupsprinters = cupsHelper.getPrinters()

    for cupsprinter in cupsprinters:
        if cupsprinters[cupsprinter]['device-uri'].startswith(Utils.PROTOCOL) \
                and cupsprinters[cupsprinter]['device-uri'] not in printer_uris:
            prunePrinters.append(cupsprinter)

    if len(prunePrinters) > 0:
        print "Found %d printers which no longer exist on cloud print:" % len(prunePrinters)
        for printer in prunePrinters:
            print printer
        if options.auto_clean.lower() == "y":
            answer = "y"
        else:
            answer = raw_input("Remove (Y/N)? ")
        if answer.lower().startswith("y"):
            for printer in prunePrinters:
                cupsHelper.deletePrinter(printer)
                print "Deleted", printer
        else:
            print "Not removing old printers"
コード例 #2
0
 answer = raw_input("Which account to delete (1-" + str(i) + ") ? ")
 if (answer.isdigit() and int(answer) <= i and int(answer) >= 1):
     if (Auth.DeleteAccount(accounts[int(answer) - 1]) is None):
         print accounts[int(answer) - 1] + " deleted."
         deleteprintersanswer = raw_input(
             "Also delete associated printers? ")
         if deleteprintersanswer.lower().startswith("y"):
             printer_manager = PrinterManager(requestors)
             printers = \
                 printer_manager.getCUPSPrintersForAccount(accounts[int(answer) - 1])
             if len(printers) == 0:
                 print "No printers to delete"
             else:
                 for cupsPrinter in printers:
                     print "Deleting " + cupsPrinter['printer-info']
                     deleteReturnValue = cupsHelper.deletePrinter(
                         cupsPrinter['printer-info'])
                     if deleteReturnValue is not None:
                         errormessage = "Error deleting printer: "
                         errormessage += str(deleteReturnValue)
                         print errormessage
         else:
             print "Not deleting associated printers"
     else:
         errormessage = "Error deleting stored "
         errormessage += "credentials, perhaps "
         errormessage += Auth.config + " is not writable?"
         print errormessage
 elif (answer == "0"):
     break
 else:
     print "Invalid response, use '0' to exit"
コード例 #3
0
    printer_uris = []
    printer_manager = PrinterManager(requestors)
    printers = printer_manager.getPrinters()
    for printer in printers:
        printer_uris.append(printer.getURI())

    # check for printers to prune
    prunePrinters = []
    cupsprinters = cupsHelper.getPrinters()

    for cupsprinter in cupsprinters:
        if cupsprinters[cupsprinter]['device-uri'].startswith(Utils.PROTOCOL) \
                and cupsprinters[cupsprinter]['device-uri'] not in printer_uris:
            prunePrinters.append(cupsprinter)

    if len(prunePrinters) > 0:
        print "Found %d printers which no longer exist on cloud print:" % len(
            prunePrinters)
        for printer in prunePrinters:
            print printer
        if options.auto_clean.lower() == "y":
            answer = "y"
        else:
            answer = raw_input("Remove (Y/N)? ")
        if answer.lower().startswith("y"):
            for printer in prunePrinters:
                cupsHelper.deletePrinter(printer)
                print "Deleted", printer
        else:
            print "Not removing old printers"