コード例 #1
0
 def check_reached_submit_limit(self):
     if not self.is_under_limit:
         return False
     daily_submit_count = MediaSubmitArticleLog.objects(
         media_id=str(self.id),
         date=str(time_utils.get_india_now().date())).count()
     return daily_submit_count >= self.daily_submit_limit
コード例 #2
0
 def is_under_limit(self):
     if not self.limit_end_at:
         return False
     now = time_utils.get_india_now()
     if now > self.limit_end_at:
         return False
     return True
コード例 #3
0
 def add_submit_log(self, article_id):
     try:
         MediaSubmitArticleLog.objects.create(
             media_id=str(self.id),
             article_id=article_id,
             date=str(time_utils.get_india_now().date()))
     except NotUniqueError:
         return
コード例 #4
0
 def check_internship_submit_limit(self, article_id=None):
     if not self.is_internship:
         return False
     if article_id:
         article_submit_count = MediaSubmitArticleLog.objects(
             media_id=str(self.id), article_id=str(article_id)).count()
         if article_submit_count > 0:
             return False
     daily_submit_count = MediaSubmitArticleLog.objects(
         media_id=str(self.id),
         date=str(time_utils.get_india_now().date())).count()
     return daily_submit_count >= self.daily_submit_limit
コード例 #5
0
ファイル: requests.py プロジェクト: cnntoken/bragi4wemedia
 def process_get_params(self, request):
     days = int(request.GET.get('days', 7))
     count = int(request.GET.get('count', 10))
     end_date_str = request.GET.get('end_date')
     if end_date_str:
         end_time = datetime.datetime.strptime(end_date_str, '%Y-%m-%d')
         end_time += ONE_DAY
     else:
         india_now = time_utils.get_india_now()
         end_time = datetime.datetime(india_now.year, india_now.month,
                                      india_now.day, 0, 0, 0)
         end_time += ONE_DAY
     start_time = end_time - datetime.timedelta(days)
     return start_time, end_time, count
コード例 #6
0
 def limit_media(self, request, limit_days, daily_limit, limit_reason):
     limit_end_time = time_utils.get_india_now() + datetime.timedelta(
         int(limit_days))
     self.limit_end_at = datetime.datetime(limit_end_time.year,
                                           limit_end_time.month,
                                           limit_end_time.day)
     self.limit_reason = limit_reason
     self.daily_submit_limit = daily_limit
     self.save()
     notify_utils.create_media_limit_notification(self)
     content = MEDIA_AMDIN_OPERATE_LIMIT_POST_CONTENT_TEMPL % (daily_limit,
                                                               limit_days)
     MediaAdminOperateLog.generate_log(request, str(self.id),
                                       MEDIA_AMDIN_OPERATE_TYPE_LIMIT_POST,
                                       content)
     mpu = MediaPromotionUser.objects(media_id=str(self.id)).first()
     mpu.banned_promotion_user()
コード例 #7
0
ファイル: api_views.py プロジェクト: cnntoken/bragi4wemedia
 def post(self, request):
     data = request.DATA
     india_now = time_utils.get_india_now()
     if india_now.day > MEDIA_WITHDRAW_TIME[
             'upper'] or india_now.day < MEDIA_WITHDRAW_TIME['lower']:
         raise MediaAccountWithDrawNotInTime
     if not data:
         raise ParamError
     amount = float(data.get('amount', 0))
     if self.media_account.has_paytm():
         if amount <= 0:
             raise ParamError
     else:
         if amount <= BANKCARD_WITHDRAW_BASE_LINE:
             raise ParamError
     total_revenue = self.media_account.total_revenue or 0
     total_withdraw = self.media_account.total_withdraw or 0
     _, _, total_balance = MediaAccount.calc_balance(
         total_revenue, total_withdraw)
     if amount > total_balance:
         raise ParamError
     payment_info = self.media_account.payment_info
     if not payment_info or not all(payment_info.values()):
         raise MediaBankInfoNotExist
     MediaAccount.objects(id=str(self.media_account.id)).update(
         inc__total_withdraw=amount)
     now = datetime.datetime.utcnow()
     with_draw = WithDraw.objects.create(media_id=str(
         self.media_account.id),
                                         user_id=str(request.user.id),
                                         payment_info=payment_info,
                                         amount=amount,
                                         create_at=now,
                                         status=WD_STATUS_SUMBMITTED)
     self.media_account = MediaAccount.objects(
         id=str(self.media_account.id)).first()
     withdraw_stat = self.media_account.withdraw_stat()
     withdraw_stat['id'] = str(with_draw.id)
     return withdraw_stat