Skip to content

Commit

Permalink
添加统计帮助工具
Browse files Browse the repository at this point in the history
  • Loading branch information
lee-cq committed Mar 4, 2024
1 parent 7dcef25 commit 04eae68
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 10 deletions.
20 changes: 12 additions & 8 deletions alist_sync/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import datetime
import hashlib
import logging
import os
import selectors
import sys
import threading
Expand All @@ -23,6 +22,7 @@
"clear_path",
"all_thread_name",
"prefix_in_threads",
"transfer_speed",
]


Expand Down Expand Up @@ -95,19 +95,23 @@ def timeout_input(msg, default, timeout=3):
return default


def transfer_speed(size, start: datetime.datetime, end: datetime.datetime) -> str:
"""转换速度"""
speed = (size * 2) / (end - start).seconds
def beautify_size(speed: float):
if speed < 1024:
return f"{speed:.2f}B/s"
return f"{speed:.2f}B"
speed /= 1024
if speed < 1024:
return f"{speed:.2f}KB/s"
return f"{speed:.2f}KB"
speed /= 1024
if speed < 1024:
return f"{speed:.2f}MB/s"
return f"{speed:.2f}MB"
speed /= 1024
return f"{speed:.2f}GB/s"
return f"{speed:.2f}GB"


def transfer_speed(size, start: datetime.datetime, end: datetime.datetime) -> str:
"""转换速度"""
speed = (size * 2) / (end - start).seconds
return beautify_size(speed) + '/s'


if __name__ == "__main__":
Expand Down
6 changes: 4 additions & 2 deletions alist_sync/d_worker.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

import atexit
import datetime
import logging
Expand All @@ -7,6 +8,7 @@
from pathlib import Path
from queue import Queue, Empty
from typing import Literal, Any, Type
from typing_extensions import Unpack

from pydantic import BaseModel, computed_field, Field
from pymongo.collection import Collection
Expand All @@ -23,7 +25,7 @@

WorkerType = ["delete", "copy"]
# noinspection PyTypeHints
WorkerTypeModify = Literal[*WorkerType]
WorkerTypeModify = Literal[Unpack[WorkerType]]

WorkerStatus = [
"init",
Expand All @@ -36,7 +38,7 @@
"failed",
]
# noinspection PyTypeHints
WorkerStatusModify = Literal[*WorkerTypeModify]
WorkerStatusModify = Literal[Unpack[WorkerTypeModify]]

logger = logging.getLogger("alist-sync.worker")

Expand Down
23 changes: 23 additions & 0 deletions tools/count_owner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
@File Name : count_owner.py
@Author : LeeCQ
@Date-Time : 2024/3/4 12:49
"""
import sys

from alist_sync.config import create_config

sync_config = create_config()

col = sync_config.mongodb.logs
datas = col.find(
{"owner": sys.argv[1]},
)
datas = list(datas)
for d in datas:
print(d["source_path"], d["file_size"])

print(sum(_d["file_size"] for _d in datas if _d["file_size"]))

0 comments on commit 04eae68

Please sign in to comment.