1- from PySide2 .QtCore import Slot , Qt
1+ from PySide2 .QtCore import Slot , Qt , QDateTime , QSettings
22from PySide2 .QtGui import QPainter , QColor
33from PySide2 .QtCharts import QtCharts
44from PySide2 .QtWidgets import (QWidget , QTableWidget , QHBoxLayout , QTableWidgetItem ,
55 QHeaderView , QLineEdit , QVBoxLayout , QPushButton )
66from time import time
7+ from ast import literal_eval
78
89from helpers import CONSTANTS
910from helpers .Bridge import Bridge
@@ -15,13 +16,14 @@ def __init__(self):
1516
1617 self .row = 0
1718 self .coins_sum = 0
18- self .define_table ( )
19+ self .settings = QSettings ( 'NoneCompany' , 'freebot' )
1920
2021 VBoxLayout = QVBoxLayout () # Right
2122 HBoxLayout = QHBoxLayout () # Left
2223
2324 self .create_form ()
2425 self .set_placeholders ()
26+ self .define_table ()
2527
2628 FormLayout = QHBoxLayout ()
2729 FormLayout .addWidget (self .form_login )
@@ -78,6 +80,27 @@ def define_table(self):
7880 self .table .setHorizontalHeaderLabels (CONSTANTS .TABLE_COLUMNS )
7981 self .table .horizontalHeader ().setSectionResizeMode (QHeaderView .Stretch )
8082
83+ if self .settings .contains ('key' ):
84+ self .form_key .setText ( self .get_settings ('key' ) )
85+
86+ if self .settings .contains ('table' ):
87+ for row in literal_eval (self .get_settings ('table' )):
88+ self .add_account (* row , False )
89+
90+ def set_settings (self , key , value ):
91+ if key == 'table' :
92+ if self .settings .contains ('table' ):
93+ table = literal_eval (self .get_settings ('table' ))
94+ table .append (value )
95+ value = table
96+ else :
97+ value = [value ]
98+
99+ self .settings .setValue (key , str (value ))
100+
101+ def get_settings (self , key ):
102+ return self .settings .value (key )
103+
81104 @Slot (int , list )
82105 def change_column_color (self , row , RGB ):
83106 for col in range ( len (CONSTANTS .TABLE_COLUMNS ) ):
@@ -89,15 +112,16 @@ def change_column_text(self, row, text):
89112
90113 @Slot ()
91114 def clear_table (self ):
115+ self .settings .clear ()
92116 self .table .setRowCount (0 )
93117 self .row = 0
94118
95119 @Slot ()
96- def fillin_table (self ):
120+ def fillin_table (self , settings = False ):
97121 if self .check_form_state ():
98122 return
99123
100- self .add_account (self .form_login .text (),
124+ self .add_account (self .form_login .text (),
101125 self .form_password .text (),
102126 self .form_proxy .text ())
103127
@@ -109,15 +133,17 @@ def fillin_table(self):
109133 def update_chart (self , data , init = False ):
110134 self .coins_sum += data [1 ]
111135
136+ MStime_now = float (QDateTime .currentDateTime ().toMSecsSinceEpoch ())
137+
112138 if init :
113- self .series .append (time () , self .coins_sum )
139+ self .series .append (MStime_now , self .coins_sum )
114140 for i in range (6 ):
115141 if i and not i % 2 :
116- self .series .append (time () + (( i / 100 ) + 0.000001 ), self .coins_sum )
142+ self .series .append (MStime_now + (i * 1 ), self .coins_sum )
117143 else :
118- self .series .append (time () + (( i / 100 ) + 0.000001 ), 0.00000001 )
144+ self .series .append (MStime_now + (i * 1 ), 0.00000001 )
119145 else :
120- self .series .append (data [ 0 ] , self .coins_sum )
146+ self .series .append (MStime_now , self .coins_sum )
121147
122148 chart = QtCharts .QChart ()
123149 chart .addSeries (self .series )
@@ -133,7 +159,8 @@ def update_chart(self, data, init=False):
133159 self .series .attachAxis (axisX )
134160
135161 axisY = QtCharts .QValueAxis ()
136- axisY .setLabelFormat ('%i' )
162+ axisY .setTickCount (5 )
163+ axisY .setLabelFormat ('%.8f' )
137164 axisY .setTitleText ('coins' )
138165 chart .addAxis (axisY , Qt .AlignLeft )
139166 self .series .attachAxis (axisY )
@@ -143,9 +170,12 @@ def update_chart(self, data, init=False):
143170 @Slot ()
144171 def init_threads (self ):
145172 self .start_button .setEnabled (False )
173+ self .set_settings ('key' , self .form_key .text ())
174+
146175 self .threads = [Bridge (self , row ,
147176 self .table .item (row , 0 ).text (),
148177 self .table .item (row , 1 ).text (),
178+ self .table .item (row , 2 ).text (),
149179 self .form_key .text ())
150180 for row in range (self .table .rowCount ())]
151181
@@ -154,12 +184,16 @@ def check_form_state(self):
154184 or not self .form_password .text () \
155185 or not self .form_proxy .text ()
156186
157- def add_account (self , login , password , proxy ):
187+ def add_account (self , login , password , proxy , record = True ):
158188 self .table .insertRow (self .row )
159189
160190 self .table .setItem (self .row , 0 , QTableWidgetItem (login ))
161191 self .table .setItem (self .row , 1 , QTableWidgetItem (password ))
162192 self .table .setItem (self .row , 2 , QTableWidgetItem (proxy ))
163193 self .table .setItem (self .row , 3 , QTableWidgetItem ('?' ))
164194
195+ if record :
196+ self .set_settings ('key' , self .form_key .text ())
197+ self .set_settings ('table' , [login , password , proxy ])
198+
165199 self .row += 1
0 commit comments