Sorting

Note

While using the multiprocessing option, the data are tested as given.

Why do we need it?

Because sorted is better, we sort by default!

How does it work?

Note

Want to read the code ? It’s here: Sort()!

Alphabetically

This is the default one. The default python sorted() function is used for that purpose.

Hierarchically

The objective of this is to provide sorting by service/domains.

Note

This is a simplified version of what we actually do.

  1. Let’s say we have aaa.bbb.ccc.tdl.

    Note

    The TDL part is determined. Indeed we first look at the IANA Root Zone database, then at the Public Suffix List.

  2. Let’s split the points. We then get a list [aaa, bbb, ccc, tdl]

  3. Put the TDL first. It will gives us [tdl, aaa, bbb, ccc]

  4. Reverse everything after the TDL. It will gives us [tdl, ccc, bbb, aaa].

  5. Get the string to use for sorting. It will gives us tdl.ccc.bbb.aaa.

How to activate the hierarchical sorting?

Simply change

hierarchical_sorting: False

to

hierarchical_sorting: True

into your personal .PyFunceble.yaml or use the --hierarchical argument from the CLI to activate it.