'Options are doubled for backwards compatability; will be removed soon and
fully moved to GNU-style'

def build_opt_parser(self):

    option_parser = argparse.ArgumentParser()
    command_group = option_parser.add_argument_group('COMMAND')
    command_group.add_argument('--check', help='Check    capfile    [file]    for    handshakes.', action='store', dest='check')
    command_group.add_argument('-check', action='store', dest='check', help=argparse.SUPPRESS)
    command_group.add_argument('--cracked', help='Display    previously    cracked    access    points.', action='store_true', dest='cracked')
    command_group.add_argument('-cracked', help=argparse.SUPPRESS, action='store_true', dest='cracked')
    command_group.add_argument('--recrack', help='Include    already    cracked    networks    in    targets.', action='store_true', dest='recrack')
    command_group.add_argument('-recrack', help=argparse.SUPPRESS, action='store_true', dest='recrack')
    global_group = option_parser.add_argument_group('GLOBAL')
    global_group.add_argument('--all', help='Attack    all    targets.', default=False, action='store_true', dest='all')
    global_group.add_argument('-all', help=argparse.SUPPRESS, default=False, action='store_true', dest='all')
    global_group.add_argument('-i', help='Wireless    interface    for    capturing.', action='store', dest='interface')
    global_group.add_argument('--mac', help='Anonymize    MAC    address.', action='store_true', default=False, dest='mac_anon')
    global_group.add_argument('-mac', help=argparse.SUPPRESS, action='store_true', default=False, dest='mac_anon')
    global_group.add_argument('--mon-iface', help='Interface    already    in    monitor    mode.', action='store', dest='monitor_interface')
    global_group.add_argument('-c', help='Channel    to    scan    for    targets.', action='store', dest='channel')
    global_group.add_argument('-e', help='Target    a    specific    access    point    by    ssid    (name).', action='store', dest='essid')
    global_group.add_argument('-b', help='Target    a    specific    access    point    by    bssid    (mac).', action='store', dest='bssid')
    global_group.add_argument('--showb', help='Display    target    BSSIDs    after    scan.', action='store_true', dest='showb')
    global_group.add_argument('-showb', help=argparse.SUPPRESS, action='store_true', dest='showb')
    global_group.add_argument('--nodeauth', help='Do    not    deauthenticate    clients    while    scanning', action='store_true', dest='nodeauth')
    global_group.add_argument('--power', help='Attacks    any    targets    with    signal    strength    >    [pow].', action='store', dest='power')
    global_group.add_argument('-power', help=argparse.SUPPRESS, action='store', dest='power')
    global_group.add_argument('--tx', help='Set    adapter    TX    power    level.', action='store', dest='tx')
    global_group.add_argument('-tx', help=argparse.SUPPRESS, action='store', dest='tx')
    global_group.add_argument('--quiet', help='Do    not    print    list    of    APs    during    scan.', action='store_true', dest='quiet')
    global_group.add_argument('-quiet', help=argparse.SUPPRESS, action='store_true', dest='quiet')
    global_group.add_argument('--update', help='Check    and    update    Wifite.', default=False, action='store_true', dest='update')
    global_group.add_argument('-update', help=argparse.SUPPRESS, default=False, action='store_true', dest='update')
    wpa_group = option_parser.add_argument_group('WPA')
    wpa_group.add_argument('--wpa', help='Only    target    WPA    networks    (works    with    --wps    --wep).', default=False, action='store_true', dest='wpa')
    wpa_group.add_argument('-wpa', help=argparse.SUPPRESS, default=False, action='store_true', dest='wpa')
    wpa_group.add_argument('--wpat', help='Time    to    wait    for    WPA    attack    to    complete    (seconds).', action='store', dest='wpat')
    wpa_group.add_argument('-wpat', help=argparse.SUPPRESS, action='store', dest='wpat')
    wpa_group.add_argument('--wpadt', help='Time    to    wait    between    sending    deauth    packets    (seconds).', action='store', dest='wpadt')
    wpa_group.add_argument('-wpadt', help=argparse.SUPPRESS, action='store', dest='wpadt')
    wpa_group.add_argument('--strip', help='Strip    handshake    using    tshark    or    pyrit.', default=False, action='store_true', dest='strip')
    wpa_group.add_argument('-strip', help=argparse.SUPPRESS, default=False, action='store_true', dest='strip')
    wpa_group.add_argument('--crack', help='Crack    WPA    handshakes    using    [dic]    wordlist    file.', action='store_true', dest='crack')
    wpa_group.add_argument('-crack', help=argparse.SUPPRESS, action='store_true', dest='crack')
    wpa_group.add_argument('--dict', help='Specificy    dictionary    to    use    when    cracking    WPA.', action='store', dest='dic')
    wpa_group.add_argument('-dict', help=argparse.SUPPRESS, action='store', dest='dic')
    wpa_group.add_argument('--aircrack', help='Verify    handshake    using    aircrack.', default=False, action='store_true', dest='aircrack')
    wpa_group.add_argument('-aircrack', help=argparse.SUPPRESS, default=False, action='store_true', dest='aircrack')
    wpa_group.add_argument('--pyrit', help='Verify    handshake    using    pyrit.', default=False, action='store_true', dest='pyrit')
    wpa_group.add_argument('-pyrit', help=argparse.SUPPRESS, default=False, action='store_true', dest='pyrit')
    wpa_group.add_argument('--tshark', help='Verify    handshake    using    tshark.', default=False, action='store_true', dest='tshark')
    wpa_group.add_argument('-tshark', help=argparse.SUPPRESS, default=False, action='store_true', dest='tshark')
    wpa_group.add_argument('--cowpatty', help='Verify    handshake    using    cowpatty.', default=False, action='store_true', dest='cowpatty')
    wpa_group.add_argument('-cowpatty', help=argparse.SUPPRESS, default=False, action='store_true', dest='cowpatty')
    wep_group = option_parser.add_argument_group('WEP')
    wep_group.add_argument('--wep', help='Only    target    WEP    networks.', default=False, action='store_true', dest='wep')
    wep_group.add_argument('-wep', help=argparse.SUPPRESS, default=False, action='store_true', dest='wep')
    wep_group.add_argument('--pps', help='Set    the    number    of    packets    per    second    to    inject.', action='store', dest='pps')
    wep_group.add_argument('-pps', help=argparse.SUPPRESS, action='store', dest='pps')
    wep_group.add_argument('--wept', help='Sec    to    wait    for    each    attack,    0    implies    endless.', action='store', dest='wept')
    wep_group.add_argument('-wept', help=argparse.SUPPRESS, action='store', dest='wept')
    wep_group.add_argument('--chopchop', help='Use    chopchop    attack.', default=False, action='store_true', dest='chopchop')
    wep_group.add_argument('-chopchop', help=argparse.SUPPRESS, default=False, action='store_true', dest='chopchop')
    wep_group.add_argument('--arpreplay', help='Use    arpreplay    attack.', default=False, action='store_true', dest='arpreplay')
    wep_group.add_argument('-arpreplay', help=argparse.SUPPRESS, default=False, action='store_true', dest='arpreplay')
    wep_group.add_argument('--fragment', help='Use    fragmentation    attack.', default=False, action='store_true', dest='fragment')
    wep_group.add_argument('-fragment', help=argparse.SUPPRESS, default=False, action='store_true', dest='fragment')
    wep_group.add_argument('--caffelatte', help='Use    caffe-latte    attack.', default=False, action='store_true', dest='caffeelatte')
    wep_group.add_argument('-caffelatte', help=argparse.SUPPRESS, default=False, action='store_true', dest='caffeelatte')
    wep_group.add_argument('--p0841', help='Use    P0842    attack.', default=False, action='store_true', dest='p0841')
    wep_group.add_argument('-p0841', help=argparse.SUPPRESS, default=False, action='store_true', dest='p0841')
    wep_group.add_argument('--hirte', help='Use    hirte    attack.', default=False, action='store_true', dest='hirte')
    wep_group.add_argument('-hirte', help=argparse.SUPPRESS, default=False, action='store_true', dest='hirte')
    wep_group.add_argument('--nofakeauth', help='Stop    attack    if    fake    authentication    fails.', default=False, action='store_true', dest='fakeauth')
    wep_group.add_argument('-nofakeauth', help=argparse.SUPPRESS, default=False, action='store_true', dest='fakeauth')
    wep_group.add_argument('--wepca', help='Start    cracking    when    number    of    IVs    surpass    [n].', action='store', dest='wepca')
    wep_group.add_argument('-wepca', help=argparse.SUPPRESS, action='store', dest='wepca')
    wep_group.add_argument('--wepsave', help='Save    a    copy    of    .cap    files    to    this    directory.', default=None, action='store', dest='wepsave')
    wep_group.add_argument('-wepsave', help=argparse.SUPPRESS, default=None, action='store', dest='wepsave')
    wps_group = option_parser.add_argument_group('WPS')
    wps_group.add_argument('--wps', help='Only    target    WPS    networks.', default=False, action='store_true', dest='wps')
    wps_group.add_argument('-wps', help=argparse.SUPPRESS, default=False, action='store_true', dest='wps')
    wps_group.add_argument('--pixie', help='Only    use    the    WPS    PixieDust    attack', default=False, action='store_true', dest='pixie')
    wps_group.add_argument('--wpst', help='Max    wait    for    new    retry    before    giving    up    (0:    never).', action='store', dest='wpst')
    wps_group.add_argument('-wpst', help=argparse.SUPPRESS, action='store', dest='wpst')
    wps_group.add_argument('--wpsratio', help='Min    ratio    of    successful    PIN    attempts/total    retries.', action='store', dest='wpsratio')
    wps_group.add_argument('-wpsratio', help=argparse.SUPPRESS, action='store', dest='wpsratio')
    wps_group.add_argument('--wpsretry', help='Max    number    of    retries    for    same    PIN    before    giving    up.', action='store', dest='wpsretry')
    wps_group.add_argument('-wpsretry', help=argparse.SUPPRESS, action='store', dest='wpsretry')
    return option_parser
