diff --git a/MANIFEST.in b/MANIFEST.in index 8b7aeb1..633075c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1 +1 @@ -include README LICENSE requirements.txt +include README.rst requirements.txt bwscanner/data/config.ini diff --git a/bwscanner/configutil.py b/bwscanner/configutil.py index a78d99b..aef3500 100644 --- a/bwscanner/configutil.py +++ b/bwscanner/configutil.py @@ -1,6 +1,6 @@ import os.path -from shutil import copyfile from ConfigParser import SafeConfigParser +from pkg_resources import resource_string from bwscanner.logger import log @@ -21,8 +21,12 @@ def config_exists(cfg_path): def copy_config(cfg_path, cfg_default_path=None): + # FIXME: obtain the path instead of the content if cfg_default_path is None: - cfg_default_path = os.path.join(os.path.dirname(os.path.dirname( - os.path.abspath(__file__))), 'data', 'config.ini') + content = resource_string(__name__, 'data/config.ini') + else: + with open(cfg_default_path) as fp: + content = cfg_default_path.read() log.debug("cfg_default_path %s" % cfg_default_path) - copyfile(cfg_default_path, cfg_path) + with open(cfg_path, 'w') as fp: + fp.write(content) diff --git a/bwscanner/data/config.ini b/bwscanner/data/config.ini new file mode 100644 index 0000000..f7f01da --- /dev/null +++ b/bwscanner/data/config.ini @@ -0,0 +1,25 @@ +[default] + +data_dir = ~/.config/bwscanner +measurement_dir = ~/.config/bwscanner/measurements +tor_dir = ~/.config/bwscanner/tordata +loglevel = info +logfile = bwscanner.log +baseurl = https://siv.sunet.se/bwauth/ +launch_tor = True +circuit_build_timeout = 20 +partitions = 1 +current_partition = 1 +timeout = 120 +request_limit = 10 +int_keys = partitions current_partition timeout request_limit +bool_keys = launch_tor + +[bw_files] + +64M = 6258de4f4d602be75a3458117b29d2c580c4bcb7ba5b9d2c4135c7603109f554 +32M = 5a5d66d7865f09498d776f20c9e9791b055a4fff357185f84fb4ecfca7da93f0 +16M = 6258de4f4d602be75a3458117b29d2c580c4bcb7ba5b9d2c4135c7603109f554 +8M = 738c5604295b9377f7636ce0c2c116f093bb50372f589a6c2332a3bb6bba096a +4M = 4daaa42377d3c87577797d44a8fa569038e7a9d6a5d417a09d8ba41a69456164 +2M = 3e39b0bb92912cf1ad6c01fb7c9d592e814a691c61de1f649416f6bba2d15082 diff --git a/data/config.ini b/data/config.ini deleted file mode 100644 index 86b5d73..0000000 --- a/data/config.ini +++ /dev/null @@ -1,33 +0,0 @@ -[default] -data_dir = $HOME/.config/bwscanner -measurement_dir = $HOME/.config/bwscanner/measurements -tor_dir = $HOME/.config/bwscanner/tordata -loglevel = debug -logfile = bwscanner.log -baseurl = https://siv.sunet.se/bwauth/ -bw_files = { - 64 * 1024: ("64M", "6258de4f4d602be75a3458117b29d2c580c4bcb7ba5b9d2c4135c7603109f554"), - 32 * 1024: ("32M", "5a5d66d7865f09498d776f20c9e9791b055a4fff357185f84fb4ecfca7da93f0"), - 16 * 1024: ("16M", "6258de4f4d602be75a3458117b29d2c580c4bcb7ba5b9d2c4135c7603109f554"), - 8 * 1024: ("8M", "738c5604295b9377f7636ce0c2c116f093bb50372f589a6c2332a3bb6bba096a"), - 4 * 1024: ("4M", "4daaa42377d3c87577797d44a8fa569038e7a9d6a5d417a09d8ba41a69456164"), - 2 * 1024: ("2M", "3e39b0bb92912cf1ad6c01fb7c9d592e814a691c61de1f649416f6bba2d15082"), - - # TODO: check whether files smaller than 2M should be provided - # TODO: are k size files key correct? - # 1024: ("1M", "daf6da82bc4a20567dcd5eb7e583f3137800c31eb31f5fed79f27a4278903780"), - # 512: ("512k", "20e1e9b44c3cb445a59138df8a03767356637ec751beee1f9233ca881121adc6"), - # 256: ("256k", "f3655613066fd0db916b0b00bde1a3905516584ea2c4ee4cac3a8ffb08f2f31c"), - # 128: ("128k", "072b052df2fba25a9578b69d49986024747ad9e43472db345a03ca6e22027ba6"), - # 64: ("64k", "73bee20c527362b18d4adb7e638a6513504954367379e7c61f7f45bdc71c5ddb"), - # 32: ("32k", "2ec95ff2c8beca72996161e2bd7831008baf2e012d12b6c84d51e9264fc50fdc"), - # 16: ("16k", "924bddcc93f8f76effd495c47b0d39451e34d8204029fe2b7f85905522255e7b"), -} - -launch_tor = True -circuit_build_timeout = 20 - -partitions = 1 -current_partition = 1 -timeout = 120 -request_limit = 10 diff --git a/setup.py b/setup.py index 727fb08..a37d5a7 100644 --- a/setup.py +++ b/setup.py @@ -22,8 +22,7 @@ url=__url__, license=__license__, packages=find_packages(), - # data_files = [('path', ['filename'])] - data_files=[], + include_package_data=True, entry_points={ "console_scripts": [ 'bwscan = bwscanner.scanner:cli',