-
Notifications
You must be signed in to change notification settings - Fork 1
/
updatePrices.mdpy
62 lines (57 loc) · 1.97 KB
/
updatePrices.mdpy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
directory = '/Users/dclobato/Documents/Bancos/Cotacoes/Snapshots/ultimo/'
directory2 = '/Users/dclobato/Documents/Bancos/Cotacoes/'
contas = moneydance.getRootAccount()
moedas = contas.getCurrencyTable()
def openHistory(ativo):
try:
fHandle = open(directory + ativo + '.mdSnapshots', 'r')
except IOError:
print ativo, ' - arquivo nao encontrado'
else:
return fHandle
def loadHistory(nomeAtivo, tipoAtivo):
fHistory = openHistory(nomeAtivo)
if fHistory is None:
return
print "Processando dados de", nomeAtivo
ativoMD = moedas.getCurrencyByIDString(nomeAtivo)
if ativoMD:
CE = ativoMD.getSnapshotCount()
count = 0
s = fHistory.readline().rstrip()
maisRecente = s
while len(s) <> 0:
count = count + 1
f = s.split()
iData = int(f[0])
fPrice = 1/float(f[1])
snapshot = ativoMD.setSnapshotInt(iData, fPrice)
if tipoAtivo in ('A'):
fLow = 1/float(f[2])
fHigh = 1/float(f[3])
lVolume = long(f[4])
snapshot.setUserDailyHigh(fHigh)
snapshot.setUserDailyLow(fLow)
snapshot.setDailyVolume(lVolume)
print ".",
s = fHistory.readline().rstrip()
fHistory.close()
print " Feito!"
f = maisRecente.split()
iData = int(f[0])
fPrice = 1/float(f[1])
ativoMD.setUserRate(fPrice)
print "Cotacao mais recente...: " + str(f[1]) + " @" + str(iData)
print
else:
print "Nao existe ativo com o nome " + nomeAtivo + " no arquivo Moneydance atual"
return
fCotacoes = open(directory2 + 'ativos.txt', 'r')
ativo = fCotacoes.readline().rstrip()
while len(ativo) <> 0:
campos = ativo.split()
tipoAtivo = str(campos[0])
nomeAtivo = str(campos[1])
print "Principal", nomeAtivo, tipoAtivo
loadHistory(nomeAtivo, tipoAtivo)
ativo = fCotacoes.readline().rstrip()