diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/download_daily.py | 73 |
1 files changed, 39 insertions, 34 deletions
diff --git a/python/download_daily.py b/python/download_daily.py index c204bc7e..b32db16b 100644 --- a/python/download_daily.py +++ b/python/download_daily.py @@ -1,12 +1,10 @@ import os
import os.path
import datetime
-from datetime import date
-from datetime import datetime
from ftplib import FTP
import gnupg
-import pdb
import config
+import sys
import pdb
if os.name =='nt':
@@ -14,40 +12,47 @@ if os.name =='nt': elif os.name == 'posix':
root = '/home/share/Daily'
-ftp = FTP('ftp.globeop.com')
-ftp.login('srntsftp', config.ftp_password)
-ftp.cwd('outgoing')
-files = ftp.nlst()
+def download_data(workdate):
+ ftp = FTP('ftp.globeop.com')
+ ftp.login('srntsftp', config.ftp_password)
+ ftp.cwd('outgoing')
+ files = ftp.nlst()
+
+ globeopdate = datetime.date.strftime(workdate, '%Y%m%d')
-workdate = str(datetime.today().date())
-globeopdate = datetime.strftime(datetime.today(), '%Y%m%d')
+ pnlfiles = [filename for filename in files if "csv" in filename and \
+ globeopdate in filename and \
+ "Profit" in filename]
+ valuationfiles = [filename for filename in files if "csv" in filename and \
+ globeopdate in filename and \
+ "Valuation" in filename]
+ pnlfile = sorted(pnlfiles, reverse=True)[0]
+ valuationfile = sorted(valuationfiles, reverse=True)[0]
-pnlfiles = [filename for filename in files if "csv" in filename and \
- globeopdate in filename and \
- "Profit" in filename]
-valuationfiles = [filename for filename in files if "csv" in filename and \
- globeopdate in filename and \
- "Valuation" in filename]
-pnlfile = sorted(pnlfiles, reverse=True)[0]
-valuationfile = sorted(valuationfiles, reverse=True)[0]
+ if pnlfile:
+ if not os.path.exists(os.path.join(root, str(workdate), "Reports")):
+ os.makedirs(os.path.join(root, str(workdate), "Reports"))
-if pnlfile:
- if not os.path.exists(os.path.join(root, workdate, "Reports")):
- os.makedirs(os.path.join(root, workdate, "Reports"))
+ for filename in [pnlfile, valuationfile]:
+ with open(os.path.join(root, str(workdate), "Reports", filename), "wb") as fh:
+ ftp.retrbinary('RETR ' + filename, fh.write)
+ print "downloaded {0}".format(filename)
-for filename in [pnlfile, valuationfile]:
- with open(os.path.join(root, workdate, "Reports", filename), "wb") as fh:
- ftp.retrbinary('RETR ' + filename, fh.write)
- print "downloaded {0}".format(filename)
+ gpg = gnupg.GPG(gnupghome = '/home/guillaume/.gnupg')
+ gpg.encoding = 'utf8'
+ for filename in [pnlfile, valuationfile]:
+ if "Profit" in filename:
+ newfilename = "Pnl.csv"
+ else:
+ newfilename = "Valuation_Report.csv"
+ with open(os.path.join(root, str(workdate), "Reports", filename), "rb") as fh:
+ gpg.decrypt_file(fh, output = os.path.join(root, str(workdate), "Reports", newfilename),
+ passphrase=config.key_password)
+ os.remove(os.path.join(root, str(workdate), "Reports", filename))
-gpg = gnupg.GPG(gnupghome = '/home/guillaume/.gnupg')
-gpg.encoding = 'utf8'
-for filename in [pnlfile, valuationfile]:
- if "Profit" in filename:
- newfilename = "Pnl.csv"
+if __name__=="__main__":
+ if len(sys.argv) > 1:
+ workdate = datetime.datetime.strptime(sys.argv[1], "%Y-%m-%d").date()
else:
- newfilename = "Valuation_Report.csv"
- with open(os.path.join(root, workdate, "Reports", filename), "rb") as fh:
- gpg.decrypt_file(fh, output = os.path.join(root, workdate, "Reports", newfilename),
- passphrase=config.key_password)
- os.remove(os.path.join(root, workdate, "Reports", filename))
+ workdate = datetime.date.today()
+ download_data(workdate)
|
