DroneTimeline is a forensic timeline analysis tool for drone.
- Python 3.8
- PyQt5
- pluggy 1.0.0
-
Clone the repository
git clone https://github.com/studiawan/dronetimeline.git
-
Setup virtual environment
python -m venv venv
-
Activate the virtual environment
source venv/bin/activate
-
Install the requirements
pip install -r requirements.txt
-
Run setup.py
python setup.py install
-
Run the DroneTimeLine application
dronetimeline
-
The order of the run: select case directory, import timeline, merge the timelines, and show merged timeline.
-
To select case directory, choose File → Select Case Directory
-
To import timeline, click File → Import Timeline
-
We then can merge the imported timelines by clicking Timeline → Merge Timelines
-
Finally, we can check the merged timeline by choosing Timeline → Show Merged Timeline
For example, we want to create a plugin to add a new menu to the menu bar. The plugin name is DtGUI-myplugin
and the plugin is implementing DtGUI
hookspecs.
- Create a new directory
DtGUI-myplugin
insrc/plugins
. - Create a new file for example
add_new_menu.py
in theDtGUI-myplugin
directory. This file will contain the implementation of the DtGUI hookspecs. For example we want to add a new menu into menu bar, we can implement theinit_menu
hookspecs. The implementation is as follows:import DtGUI from PyQt5.QtWidgets import ( QAction, ) @DtGUI.hookimpl def init_menu(DtGUIObj): # application menu menubar = DtGUIObj.menuBar() # File menu new_menu = menubar.addMenu('&New Customized Menu') # File menu action newmenu_act = QAction('&Select something', DtGUIObj) newmenu_act.setShortcut('Ctrl+P') newmenu_act.setStatusTip('Select something') def newmenu_trigger(): DtGUIObj.show_info_messagebox('You have selected the new menu') newmenu_act.triggered.connect(newmenu_trigger) new_menu.addAction(newmenu_act)
- Create a new file
setup.py
in theDtGUI-myplugin
directory to package and distribute the plugin. The content of thesetup.py
is as follows:from setuptools import setup setup( name="DtGUI-myplugin", version="1.0.0", description="DtGUI-myplugin", author="Your Name", author_email="example@example.com", url="", entry_points={ "DtGUI": ["myplugin = add_new_menu"], }, install_requires=[ "DtGUI", ] )
- Install the plugin
pip install --editable src/plugins/DtGUI-myplugin
MIT License.