File: fs.py

package info (click to toggle)
dupeguru 4.3.1-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,604 kB
  • sloc: python: 16,846; ansic: 424; makefile: 123
file content (48 lines) | stat: -rw-r--r-- 1,503 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Created By: Virgil Dupras
# Created On: 2013-07-14
# Copyright 2015 Hardcoded Software (http://www.hardcoded.net)
#
# This software is licensed under the "GPLv3" License as described in the "LICENSE" file,
# which should be included with this package. The terms are also available at
# http://www.gnu.org/licenses/gpl-3.0.html

from hscommon.util import format_size

from core import fs
from core.util import format_timestamp, format_perc, format_words, format_dupe_count


def get_display_info(dupe, group, delta):
    size = dupe.size
    mtime = dupe.mtime
    m = group.get_match_of(dupe)
    if m:
        percentage = m.percentage
        dupe_count = 0
        if delta:
            r = group.ref
            size -= r.size
            mtime -= r.mtime
    else:
        percentage = group.percentage
        dupe_count = len(group.dupes)
    return {
        "name": dupe.name,
        "folder_path": str(dupe.folder_path),
        "size": format_size(size, 0, 1, False),
        "extension": dupe.extension,
        "mtime": format_timestamp(mtime, delta and m),
        "percentage": format_perc(percentage),
        "words": format_words(dupe.words) if hasattr(dupe, "words") else "",
        "dupe_count": format_dupe_count(dupe_count),
    }


class File(fs.File):
    def get_display_info(self, group, delta):
        return get_display_info(self, group, delta)


class Folder(fs.Folder):
    def get_display_info(self, group, delta):
        return get_display_info(self, group, delta)