#!/usr/bin/env python

from amqplib import client_0_8 as amqp
import os
from optparse import OptionParser

# root permission checking
if  os.getuid() != 0:
    print "you need root permission to run"
    exit()

# command line options
## 1. --hostname -H
## 2. --queue -Q
parser = OptionParser()
parser.add_option("-H", "--hostname",
                  default = "localhost",
                  help="Config the amqp hostname(donot need port)")
parser.add_option("-Q", "--queue",
                  default = None,
                  help = "Config the queue needed to purged")

(options, args) = parser.parse_args()

if ':' not in options.hostname:
    hostname = options.hostname + ":5672"
else:
    hostname = options.hostname

try:
    conn = amqp.Connection(host = hostname,
                           userid = 'boss',
                           password = 'boss',
                           virtual_host="boss",
                           insist=False)
except:
       print "Amqp connect error, please check the amqp host(or userid/passwod/vitual host)"
       exit(1)

if not options.queue:
    os.system('rabbitmqctl list_queues -p boss')
    queue = raw_input("\nInput the queue you want to purge:")
else:
    queue = options.queue

try:
    chan = conn.channel()
    chan.queue_purge(queue)
except:
    print("Is queue name right ?")
    exit(1)


print "\n---------Purge Success-----------"
os.system('rabbitmqctl list_queues -p boss')

