-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
113 lines (94 loc) · 2.46 KB
/
app.py
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import tabula
import math
import json
import os
import random
from covid19 import Nhx
from tabulate import tabulate
import platform
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
OS = platform.system()
scriptDir = os.path.dirname(os.path.abspath(__file__))
def getTable(src):
percobaan = []
df = tabula.read_pdf(src, output_format="json", pages='all')
rows = df[0]['data']
for row in rows:
data = row
p = []
for datum in data:
p.append(datum['text'])
percobaan.append(p)
return percobaan
def completeTable(table):
for row in table[1:]:
for i, data in enumerate(row[1:]):
if '?' in data:
row[i+1] = calculateAnswer(i, row[1:])
def calculateAnswer(question, data):
ans = 'None'
if question == 5:
Nh, h = Nhx(float(data[0]), float(data[1]), float(data[2]), float(data[4]))
ans = math.floor(Nh)
elif question == 3:
ans = '1 + {}'.format(float(data[1])*float(data[2]))
return '{}'.format(ans)
def createGraph(data):
if OS == 'Windows':
if not os.path.exists(scriptDir+'\Grafik'):
os.makedirs(scriptDir+'\Grafik')
else:
if not os.path.exists(scriptDir+'/Grafik/'):
os.makedirs(scriptDir+'/Grafik/')
info = 'Percobaan Ke-{}'.format(data[0])
filename = 'pcbk{}'.format(data[0])
N = float(data[1])
R = float(data[2])
P = float(data[3])
mx = int(data[5])
x = []
y = []
for i in range(mx):
Nh, h = Nhx(N, R, P, i)
y.append(Nh)
x.append(h+1)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.xticks(x)
ax.set(xlabel='Hari', ylabel='Jumlah Kasus',
title=info)
ax.grid()
if OS == 'Windows':
fig.savefig('Grafik\{}.png'.format(filename))
else:
fig.savefig('Grafik/{}.png'.format(filename))
table = getTable('source.pdf')
os.system('cls' if OS == 'Windows' else 'clear')
completeTable(table)
style=[
"plain",
"simple",
"github",
"grid",
"fancy_grid",
"pipe",
"orgtbl",
"jira",
"presto",
"pretty",
"psql",
"rst",
"mediawiki",
"moinmoin",
"youtrack",
"latex",
"latex_booktabs",
"textile",
]
graphStyle = plt.style.available
print(tabulate(table, headers="firstrow", tablefmt=style[random.randint(0, len(style))]))
mpl.style.use(graphStyle[random.randint(0, len(graphStyle))])
for row in table[1:]:
createGraph(row)