boris-behav-obs 8.27.6__tar.gz → 8.27.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {boris_behav_obs-8.27.6/boris_behav_obs.egg-info → boris_behav_obs-8.27.8}/PKG-INFO +3 -3
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/README.rst +2 -2
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/core.py +1 -1
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/mpv2.py +2 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/player_dock_widget.py +1 -1
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/preferences.py +2 -2
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/project.py +23 -5
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/project_functions.py +19 -10
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/utilities.py +13 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/version.py +2 -2
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8/boris_behav_obs.egg-info}/PKG-INFO +3 -3
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/pyproject.toml +2 -2
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/LICENSE.TXT +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/MANIFEST.in +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/README.TXT +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/__main__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/about.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/add_modifier.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/add_modifier_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/advanced_event_filtering.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/behav_coding_map_creator.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/behavior_binary_table.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/behaviors_coding_map.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/boris_cli.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/cmd_arguments.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/coding_pad.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/config.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/config_file.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/connections.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/converters.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/converters_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/cooccurence.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/core_qrc.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/core_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/db_functions.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/dev.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/dialog.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/duration_widget.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/edit_event.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/edit_event_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/event_operations.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/events_cursor.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/events_snapshots.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/exclusion_matrix.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/export_events.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/export_observation.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/external_processes.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/geometric_measurement.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/gui_utilities.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/image_overlay.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/import_observations.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/irr.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/latency.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/map_creator.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/measurement_widget.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/media_file.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/menu_options.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/modifiers_coding_map.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/mpv-1.0.3.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/mpv.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/observation.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/observation_operations.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/observation_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/observations_list.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/otx_parser.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/param_panel.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/param_panel_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/plot_data_module.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/plot_events.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/plot_events_rt.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/plot_spectrogram_rt.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/plot_waveform_rt.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/portion/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/portion/const.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/portion/dict.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/portion/func.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/portion/interval.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/portion/io.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/preferences_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/project_import_export.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/project_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/__main__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/colorsystem.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/dark/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/dark/darkstyle_rc.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/dark/palette.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/example/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/example/__main__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/example/ui/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/light/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/light/lightstyle_rc.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/light/palette.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/palette.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/utils/__init__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/utils/__main__.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/utils/images.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qdarkstyle/utils/scss.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qrc_boris.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/qrc_boris5.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/select_modifiers.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/select_observations.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/select_subj_behav.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/state_events.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/subjects_pad.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/synthetic_time_budget.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/time_budget_functions.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/time_budget_widget.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/transitions.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/video_equalizer.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/video_equalizer_ui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/video_operations.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/vlc_local.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris/write_event.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris_behav_obs.egg-info/SOURCES.txt +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris_behav_obs.egg-info/dependency_links.txt +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris_behav_obs.egg-info/entry_points.txt +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris_behav_obs.egg-info/requires.txt +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris_behav_obs.egg-info/top_level.txt +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/setup.cfg +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_db_functions.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_export_observation.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_irr.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_observation_gui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_otx_parser.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_preferences_gui.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_project_functions.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_time_budget.py +0 -0
- {boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/tests/test_utilities.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: boris-behav-obs
|
|
3
|
-
Version: 8.27.
|
|
3
|
+
Version: 8.27.8
|
|
4
4
|
Summary: BORIS - Behavioral Observation Research Interactive Software
|
|
5
5
|
Author-email: Olivier Friard <olivier.friard@unito.it>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -720,11 +720,11 @@ BORIS (Behavioral Observation Research Interactive Software)
|
|
|
720
720
|
BORIS is an easy-to-use event logging software for video/audio coding or live observations.
|
|
721
721
|
|
|
722
722
|
BORIS is a free and open-source software available for GNU/Linux and Windows.
|
|
723
|
-
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see `BORIS on MacOS <
|
|
723
|
+
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see `BORIS on MacOS <https://www.boris.unito.it/download_mac/>`_.
|
|
724
724
|
|
|
725
725
|
It provides also some analysis tools like time budget and some plotting functions.
|
|
726
726
|
|
|
727
|
-
The BORIS paper has more than `1700 citations in peer-reviewed scientific publications <
|
|
727
|
+
The BORIS paper has more than `1700 citations in peer-reviewed scientific publications <https://www.boris.unito.it/citations/>`_.
|
|
728
728
|
|
|
729
729
|
See http://www.boris.unito.it
|
|
730
730
|
|
|
@@ -9,11 +9,11 @@ BORIS (Behavioral Observation Research Interactive Software)
|
|
|
9
9
|
BORIS is an easy-to-use event logging software for video/audio coding or live observations.
|
|
10
10
|
|
|
11
11
|
BORIS is a free and open-source software available for GNU/Linux and Windows.
|
|
12
|
-
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see `BORIS on MacOS <
|
|
12
|
+
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see `BORIS on MacOS <https://www.boris.unito.it/download_mac/>`_.
|
|
13
13
|
|
|
14
14
|
It provides also some analysis tools like time budget and some plotting functions.
|
|
15
15
|
|
|
16
|
-
The BORIS paper has more than `1700 citations in peer-reviewed scientific publications <
|
|
16
|
+
The BORIS paper has more than `1700 citations in peer-reviewed scientific publications <https://www.boris.unito.it/citations/>`_.
|
|
17
17
|
|
|
18
18
|
See http://www.boris.unito.it
|
|
19
19
|
|
|
@@ -472,7 +472,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|
|
472
472
|
"""
|
|
473
473
|
allow to block Qdockwidgets on main window because they can have a strange behavior specially on Mac
|
|
474
474
|
"""
|
|
475
|
-
for w in
|
|
475
|
+
for w in (self.dwEvents, self.dwEthogram, self.dwSubjects):
|
|
476
476
|
if self.action_block_dockwidgets.isChecked():
|
|
477
477
|
w.setFloating(False)
|
|
478
478
|
w.setFeatures(QDockWidget.NoDockWidgetFeatures)
|
|
@@ -117,7 +117,7 @@ class DW_player(QDockWidget):
|
|
|
117
117
|
|
|
118
118
|
self.player = mpv.MPV(
|
|
119
119
|
wid=str(int(self.videoframe.winId())),
|
|
120
|
-
|
|
120
|
+
vo="x11" if sys.platform.startswith("linux") else "",
|
|
121
121
|
log_handler=functools.partial(mpv_logger, self.id_),
|
|
122
122
|
loglevel="debug",
|
|
123
123
|
)
|
|
@@ -146,7 +146,7 @@ def preferences(self):
|
|
|
146
146
|
cfg.MPV_HWDEC_OPTIONS.index(self.config_param.get(cfg.MPV_HWDEC, cfg.MPV_HWDEC_DEFAULT_VALUE))
|
|
147
147
|
)
|
|
148
148
|
except Exception:
|
|
149
|
-
preferencesWindow.cb_hwdec.setCurrentIndex(cfg.MPV_HWDEC_DEFAULT_VALUE)
|
|
149
|
+
preferencesWindow.cb_hwdec.setCurrentIndex(cfg.MPV_HWDEC_OPTIONS.index(cfg.MPV_HWDEC_DEFAULT_VALUE))
|
|
150
150
|
|
|
151
151
|
# PROJET FILE INDENTATION
|
|
152
152
|
preferencesWindow.combo_project_file_indentation.clear()
|
|
@@ -286,7 +286,7 @@ def preferences(self):
|
|
|
286
286
|
# interface
|
|
287
287
|
self.config_param[cfg.TOOLBAR_ICON_SIZE] = preferencesWindow.sb_toolbar_icon_size.value()
|
|
288
288
|
self.config_param[cfg.DARK_MODE] = preferencesWindow.cb_darkmode.isChecked()
|
|
289
|
-
if self.config_param
|
|
289
|
+
if self.config_param.get(cfg.DARK_MODE, cfg.DEFAULT_FRAME_MODE):
|
|
290
290
|
self.setStyleSheet(qdarkstyle.load_stylesheet(qt_api="pyqt5"))
|
|
291
291
|
else:
|
|
292
292
|
self.setStyleSheet("")
|
|
@@ -430,7 +430,7 @@ class projectDialog(QDialog, Ui_dlgProject):
|
|
|
430
430
|
"""
|
|
431
431
|
return a color for the not editable column
|
|
432
432
|
"""
|
|
433
|
-
if self.config_param
|
|
433
|
+
if self.config_param.get(cfg.DARK_MODE, cfg.DEFAULT_FRAME_MODE):
|
|
434
434
|
return QColor(55, 65, 79)
|
|
435
435
|
else:
|
|
436
436
|
return QColor(230, 230, 230)
|
|
@@ -730,7 +730,7 @@ class projectDialog(QDialog, Ui_dlgProject):
|
|
|
730
730
|
behavioral categories manager
|
|
731
731
|
"""
|
|
732
732
|
|
|
733
|
-
bc = BehavioralCategories(self.pj, self.config_param
|
|
733
|
+
bc = BehavioralCategories(self.pj, self.config_param.get(cfg.DARK_MODE, cfg.DEFAULT_FRAME_MODE))
|
|
734
734
|
|
|
735
735
|
if bc.exec_():
|
|
736
736
|
self.pj[cfg.BEHAVIORAL_CATEGORIES] = []
|
|
@@ -1836,10 +1836,9 @@ class projectDialog(QDialog, Ui_dlgProject):
|
|
|
1836
1836
|
# check subjects
|
|
1837
1837
|
for row in range(self.twSubjects.rowCount()):
|
|
1838
1838
|
# check key
|
|
1839
|
+
key: str = ""
|
|
1839
1840
|
if self.twSubjects.item(row, 0):
|
|
1840
1841
|
key = self.twSubjects.item(row, 0).text()
|
|
1841
|
-
else:
|
|
1842
|
-
key = ""
|
|
1843
1842
|
|
|
1844
1843
|
# check subject name
|
|
1845
1844
|
if self.twSubjects.item(row, 1):
|
|
@@ -1865,7 +1864,7 @@ class projectDialog(QDialog, Ui_dlgProject):
|
|
|
1865
1864
|
return
|
|
1866
1865
|
|
|
1867
1866
|
# description
|
|
1868
|
-
subjectDescription = ""
|
|
1867
|
+
subjectDescription: str = ""
|
|
1869
1868
|
if self.twSubjects.item(row, 2):
|
|
1870
1869
|
subjectDescription = self.twSubjects.item(row, 2).text().strip()
|
|
1871
1870
|
|
|
@@ -1875,6 +1874,25 @@ class projectDialog(QDialog, Ui_dlgProject):
|
|
|
1875
1874
|
"description": subjectDescription,
|
|
1876
1875
|
}
|
|
1877
1876
|
|
|
1877
|
+
# check if coded subjects are defined in the subjects list
|
|
1878
|
+
subjects_list: list = [self.subjects_conf[x]["name"] for x in self.subjects_conf]
|
|
1879
|
+
coded_subjects = set(
|
|
1880
|
+
util.flatten_list([[y[1] for y in self.pj[cfg.OBSERVATIONS][x].get(cfg.EVENTS, [])] for x in self.pj[cfg.OBSERVATIONS]])
|
|
1881
|
+
)
|
|
1882
|
+
|
|
1883
|
+
not_defined_subjects: list = []
|
|
1884
|
+
for subject in coded_subjects:
|
|
1885
|
+
if subject and subject not in subjects_list:
|
|
1886
|
+
not_defined_subjects.append(subject)
|
|
1887
|
+
|
|
1888
|
+
if not_defined_subjects:
|
|
1889
|
+
QMessageBox.warning(
|
|
1890
|
+
self,
|
|
1891
|
+
cfg.programName,
|
|
1892
|
+
f"The coded subject(s) <b>{', '.join(not_defined_subjects)}</b> is/are not defined in the subjects list.<br>You can use the <b>Explore project</b> to fix it.",
|
|
1893
|
+
)
|
|
1894
|
+
return
|
|
1895
|
+
|
|
1878
1896
|
self.pj[cfg.SUBJECTS] = dict(self.subjects_conf)
|
|
1879
1897
|
|
|
1880
1898
|
# check ethogram
|
|
@@ -379,15 +379,16 @@ def check_project_integrity(
|
|
|
379
379
|
media_file_available: bool = True,
|
|
380
380
|
) -> str:
|
|
381
381
|
"""
|
|
382
|
-
check project integrity
|
|
383
|
-
check if behaviors
|
|
384
|
-
check unpaired state events
|
|
385
|
-
check if timestamp between -2147483647 and 2147483647 (2**31 - 1)
|
|
386
|
-
check if behavior belong to behavioral category that do not more exist
|
|
387
|
-
check for leading and trailing spaces and special chars in modifiers
|
|
388
|
-
check if media file are available
|
|
389
|
-
check if media length available
|
|
390
|
-
check independent variables
|
|
382
|
+
check project integrity:
|
|
383
|
+
* check if coded behaviors are defined in ethogram
|
|
384
|
+
* check unpaired state events
|
|
385
|
+
* check if timestamp between -2147483647 and 2147483647 (2**31 - 1)
|
|
386
|
+
* check if behavior belong to behavioral category that do not more exist
|
|
387
|
+
* check for leading and trailing spaces and special chars in modifiers
|
|
388
|
+
* check if media file are available (optional)
|
|
389
|
+
* check if media length available
|
|
390
|
+
* check independent variables
|
|
391
|
+
* check if coded subjects are defines
|
|
391
392
|
|
|
392
393
|
Args:
|
|
393
394
|
pj (dict): BORIS project
|
|
@@ -398,7 +399,7 @@ def check_project_integrity(
|
|
|
398
399
|
Returns:
|
|
399
400
|
str: message
|
|
400
401
|
"""
|
|
401
|
-
out = ""
|
|
402
|
+
out: str = ""
|
|
402
403
|
|
|
403
404
|
# check if coded behaviors are defined in ethogram
|
|
404
405
|
r = check_coded_behaviors(pj)
|
|
@@ -521,6 +522,14 @@ def check_project_integrity(
|
|
|
521
522
|
f" is not allowed for {var_label} (choose between {defined_set_var_label[var_label]})<br>"
|
|
522
523
|
)
|
|
523
524
|
|
|
525
|
+
# check if coded subjects are defined in the subjects list
|
|
526
|
+
subjects_list: list = [pj[cfg.SUBJECTS][x]["name"] for x in pj[cfg.SUBJECTS]]
|
|
527
|
+
coded_subjects = set(util.flatten_list([[y[1] for y in pj[cfg.OBSERVATIONS][x].get(cfg.EVENTS, [])] for x in pj[cfg.OBSERVATIONS]]))
|
|
528
|
+
|
|
529
|
+
for subject in coded_subjects:
|
|
530
|
+
if subject and subject not in subjects_list:
|
|
531
|
+
out += f"The coded subject <b>{subject}</b> is not defined in the subjects list.<br>You can use the <b>Explore project</b> to fix it.<br><br>"
|
|
532
|
+
|
|
524
533
|
return out
|
|
525
534
|
|
|
526
535
|
|
|
@@ -505,6 +505,19 @@ def group_events(pj: dict, obs_id: str, include_modifiers: bool = False) -> dict
|
|
|
505
505
|
return {"error": ""}
|
|
506
506
|
|
|
507
507
|
|
|
508
|
+
def flatten_list(nested_list) -> list:
|
|
509
|
+
"""
|
|
510
|
+
Flatten a list of lists.
|
|
511
|
+
"""
|
|
512
|
+
flattened: list = []
|
|
513
|
+
for item in nested_list:
|
|
514
|
+
if isinstance(item, list):
|
|
515
|
+
flattened.extend(flatten_list(item))
|
|
516
|
+
else:
|
|
517
|
+
flattened.append(item)
|
|
518
|
+
return flattened
|
|
519
|
+
|
|
520
|
+
|
|
508
521
|
def get_current_states_modifiers_by_subject(
|
|
509
522
|
state_behaviors_codes: list, events: list, subjects: dict, time_: dec, include_modifiers: bool = False
|
|
510
523
|
) -> dict:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: boris-behav-obs
|
|
3
|
-
Version: 8.27.
|
|
3
|
+
Version: 8.27.8
|
|
4
4
|
Summary: BORIS - Behavioral Observation Research Interactive Software
|
|
5
5
|
Author-email: Olivier Friard <olivier.friard@unito.it>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -720,11 +720,11 @@ BORIS (Behavioral Observation Research Interactive Software)
|
|
|
720
720
|
BORIS is an easy-to-use event logging software for video/audio coding or live observations.
|
|
721
721
|
|
|
722
722
|
BORIS is a free and open-source software available for GNU/Linux and Windows.
|
|
723
|
-
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see `BORIS on MacOS <
|
|
723
|
+
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see `BORIS on MacOS <https://www.boris.unito.it/download_mac/>`_.
|
|
724
724
|
|
|
725
725
|
It provides also some analysis tools like time budget and some plotting functions.
|
|
726
726
|
|
|
727
|
-
The BORIS paper has more than `1700 citations in peer-reviewed scientific publications <
|
|
727
|
+
The BORIS paper has more than `1700 citations in peer-reviewed scientific publications <https://www.boris.unito.it/citations/>`_.
|
|
728
728
|
|
|
729
729
|
See http://www.boris.unito.it
|
|
730
730
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "boris-behav-obs"
|
|
3
|
-
version = "8.27.
|
|
3
|
+
version = "8.27.8"
|
|
4
4
|
description = "BORIS - Behavioral Observation Research Interactive Software"
|
|
5
5
|
authors = [{ name="Olivier Friard", email="olivier.friard@unito.it" }]
|
|
6
6
|
readme = "README.rst"
|
|
@@ -58,7 +58,7 @@ line-length = 140
|
|
|
58
58
|
exclude = ["*_ui.py", "mpv*"]
|
|
59
59
|
|
|
60
60
|
[tool.bumpver]
|
|
61
|
-
current_version = "8.27.
|
|
61
|
+
current_version = "8.27.8"
|
|
62
62
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
63
63
|
|
|
64
64
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boris_behav_obs-8.27.6 → boris_behav_obs-8.27.8}/boris_behav_obs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|