[Python-modules-commits] [wifi] 11/11: merge patched into master

Ethan Ward ethanward-guest at moszumanska.debian.org
Tue Jul 25 19:08:24 UTC 2017


This is an automated email from the git hooks/post-receive script.

ethanward-guest pushed a commit to branch master
in repository wifi.

commit dd20c0f64265a321fc440e1c28e1c83fa08f6a57
Merge: 0692bb0 7e1bee3
Author: Ethan Ward <ethan.ward at mycroft.ai>
Date:   Tue Jul 25 14:06:48 2017 -0500

    merge patched into master

 bin/wifi                                           | 205 ------------------
 debian/.git-dpm                                    |   4 +-
 debian/patches/0002-Remove-command-line-tool.patch | 235 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 setup.py                                           |   2 +-
 5 files changed, 239 insertions(+), 208 deletions(-)

diff --cc debian/.git-dpm
index c24e1a8,0000000..433cb70
mode 100644,000000..100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@@ -1,11 -1,0 +1,11 @@@
 +# see git-dpm(1) from git-dpm package
- caeba8dc53c2a14447fdcb938cdcb978879310a4
- caeba8dc53c2a14447fdcb938cdcb978879310a4
++7e1bee3563eee02483e796a0422cf9772feb8987
++7e1bee3563eee02483e796a0422cf9772feb8987
 +5d9576ae0d751f55c76770921c9b08377c511c83
 +5d9576ae0d751f55c76770921c9b08377c511c83
 +wifi_0.3.8.orig.tar.gz
 +d894a40f66f06c64a4d87119474c7515bb3a78ae
 +11964
 +debianTag="debian/%e%v"
 +patchedTag="patched/%e%v"
 +upstreamTag="upstream/%e%u"
diff --cc debian/patches/0002-Remove-command-line-tool.patch
index 0000000,0000000..6d2b92d
new file mode 100644
--- /dev/null
+++ b/debian/patches/0002-Remove-command-line-tool.patch
@@@ -1,0 -1,0 +1,235 @@@
++From 7e1bee3563eee02483e796a0422cf9772feb8987 Mon Sep 17 00:00:00 2001
++From: Ethan Ward <ethan.ward at mycroft.ai>
++Date: Tue, 25 Jul 2017 14:06:39 -0500
++Subject: Remove command-line tool
++
++---
++ bin/wifi | 205 ---------------------------------------------------------------
++ setup.py |   2 +-
++ 2 files changed, 1 insertion(+), 206 deletions(-)
++ delete mode 100755 bin/wifi
++
++diff --git a/bin/wifi b/bin/wifi
++deleted file mode 100755
++index 140d437..0000000
++--- a/bin/wifi
+++++ /dev/null
++@@ -1,205 +0,0 @@
++-#!/usr/bin/python
++-from __future__ import print_function
++-import argparse
++-import sys
++-import os
++-
++-from wifi import Cell, Scheme
++-from wifi.utils import print_table, match as fuzzy_match
++-from wifi.exceptions import ConnectionError, InterfaceError
++-
++-try:  # Python 2.x
++-    input = raw_input
++-except NameError:
++-    pass
++-
++-
++-def fuzzy_find_cell(interface, query):
++-    match_partial = lambda cell: fuzzy_match(query, cell.ssid)
++-
++-    matches = Cell.where(interface, match_partial)
++-
++-    num_unique_matches = len(set(cell.ssid for cell in matches))
++-    assert num_unique_matches > 0, "Couldn't find a network that matches '{}'".format(query)
++-    assert num_unique_matches < 2, "Found more than one network that matches '{}'".format(query)
++-
++-    # Several cells of the same SSID
++-    if len(matches) > 1:
++-        matches.sort(key=lambda cell: cell.signal)
++-
++-    return matches[0]
++-
++-
++-def find_cell(interface, query):
++-    cell = Cell.where(interface, lambda cell: cell.ssid.lower() == query.lower())
++-
++-    try:
++-        cell = cell[0]
++-    except IndexError:
++-        cell = fuzzy_find_cell(interface, query)
++-    return cell
++-
++-
++-def get_scheme_params(interface, scheme, ssid=None):
++-    cell = find_cell(interface, ssid or scheme)
++-    passkey = None if not cell.encrypted else input('passkey> ')
++-
++-    return interface, scheme, cell, passkey
++-
++-
++-def scan_command(args):
++-    print_table([[cell.signal, cell.ssid, 'protected' if cell.encrypted else 'unprotected'] for cell in Cell.all(args.interface)])
++-
++-
++-def list_command(args):
++-    for scheme in Scheme.for_file(args.file).all():
++-        print(scheme.name)
++-
++-
++-def show_command(args):
++-    scheme = Scheme.for_file(args.file).for_cell(*get_scheme_params(args.interface, args.scheme, args.ssid))
++-    print(scheme)
++-
++-
++-def add_command(args):
++-    scheme_class = Scheme.for_file(args.file)
++-    assert not scheme_class.find(args.interface, args.scheme), "That scheme has already been used"
++-
++-    scheme = scheme_class.for_cell(*get_scheme_params(args.interface, args.scheme, args.ssid))
++-    scheme.save()
++-
++-
++-def connect_command(args):
++-    scheme_class = Scheme.for_file(args.file)
++-    if args.adhoc:
++-        # ensure that we have the adhoc utility scheme
++-        try:
++-            adhoc_scheme = scheme_class(args.interface, 'adhoc')
++-            adhoc_scheme.save()
++-        except AssertionError:
++-            pass
++-        except IOError:
++-            assert False, "Can't write on {0!r}, do you have required privileges?".format(args.file)
++-
++-        scheme = scheme_class.for_cell(*get_scheme_params(args.interface, 'adhoc', args.scheme))
++-    else:
++-        scheme = scheme_class.find(args.interface, args.scheme)
++-        assert scheme, "Couldn't find a scheme named {0!r}, did you mean to use -a?".format(args.scheme)
++-
++-    try:
++-        scheme.activate()
++-    except ConnectionError:
++-        assert False, "Failed to connect to %s." % scheme.name
++-
++-
++-def autoconnect_command(args):
++-    ssids = [cell.ssid for cell in Cell.all(args.interface)]
++-
++-    for scheme in Scheme.all():
++-        # TODO: make it easier to get the SSID off of a scheme.
++-        ssid = scheme.options.get('wpa-ssid', scheme.options.get('wireless-essid'))
++-        if ssid in ssids:
++-            sys.stderr.write('Connecting to "%s".\n' % ssid)
++-            try:
++-                scheme.activate()
++-            except ConnectionError:
++-                assert False, "Failed to connect to %s." % scheme.name
++-            break
++-    else:
++-        assert False, "Couldn't find any schemes that are currently available."
++-
++-
++-def arg_parser():
++-    parser = argparse.ArgumentParser()
++-    parser.add_argument('-i',
++-                        '--interface',
++-                        default='wlan0',
++-                        help="Specifies which interface to use (wlan0, eth0, etc.)")
++-    parser.add_argument('-f',
++-                        '--file',
++-                        default='/etc/network/interfaces',
++-                        help="Specifies which file for scheme storage.")
++-    
++-    subparsers = parser.add_subparsers(title='commands')
++-    
++-    parser_scan = subparsers.add_parser('scan', help="Shows a list of available networks.")
++-    parser_scan.set_defaults(func=scan_command)
++-    
++-    parser_list = subparsers.add_parser('list', help="Shows a list of networks already configured.")
++-    parser_list.set_defaults(func=list_command)
++-    
++-    scheme_help = ("A memorable nickname for a wireless network."
++-                   "  If SSID is not provided, the network will be guessed using SCHEME.")
++-    ssid_help = ("The SSID for the network to which you wish to connect."
++-                 "  This is fuzzy matched, so you don't have to be precise.")
++-    
++-    parser_show = subparsers.add_parser('config',
++-                                        help="Prints the configuration to connect to a new network.")
++-    parser_show.add_argument('scheme', help=scheme_help, metavar='SCHEME')
++-    parser_show.add_argument('ssid', nargs='?', help=ssid_help, metavar='SSID')
++-    parser_show.set_defaults(func=show_command)
++-    
++-    parser_add = subparsers.add_parser('add',
++-                                       help="Adds the configuration to connect to a new network.")
++-    parser_add.add_argument('scheme', help=scheme_help, metavar='SCHEME')
++-    parser_add.add_argument('ssid', nargs='?', help=ssid_help, metavar='SSID')
++-    parser_add.set_defaults(func=add_command)
++-    
++-    parser_connect = subparsers.add_parser('connect',
++-                                           help="Connects to the network corresponding to SCHEME")
++-    parser_connect.add_argument('scheme',
++-                                help="The nickname of the network to which you wish to connect.",
++-                                metavar='SCHEME')
++-    parser_connect.add_argument('-a',
++-                                '--ad-hoc',
++-                                dest='adhoc',
++-                                action="store_true",
++-                                help="Connect to a network without storing it in the config file")
++-    parser_connect.set_defaults(func=connect_command)
++-    
++-    
++-    # TODO: how to specify the correct interfaces file to work off of.
++-    parser_connect.get_options = lambda: [scheme.name for scheme in Scheme.all()]
++-
++-    parser_autoconnect = subparsers.add_parser(
++-        'autoconnect',
++-        help="Searches for saved schemes that are currently"
++-             " available and connects to the first one it finds."
++-    )
++-    parser_autoconnect.set_defaults(func=autoconnect_command)
++-
++-    return parser, subparsers
++-
++-
++-def autocomplete(position, wordlist, subparsers):
++-    if position == 1:
++-        ret = subparsers.choices.keys()
++-    else:
++-        try:
++-            prev = wordlist[position - 1]
++-            ret = subparsers.choices[prev].get_options()
++-        except (IndexError, KeyError, AttributeError):
++-            ret = []
++-
++-    print(' '.join(ret))
++-
++-
++-if __name__ == "__main__":
++-    parser, subparsers = arg_parser()
++-
++-    if len(sys.argv) == 1:
++-        argv = ['scan']
++-    else:
++-        argv = sys.argv[1:]
++-
++-    args = parser.parse_args(argv)
++-
++-    try:
++-        if 'WIFI_AUTOCOMPLETE' in os.environ:
++-            autocomplete(int(os.environ['COMP_CWORD']),
++-                         os.environ['COMP_WORDS'].split(), subparsers)
++-        else:
++-            args.func(args)
++-    except (AssertionError, InterfaceError) as e:
++-        sys.stderr.write("Error: ")
++-        sys.exit(e)
++diff --git a/setup.py b/setup.py
++index ccb9a16..3c21184 100644
++--- a/setup.py
+++++ b/setup.py
++@@ -41,7 +41,7 @@ setup(
++     description=__doc__,
++     long_description='\n\n'.join([read('README.rst'), read('CHANGES.rst')]),
++     packages=['wifi'],
++-    scripts=['bin/wifi'],
+++    #scripts=['bin/wifi'],
++     #test_suite='tests',
++     platforms=["Debian"],
++     license='BSD',
diff --cc debian/patches/series
index 25402d5,0000000..137d8f3
mode 100644,000000..100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -1,1 -1,0 +1,2 @@@
 +0001-Remove-tests-creates-import-error.patch
++0002-Remove-command-line-tool.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/wifi.git



More information about the Python-modules-commits mailing list