Advertisement
Guest User

Untitled

a guest
Oct 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.25 KB | None | 0 0
  1. # coding=utf-8
  2. from base import BaseActor
  3.  
  4. class DeletingUsers(BaseActor):
  5.  
  6.     def perform_action(self):
  7.         curuser = self._get_options().get('curUser')
  8.         playersInfo = self._get_game_state().get_playersInfo()
  9.         self.cprint (u"7Введите число дней отсутствия соседа для построения списка:")
  10.         print ''
  11.         tim = input()
  12.         times = 0 - int(tim) * 86400000
  13.         friends = filter(lambda s: int(getattr(playersInfo[s],'accessDate',0)) <= times ,playersInfo.keys())
  14.         filename = '%s_delete_%s_days.html'%(curuser,tim)
  15.         open(filename, 'w').write(self.title_tags().encode('utf-8'))
  16.         count = 0
  17.         for friend in friends:
  18.             playerInfo = playersInfo[friend]
  19.             time_unix = int(getattr(playerInfo,'accessDate',0))/(-1000)
  20.             d = time_unix/86400
  21.             h = (time_unix - 86400*d)/3600
  22.             m = (time_unix - 86400*d - 3600*h)/60
  23.             s = time_unix - 86400*d  - 3600*h - 60*m
  24.             if int(str(d)[-1:]) == 0 or 9 < int(str(d)[-2:]) < 21 or 4 < int(str(d)[-1:]) < 10: days = u' дней '
  25.             elif 1 < int(str(d)[-1:]) < 5: days = u' дня '
  26.             else: days = u' день '
  27.             access_time = u'%s %s %s:%s:%s'%(d,days,str(h).rjust(2, '0'),str(m).rjust(2, '0'),str(s).rjust(2, '0'))
  28.             friend_info = self._get_options()['friends_infos'][friend]
  29.             url = friend_info['link']
  30.             name = getattr(playerInfo,'name','')
  31.             first = friend_info['first_name']
  32.             last = friend_info['last_name']
  33.             sms = self.user_tags(url,name,first,last,access_time,friend)
  34.             open(filename, 'a').write(sms.encode('utf-8'))
  35.             count +=1
  36.         need_text = u"3Построил список из^7_%s^3_соседей, которые отсутствовали в игре^7_%s^3_и более дней"%(count,tim)
  37.         self.cprint (need_text)
  38.         print ''
  39.         self.cprint (u"7Создан файл %s"%(filename))
  40.         print ''
  41.         raw_input()
  42.  
  43.     def title_tags(self):
  44.         return u'<meta charset="UTF-8">' \
  45.                 u'<table  BORDER=10>' \
  46.                 u'<tr>' \
  47.                     u'<td><p style="text-align: center;"><b>Ссылка на профиль</b></p>' \
  48.                     u'</td><td><p style="text-align: center;"><b>Ник в игре</b></p>' \
  49.                     u'</td><td><p style="text-align: center;"><b>Имя</b></p>' \
  50.                     u'</td><td><p style="text-align: center;"><b>Фамилия</b></p>' \
  51.                     u'</td><td><p style="text-align: center;"><b>Время отсутствия</b></p>' \
  52.                     u'</td><td><p style="text-align: center;"><b>ID</b></p></td>' \
  53.                 u'</tr>'
  54.  
  55.     def user_tags(self,link_profile,game_nick,first_name,last_name,absence_time,game_id):
  56.         return u'<tr>' \
  57.                     u'<td><a href="%s">%s</a></td>' \
  58.                     u'<td>%s</td>' \
  59.                     u'<td>%s</td>' \
  60.                     u'<td>%s</td>' \
  61.                     u'<td>%s</td>' \
  62.                     u'<td>%s</td>' \
  63.                 u'</tr>'%(link_profile,link_profile,game_nick,first_name,last_name,absence_time,game_id)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement