From 90f7a7a882df3f9c8300e27a5b88d20be93cd629 Mon Sep 17 00:00:00 2001 From: Lingchao Xin Date: Wed, 4 Dec 2013 15:00:55 +0800 Subject: [PATCH] Reform _get_ks into a general method(_get_file) Now _get_file can handle mutiple suffixes' files Fixes: #1521 Change-Id: Ifeccfe219fe1b0f3bfd4e3a2c86ca3bbd1834cad --- snapdiff/image.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/snapdiff/image.py b/snapdiff/image.py index 1488aa9..f35883a 100644 --- a/snapdiff/image.py +++ b/snapdiff/image.py @@ -6,33 +6,33 @@ import requests from StringIO import StringIO -def _get_ks(url): +def _get_file(url, suffix='.ks'): if url.startswith('http') or url.startswith('https'): response = requests.get(url) bs = BeautifulSoup(response.content) tags = bs.findAll('a') for tag in tags: - if '.ks' in tag.get('href'): - ks = tag.get('href') # get ks - ks_response = requests.get(os.path.join(url, ks)) - if ks_response.status_code == 200: + if suffix in tag.get('href'): + href = tag.get('href') # get ks + f_response = requests.get(os.path.join(url, href)) + if f_response.status_code == 200: # use StringIO to keep wrapped lines - return ks, StringIO(ks_response.content).readlines() + return href, StringIO(f_response.content).readlines() break else: - kss = glob.glob(os.path.join(url, '*.ks')) - if kss: - ks = kss[0] + files = glob.glob(os.path.join(url, '*'+suffix)) + if files: + only = files[0] try: - with open(ks, 'rb') as _ks: - return ks, _ks.readlines() + with open(only, 'rb') as _only: + return only, _only.readlines() except IOError, err: print err return '', '' def ks_diff(old, new): - ks_old, ks_new = _get_ks(old), _get_ks(new) + ks_old, ks_new = _get_file(old), _get_file(new) for line in difflib.unified_diff(ks_old[1], ks_new[1], fromfile=ks_old[0], tofile=ks_new[0]): -- 2.34.1