def remove_label_from_issue(args):
  results, status = GithubAPIGateway(*Helper.owner_and_repo()).remove_label_from_issue(args.issue_number, args.label, args.all_labels)

  if status in [200, 204]:
    print "Issue {0} labels:".format(args.issue_number)
    if results:
      for label in results:
        color = rgb2short(label['color'])[1]
        label_color = fg('black') + bg('#' + color)
        reset_color = attr('reset')
        print "[-l {0}\"{1}\"{2}]".format(label_color, label['name'], reset_color)
    else:
      print "No labels found."
  else:
    print results['message']
def list_labels(args):
  results, status = GithubAPIGateway(*Helper.owner_and_repo()).get_labels(issue_number=args.issue_number)

  if status == 200:
    if args.issue_number:
      print "Issue {0} labels:".format(args.issue_number)

    if results:
      for label in results:
        color = rgb2short(label['color'])[1]
        label_color = fg('black') + bg('#' + color)
        reset_color = attr('reset')
        print "[-l {0}\"{1}\"{2}]".format(label_color, label['name'], reset_color)
    else:
      print "No labels found."
  else:
    print results['message']
from githubgateway import GithubAPIGateway
from misc import Helper
import argparse
from colored import fg, bg, attr
from misc.color_translations import rgb2short
from misc.helper2 import get_script_name_from_python_file

parser = argparse.ArgumentParser(prog = get_script_name_from_python_file(__file__))
parser.add_argument("-i", "--issue_number", required=True)
parser.add_argument("-l", "--labels", nargs='+', required=True)
parser.add_argument("-f", "--force-label-creation", dest='force_label_creation', action='store_true')
parser.set_defaults(force_label_creation=False)

args = parser.parse_args()
results, status = GithubAPIGateway(*Helper.owner_and_repo()).add_labels_to_issue(args.issue_number, args.labels, args.force_label_creation)

if status == 200:
  print "Issue {0} labels:".format(args.issue_number)
  for label in results:
    color = rgb2short(label['color'])[1]
    label_color = fg('black') + bg('#' + color)
    reset_color = attr('reset')
    print "[-l {0}\"{1}\"{2}]".format(label_color, label['name'], reset_color)
else:
  print results['message']