mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-02-03 00:31:25 -08:00
stats
This commit is contained in:
parent
7d99d5ea9d
commit
375600b382
3 changed files with 33 additions and 2 deletions
|
@ -350,7 +350,7 @@ def actor_json_to_model(activity_json, address, server):
|
||||||
created=activity_json['published'] if 'published' in activity_json else utcnow(),
|
created=activity_json['published'] if 'published' in activity_json else utcnow(),
|
||||||
ap_id=f"{address}@{server}",
|
ap_id=f"{address}@{server}",
|
||||||
ap_public_url=activity_json['id'],
|
ap_public_url=activity_json['id'],
|
||||||
ap_profile_id=activity_json['id'],
|
ap_profile_id=activity_json['id'].lower(),
|
||||||
ap_inbox_url=activity_json['endpoints']['sharedInbox'],
|
ap_inbox_url=activity_json['endpoints']['sharedInbox'],
|
||||||
ap_followers_url=activity_json['followers'] if 'followers' in activity_json else None,
|
ap_followers_url=activity_json['followers'] if 'followers' in activity_json else None,
|
||||||
ap_preferred_username=activity_json['preferredUsername'],
|
ap_preferred_username=activity_json['preferredUsername'],
|
||||||
|
@ -404,7 +404,7 @@ def actor_json_to_model(activity_json, address, server):
|
||||||
last_active=activity_json['updated'] if 'updated' in activity_json else utcnow(),
|
last_active=activity_json['updated'] if 'updated' in activity_json else utcnow(),
|
||||||
ap_id=f"{address[1:]}@{server}" if address.startswith('!') else f"{address}@{server}",
|
ap_id=f"{address[1:]}@{server}" if address.startswith('!') else f"{address}@{server}",
|
||||||
ap_public_url=activity_json['id'],
|
ap_public_url=activity_json['id'],
|
||||||
ap_profile_id=activity_json['id'],
|
ap_profile_id=activity_json['id'].lower(),
|
||||||
ap_followers_url=activity_json['followers'],
|
ap_followers_url=activity_json['followers'],
|
||||||
ap_inbox_url=activity_json['endpoints']['sharedInbox'],
|
ap_inbox_url=activity_json['endpoints']['sharedInbox'],
|
||||||
ap_moderators_url=mods_url,
|
ap_moderators_url=mods_url,
|
||||||
|
|
|
@ -249,6 +249,15 @@ def keyboard_shortcuts():
|
||||||
|
|
||||||
@bp.route('/test')
|
@bp.route('/test')
|
||||||
def test():
|
def test():
|
||||||
|
retval = ''
|
||||||
|
for user in User.query.all():
|
||||||
|
filesize = user.filesize()
|
||||||
|
num_content = user.num_content()
|
||||||
|
if filesize > 0 and num_content > 0:
|
||||||
|
retval += f'{user.id},"{user.ap_id}",{filesize},{num_content}\n'
|
||||||
|
return retval
|
||||||
|
|
||||||
|
return ''
|
||||||
deleted = 0
|
deleted = 0
|
||||||
for user in User.query.all():
|
for user in User.query.all():
|
||||||
if not user.is_local():
|
if not user.is_local():
|
||||||
|
|
|
@ -118,6 +118,14 @@ class File(db.Model):
|
||||||
if self.thumbnail_path and os.path.isfile(self.thumbnail_path):
|
if self.thumbnail_path and os.path.isfile(self.thumbnail_path):
|
||||||
os.unlink(self.thumbnail_path)
|
os.unlink(self.thumbnail_path)
|
||||||
|
|
||||||
|
def filesize(self):
|
||||||
|
size = 0
|
||||||
|
if self.file_path and os.path.exists(self.file_path):
|
||||||
|
size += os.path.getsize(self.file_path)
|
||||||
|
if self.thumbnail_path and os.path.exists(self.thumbnail_path):
|
||||||
|
size += os.path.getsize(self.thumbnail_path)
|
||||||
|
return size
|
||||||
|
|
||||||
|
|
||||||
class Topic(db.Model):
|
class Topic(db.Model):
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
@ -445,6 +453,20 @@ class User(UserMixin, db.Model):
|
||||||
return self.cover.source_url
|
return self.cover.source_url
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
def filesize(self):
|
||||||
|
size = 0
|
||||||
|
if self.avatar_id:
|
||||||
|
size += self.avatar.filesize()
|
||||||
|
if self.cover_id:
|
||||||
|
size += self.cover.filesize()
|
||||||
|
return size
|
||||||
|
|
||||||
|
def num_content(self):
|
||||||
|
content = 0
|
||||||
|
content += db.session.execute(text('SELECT COUNT(id) as c FROM "post" WHERE user_id = ' + str(self.id))).scalar()
|
||||||
|
content += db.session.execute(text('SELECT COUNT(id) as c FROM "post_reply" WHERE user_id = ' + str(self.id))).scalar()
|
||||||
|
return content
|
||||||
|
|
||||||
def is_local(self):
|
def is_local(self):
|
||||||
return self.ap_id is None or self.ap_profile_id.startswith('https://' + current_app.config['SERVER_NAME'])
|
return self.ap_id is None or self.ap_profile_id.startswith('https://' + current_app.config['SERVER_NAME'])
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue