##// END OF EJS Templates
Feed of posts for the specific IP (works only for moderators who can delete posts)
Feed of posts for the specific IP (works only for moderators who can delete posts)

File last commit:

r1618:5e3e9d01 default
r1641:d57d7e7e default
Show More
authors.py
41 lines | 1.3 KiB | text/x-python | PythonLexer
import os
from django.shortcuts import render
import neboard
from boards.authors import authors
from boards.utils import cached_result
from boards.views.base import BaseBoardView
from boards.models import Post
PARAM_AUTHORS = 'authors'
PARAM_MEDIA_SIZE = 'media_size'
PARAM_POST_COUNT = 'post_count'
PARAM_POST_PER_DAY = 'post_per_day'
PARAM_POST_PER_WEEK = 'post_per_week'
PARAM_POST_PER_MONTH = 'post_per_month'
class AuthorsView(BaseBoardView):
def get(self, request):
params = dict()
params[PARAM_AUTHORS] = authors
params[PARAM_MEDIA_SIZE] = self._get_directory_size(neboard.settings.MEDIA_ROOT)
params[PARAM_POST_COUNT] = Post.objects.count()
params[PARAM_POST_PER_DAY] = Post.objects.get_post_per_days(1)
params[PARAM_POST_PER_WEEK] = Post.objects.get_post_per_days(7)
params[PARAM_POST_PER_MONTH] = Post.objects.get_post_per_days(30)
return render(request, 'boards/authors.html', params)
@cached_result()
def _get_directory_size(self, directory):
total_size = 0
for dirpath, dirnames, filenames in os.walk(directory):
for f in filenames:
fp = os.path.join(dirpath, f)
total_size += os.path.getsize(fp)
return total_size