@@ -5,11 +5,75 @@ GUI and CLI tool for comparing lists.
55Initially dedicated for comparing lists of terms, this tool can be use for any
66type of lists.
77
8+ This software can be extended with your own functions that takes two lists in
9+ parameters. Just copy the * example_plugin.py* in the * plugins* folder, and
10+ change the values (see in the __ Plugins__ section later for details).
811
912# Requirements:
1013- Python 3+
11- - Tkinter (GUI)
1214- Pandas (CSV Parser)
15+ - Tkinter (GUI)
16+
17+ # How to use:
18+
19+ ## Graphical User Interface
20+
21+ Just call the graphical user interface by launching :
22+
23+ __ sh ListComparator-GUI.sh__
24+
25+
26+ ## Command Line Interface
27+
28+ If you wish to automatize some comparisons, or make batchs, you can use the CLI.
29+
30+ __ sh ListComparator-CLI.sh__
31+
32+ This command will show you the help. If an error occurs, make sure to remove
33+ the plugins that would create a bug (from the * plugins* folder).
34+ In order to use the CLI, you must give the two input CSV and some options, the
35+ action to do, and the separator of output you wish (eventually the file where
36+ to write, but as it's in a terminal, you can use the redirection tools for this).
37+
38+ Each CSV name is followed by the separator it uses and the column with the data
39+ to compare. For example, for a first CSV named * file1.csv* that uses "," as a
40+ separator and which data are in the 1st column , and a second CSV named
41+ * file2.csv* that uses ";" as a separator and which data are in the 3rd column
42+
43+ __ sh ListComparator-CLI.sh "file1.csv" "," 0 "file2.csv" ";" 2 "UNION" ":"__
44+
45+ This line will execute the ** UNION** operation on them and separate the output
46+ columns with ":".
47+
48+ ## Actions
49+
50+ The list of available actions is shown when you give no arguments to the CLI.
51+ Just use the name in upper case at the left (like the "UNION", "INTERSECTION",
52+ etc...)
53+
54+ # Plugins
55+
56+ In order to add your own operator for comparison, you can add some plugins.
57+ To do so, just copy the * example_plugin.py* in the * plugins* folder, and
58+ change the values.
59+
60+ __ * classname* __ is the name of your class. You must keep the inheritance
61+ from the ** PluginLogic** in order for it to be callable later.
62+
63+ __ name_str__ is the action for calling this function (32 chars max)
64+
65+ __ help_str__ is the description appearing in the usage (256 chars max)
66+
67+ __ button_str__ is the text appearing on the button in the GUI (32 chars max)
68+
69+ __ Logic__ is the method/function that will be called. Do not change its
70+ prototype. Just change the code, and keep in mind it must returns a list of
71+ chars.
72+ (You can return an answer like "True" or "False" alone in the list... but it
73+ must be a list)
74+
75+ __ * Do not change anything else, and do not change the name of any attribute or
76+ method* __
1377
1478
1579# Contributors:
0 commit comments