Welcome, Guest
General discussion about ComicRack

TOPIC: Show Duplicates

Show Duplicates 8 years 11 months ago #2779

  • snitch7
  • snitch7's Avatar
  • Offline
  • Senior Boarder
  • Posts: 61
  • Karma: 0
How does this new feature work?
By filename/size and or some fancy algorithm?
Are the shown files only the duplicates or does it show both?
Can you delete the dupes?
The administrator has disabled public write access.

Re:Show Duplicates 8 years 11 months ago #2794

  • Alan Scott
  • Alan Scott's Avatar
  • Offline
  • Gold Boarder
  • Posts: 264
  • Thank you received: 20
  • Karma: 10
A couple answers to hold you over until cYo gets to this.

I'm pretty sure it works by the tags. Size has, as far as I can tell, no bearing on what gets parsed. Seems to be as simple as Series and Number matches. Volume seems to play a part too, as I've has a couple where the volume on one was "1" and the other blank, and no duplicate set was parsed. The shown files are both.

You can do the standard delete; just choose the one you wish to discard. When you delete, the library will refresh and both issues will no longer appear as dupes.

It works pretty good. As of yet I've only had one issue; it seems to have a limit on how many is shown. I've had to go through a bunch before it will show more. I couldn't tell you how much the limit is, though I want to say it's arbitrary, as I've not seen a set amount. I would guess that it is a bug.
... The failure to appreciate... is perfectly understandable, because the readership never evaluates old material in the context of the cultural climate in which it was created, or the state of the art at the time it was created.
Marty Pasko
The administrator has disabled public write access.

Re:Show Duplicates 8 years 11 months ago #2801

  • cYo
  • cYo's Avatar
  • Offline
  • Moderator
  • Posts: 3476
  • Thank you received: 676
  • Karma: 182
There should be no size limit.
public class ComicBookDublicateComparer : Comparer<ComicBook>
    {
        public override int Compare(ComicBook x, ComicBook y)
        {
            int c = string.Compare (StringUtility.Compress(x.ShadowSeries), StringUtility.Compress(y.ShadowSeries), true);
            if (c != 0)
                return c;

            c = string.Compare(x.Format, y.Format);
            if (c != 0)
                return c;

            c = Math.Sign(x.ShadowVolume - y.ShadowVolume);
            if (c != 0)
                return c;

            c = string.Compare(x.ShadowNumber, y.ShadowNumber);
            if (c != 0)
                return c;

            c = string.Compare(x.LanguageISO, y.LanguageISO);
            if (c != 0)
                return c;

            if (x.ShadowYear != -1 && y.ShadowYear != -1)
            {
                c = Math.Sign(x.ShadowYear - y.ShadowYear);
                if (c != 0)
                    return c;
            }

            c = Math.Sign((int)x.BlackAndWhite - (int)y.BlackAndWhite);
            return c;
        }
    }
The administrator has disabled public write access.
Time to create page: 0.162 seconds

Who's Online

We have 232 guests and one member online