Renamed user_name to username and dest_dir to destdir.
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Wed, 14 Oct 2015 18:18:18 +0000 (20:18 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Wed, 14 Oct 2015 18:18:18 +0000 (20:18 +0200)
bob_download.py

index bcba0625eff1e7fd336b3d4b7dd6f4f3f6f7738f..c94764afd809be8875029a286104612f5b98d426 100644 (file)
@@ -21,7 +21,7 @@ import requests # pip install requests
 from bs4 import BeautifulSoup # pip install beautifulsoup4
 
 
-def main(user_name, password, dest_dir, csv_format):
+def main(username, password, destdir, csv_format):
     session = requests.Session()
     session.headers.update({
         'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', # otherwise site with content '<HTML></HTML>' is returned
@@ -35,7 +35,7 @@ def main(user_name, password, dest_dir, csv_format):
     form = html.find(attrs={'name': 'asmpform'})
     fields = {e['name']: e.get('value', '') for e in form.find_all('input', {'name': True}) if e['name'] != 'submit'}
     assert 'loginMsisdn' in fields # user name
-    fields['loginMsisdn'] = user_name # e.g. '4369911111111'
+    fields['loginMsisdn'] = username # e.g. '4369911111111'
     assert 'kkw' in fields # password
     fields['kkw'] = password
 
@@ -58,7 +58,7 @@ def main(user_name, password, dest_dir, csv_format):
         url = link['href']
         filename = regexp.search(url).group(1)
         assert filename.startswith('Rechnungskopie_')
-        filepath = os.path.join(dest_dir, filename)
+        filepath = os.path.join(destdir, filename)
         if not os.path.exists(filepath):
             response = session.get(urljoin(response.url, url))
             assert response.status_code == 200
@@ -83,7 +83,7 @@ def main(user_name, password, dest_dir, csv_format):
         assert response.status_code == 200
         filename = response.headers['Content-Disposition'].split('=')[1] # e.g. 'EVN_1509_523260091_1_069911934859.txt'
         assert filename.startswith('EVN_')
-        filepath = os.path.join(dest_dir, filename)
+        filepath = os.path.join(destdir, filename)
         if not os.path.exists(filepath):
             with open(filepath, 'wb') as file:
                 file.write(response.content)
@@ -92,8 +92,8 @@ def main(user_name, password, dest_dir, csv_format):
 if __name__ == '__main__':
     parser = argparse.ArgumentParser(description='Downloads invoices from BOB.')
     parser.add_argument('--csv-format', choices=['CSV-DE', 'CSV', 'TAB'], default='TAB', help='Which CSV variant to use (CSV-DE is semicolon, CSV is comma and TAB is tab separated)')
-    parser.add_argument('user_name', help="login user name is phone number (e.g. '4369911111111')")
+    parser.add_argument('username', help="login user name is phone number (e.g. '4369911111111')")
     parser.add_argument('password', help="login password")
-    parser.add_argument('dest_dir', help="directory where the invoices should be saved to")
+    parser.add_argument('destdir', help="directory where the invoices should be saved to")
     args = parser.parse_args()
-    main(args.user_name, args.password, args.dest_dir, args.csv_format)
+    main(args.username, args.password, args.destdir, args.csv_format)