From 5f338d30e9088cf7fea0c4a40d2280a94c99310a Mon Sep 17 00:00:00 2001 From: vanzhiganov Date: Tue, 19 Sep 2017 09:56:55 +0300 Subject: [PATCH] update indexer --- celerybeat-schedule | Bin 20480 -> 32768 bytes manage.py | 19 +++++++++++++++++-- migrations/versions/e75eb58a894e_.py | 26 ++++++++++++++++++++++++++ wotstats/models/wotaccountsstats.py | 5 +++-- 4 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 migrations/versions/e75eb58a894e_.py diff --git a/celerybeat-schedule b/celerybeat-schedule index f4450368ccafd3d9b0c2079c738eec1abbd88d4a..ba80f7182eaf7af4eb6689211e6fb0df3d00b129 100644 GIT binary patch delta 2640 zcmZuyOH5o<7@lDUDA1u4jYeAtRBa1|;hy`xV0dYju{>(qRBaDZ=EC@37|JlwQB+uI z;zCOgP>E4%h%s(l$kG^7H*TBQMVGpA&BBeb>i;;`c#VWRbH97O`+fiGoLRq_Twkxb z);Y4Cpua!h^J%`N&su#SEb>i+(=v{?&Tp7*_i4@kc8zad(D=(GzPYUN7c(3AQfu)X z!;?w=4#zfrcxtUnqhH_Trx9MQ#_`=s9RGBQakqZ|$=Bn!?qVD#&c^ZYX9%nMWN!56 zTfBBkYu%ZPV|O-=mtKtH+ZWVmGP^eL5g7B91rR-i`EYmdEM0ffkDQW#tnK5BmBwvf32(Ul1DDtn)#WY#Rvz_G1JlO-@L)t z(>U{592d*~#e4h7siwVT%b}KY@4dr|QKQel&6w+uNYob?M`;!F|Bs_I>kE7Nj;}MB zo3Ajh9==ZOwPo)&HZWl+TwC}CVZ%Mu1J*EgmIkE{xdL-IVeKT%Y_o%y&~z+&jjvaA+-DcQ&oZ1myO^7Y~CKFe=+O?sP5ZED;^?;F=rRhgeHRX8%im{XeJvB4Ab+FU{%UDY5%ta*Bc>eXFMXVLn z0DHJGH4WWHEgC#onFJ>ayv8@w{>Wk-P>~4rqUyugRE>FADfUttzGu-;q_fz>nbDnA z9CNp;4?gpM_x5q3a5p99L#Ng5t1vQ4QylHgK4T00gs3Jf13^t*6` z+fxorFc*qieHmKaN@^G!QoSmiG~6G<;Z8z-px4kJV4$Ka%Y(8Ef^BK&AVqe71{UfD zW!rA0xL^xWY|trDP@j%>)C$8QHtir`cfkVoAf)XGT8{2DRSnKaJRpSYcgWK047r&W z2h;#Y&}*93+}1-#!wa?sr2sYbUEI2qGar}t4iclM6NapmV>Oq@hLk`In?CGsHDDEt zuH&+zZcnt=3NvtNDh}cZ>NII!aZd_71@Lji3IbO>oF+qSWjjhG{ul4COxU9%52N@z?H6Miyqq@zuV bCmpgJCyR1J!|dww$y$eLu4L7KUcjW_)L;xzq{|4QXF5Y@ z11Nu`6@+gD;ciB2i0)g z3&J;q@)P_}4gBSeosUqzIZ0t1FR!jIL>)Vj(%dYocSCCO0&^BFb2F2el9-A#%bdxD z(K0M12BwCS4<-~$p6odpBrjwdQ(<6c03-}!Dw2(Wv=K-hv$286WJdd($p-Gzc`Qw0 z@?t8I5`hX#p@x`Qf(=RVn1RHQ6WEww6i3LcBc}#_+ sSti5`BV)tKjwacYk9f@#Fo-DuNgIRQ38cX$u$UN{fSj5;d9r^l04la+J^%m! diff --git a/manage.py b/manage.py index 20a97bb..9f2654e 100644 --- a/manage.py +++ b/manage.py @@ -32,6 +32,19 @@ def wot_harvest_accounts(): if _account_id: account_id = _account_id + for i in db.session.query(WotAccountsStats.id, WotAccountsStats.last_battle_time, WotAccountsStats.data).filter(WotAccountsStats.last_battle_time == None): + print i.id + x = db.session.query(WotAccountsStats).filter_by(id=i.id).first() + + # x = WotAccountsStats.query.filter_by(id=i.id) + # print x.account_id + x.last_battle_time = datetime.fromtimestamp(int(i.data.get('last_battle_time'))).strftime('%Y-%m-%d %H:%M:%S') + + # i.last_battle_time = datetime.fromtimestamp(int(i.data.get('last_battle_time'))).strftime('%Y-%m-%d %H:%M:%S') + db.session.commit() + # db.session.flush() + # return + while True: account_id += 1 __ = requests.get('{}?application_id={}&account_id={}'.format(url, app_id, account_id)).json() @@ -50,14 +63,16 @@ def wot_harvest_accounts(): ws = WotAccountsStats() ws.account_id = account_id ws.created_at = datetime.now() + try: + ws.last_battle_time = datetime.fromtimestamp(int(account_data.get('last_battle_time'))).strftime('%Y-%m-%d %H:%M:%S') + except Exception as e: + print('>> Error: {}'.format(e)) ws.data = account_data ws.statistics = account_statistics db.session.add(ws) db.session.commit() db.session.flush() - - print('account_id: {} nickname: {} OK'.format(account_id, account_data.get('nickname'))) # break diff --git a/migrations/versions/e75eb58a894e_.py b/migrations/versions/e75eb58a894e_.py new file mode 100644 index 0000000..a8b8fad --- /dev/null +++ b/migrations/versions/e75eb58a894e_.py @@ -0,0 +1,26 @@ +"""empty message + +Revision ID: e75eb58a894e +Revises: 49d6ea45c818 +Create Date: 2017-09-19 01:51:33.902548 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = 'e75eb58a894e' +down_revision = '49d6ea45c818' +branch_labels = None +depends_on = None + + +def upgrade(): + op.add_column( + 'wot_accounts_stats', + sa.Column('last_battle_time', sa.DateTime(), nullable=True)) + + +def downgrade(): + op.drop_column('wot_accounts_stats', 'last_battle_time') diff --git a/wotstats/models/wotaccountsstats.py b/wotstats/models/wotaccountsstats.py index ef72fea..196df84 100644 --- a/wotstats/models/wotaccountsstats.py +++ b/wotstats/models/wotaccountsstats.py @@ -7,6 +7,7 @@ class WotAccountsStats(db.Model): id = db.Column(db.Integer, primary_key=True) account_id = db.Column(db.Integer, db.ForeignKey('wot_accounts.id'), nullable=False) created_at = db.Column(db.DateTime, nullable=False) + last_battle_time = db.Column(db.DateTime, nullable=True) # WG data = db.Column(JSONB, nullable=False, default={}) statistics = db.Column(JSONB, nullable=False, default={}) @@ -15,5 +16,5 @@ class WotAccountsStats(db.Model): # pass def __repr__(self): - return ''.format( - self.id, self.user, self.created_at) + return ''.format( + self.id, self.account_id, self.created_at, self.last_battle_time)