Skip to content

Commit 5302b0d

Browse files
authored
Update README.md
1 parent 134f05e commit 5302b0d

1 file changed

Lines changed: 65 additions & 1 deletion

File tree

README.md

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,75 @@ GUI and CLI tool for comparing lists.
55
Initially dedicated for comparing lists of terms, this tool can be use for any
66
type 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

Comments
 (0)