boris-behav-obs 9.0.2__py2.py3-none-any.whl → 9.0.4__py2.py3-none-any.whl

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.
Files changed (80) hide show
  1. boris/__init__.py +1 -1
  2. boris/__main__.py +1 -1
  3. boris/about.py +2 -2
  4. boris/add_modifier.py +1 -1
  5. boris/add_modifier_ui.py +22 -22
  6. boris/advanced_event_filtering.py +1 -1
  7. boris/analysis_plugins/number_of_occurences.py +6 -3
  8. boris/analysis_plugins/number_of_occurences_by_independent_variable.py +6 -4
  9. boris/analysis_plugins/time_budget.py +24 -14
  10. boris/behav_coding_map_creator.py +1 -1
  11. boris/behavior_binary_table.py +1 -1
  12. boris/behaviors_coding_map.py +1 -1
  13. boris/boris_cli.py +1 -1
  14. boris/cmd_arguments.py +1 -1
  15. boris/coding_pad.py +1 -1
  16. boris/config.py +16 -9
  17. boris/config_file.py +1 -1
  18. boris/connections.py +1 -1
  19. boris/converters.py +1 -1
  20. boris/cooccurence.py +1 -1
  21. boris/core.py +143 -176
  22. boris/db_functions.py +1 -1
  23. boris/dialog.py +10 -277
  24. boris/edit_event.py +8 -1
  25. boris/event_operations.py +1 -1
  26. boris/events_cursor.py +1 -1
  27. boris/events_snapshots.py +1 -1
  28. boris/exclusion_matrix.py +1 -1
  29. boris/export_events.py +1 -1
  30. boris/export_observation.py +1 -1
  31. boris/external_processes.py +1 -1
  32. boris/geometric_measurement.py +1 -1
  33. boris/gui_utilities.py +1 -1
  34. boris/image_overlay.py +1 -1
  35. boris/import_observations.py +1 -1
  36. boris/irr.py +1 -1
  37. boris/latency.py +1 -1
  38. boris/map_creator.py +1 -1
  39. boris/measurement_widget.py +1 -1
  40. boris/media_file.py +1 -1
  41. boris/menu_options.py +1 -1
  42. boris/modifiers_coding_map.py +1 -1
  43. boris/observation.py +1 -1
  44. boris/observation_operations.py +530 -425
  45. boris/observations_list.py +3 -3
  46. boris/otx_parser.py +1 -1
  47. boris/param_panel.py +1 -1
  48. boris/player_dock_widget.py +13 -9
  49. boris/plot_data_module.py +1 -1
  50. boris/plot_events.py +1 -1
  51. boris/plot_events_rt.py +1 -1
  52. boris/plot_spectrogram_rt.py +1 -1
  53. boris/plot_waveform_rt.py +1 -1
  54. boris/plugins.py +2 -2
  55. boris/preferences.py +6 -1
  56. boris/preferences_ui.py +7 -1
  57. boris/project.py +1 -1
  58. boris/project_functions.py +73 -76
  59. boris/project_import_export.py +1 -1
  60. boris/select_modifiers.py +1 -1
  61. boris/select_observations.py +6 -6
  62. boris/select_subj_behav.py +1 -1
  63. boris/state_events.py +1 -1
  64. boris/subjects_pad.py +1 -1
  65. boris/synthetic_time_budget.py +1 -1
  66. boris/time_budget_functions.py +1 -1
  67. boris/time_budget_widget.py +5 -5
  68. boris/transitions.py +1 -1
  69. boris/utilities.py +1 -1
  70. boris/version.py +3 -3
  71. boris/video_equalizer.py +1 -1
  72. boris/video_operations.py +1 -1
  73. boris/write_event.py +1 -1
  74. {boris_behav_obs-9.0.2.dist-info → boris_behav_obs-9.0.4.dist-info}/METADATA +1 -1
  75. boris_behav_obs-9.0.4.dist-info/RECORD +103 -0
  76. boris_behav_obs-9.0.2.dist-info/RECORD +0 -103
  77. {boris_behav_obs-9.0.2.dist-info → boris_behav_obs-9.0.4.dist-info}/LICENSE.TXT +0 -0
  78. {boris_behav_obs-9.0.2.dist-info → boris_behav_obs-9.0.4.dist-info}/WHEEL +0 -0
  79. {boris_behav_obs-9.0.2.dist-info → boris_behav_obs-9.0.4.dist-info}/entry_points.txt +0 -0
  80. {boris_behav_obs-9.0.2.dist-info → boris_behav_obs-9.0.4.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
 
7
7
  This program is free software; you can redistribute it and/or modify
@@ -124,7 +124,7 @@ class observationsList_widget(QDialog):
124
124
  self.pbUnSelectAll.clicked.connect(lambda: self.pbSelection_clicked("unselect"))
125
125
  hbox2.addWidget(self.pbUnSelectAll)
126
126
 
127
- self.pbCancel = QPushButton("Cancel", clicked=self.pbCancel_clicked)
127
+ self.pbCancel = QPushButton(cfg.CANCEL, clicked=self.pbCancel_clicked)
128
128
  hbox2.addWidget(self.pbCancel)
129
129
 
130
130
  self.pbOpen = QPushButton("Start", clicked=self.pbOpen_clicked)
@@ -136,7 +136,7 @@ class observationsList_widget(QDialog):
136
136
  self.pbEdit = QPushButton("Edit", clicked=self.pbEdit_clicked)
137
137
  hbox2.addWidget(self.pbEdit)
138
138
 
139
- self.pbOk = QPushButton("OK", clicked=self.pbOk_clicked)
139
+ self.pbOk = QPushButton(cfg.OK, clicked=self.pbOk_clicked)
140
140
  hbox2.addWidget(self.pbOk)
141
141
 
142
142
  self.gridLayout.addLayout(hbox2, 3, 0, 1, 3)
boris/otx_parser.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
boris/param_panel.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
@@ -24,10 +24,11 @@ import sys
24
24
  import logging
25
25
  import functools
26
26
  from PySide6.QtWidgets import QLabel, QDockWidget, QWidget, QHBoxLayout, QVBoxLayout, QSlider, QSizePolicy, QStackedWidget, QToolButton
27
- from PySide6.QtCore import Signal, QEvent, Qt, QPoint
28
- from PySide6.QtGui import QIcon, QAction, QPixmap, QPainter, QPen, QColor
27
+ from PySide6.QtCore import Signal, QEvent, Qt
28
+ from PySide6.QtGui import QIcon, QAction
29
29
 
30
30
  from . import mpv2 as mpv
31
+ import config as cfg
31
32
 
32
33
  """
33
34
  try:
@@ -110,12 +111,15 @@ class DW_player(QDockWidget):
110
111
 
111
112
  self.videoframe = QWidget(self)
112
113
 
113
- self.player = mpv.MPV(
114
- wid=str(int(self.videoframe.winId())),
115
- vo="x11" if sys.platform.startswith("linux") else "",
116
- log_handler=functools.partial(mpv_logger, self.id_),
117
- loglevel="debug",
118
- )
114
+ if sys.platform.startswith(cfg.MACOS_CODE):
115
+ self.player = None
116
+ else:
117
+ self.player = mpv.MPV(
118
+ wid=str(int(self.videoframe.winId())),
119
+ vo="x11" if sys.platform.startswith("linux") else "",
120
+ log_handler=functools.partial(mpv_logger, self.id_),
121
+ loglevel="debug",
122
+ )
119
123
 
120
124
  self.player.screenshot_format = "png"
121
125
  self.hlayout.addWidget(self.videoframe)
boris/plot_data_module.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
 
7
7
  This program is free software; you can redistribute it and/or modify
boris/plot_events.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
boris/plot_events_rt.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
 
7
7
  This program is free software; you can redistribute it and/or modify
boris/plot_waveform_rt.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
 
7
7
  This program is free software; you can redistribute it and/or modify
boris/plugins.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This program is free software; you can redistribute it and/or modify
7
7
  it under the terms of the GNU General Public License as published by
@@ -76,4 +76,4 @@ def load_plugins(self):
76
76
  if plugin_name is not None and plugin_name not in self.config_param.get(cfg.EXCLUDED_PLUGINS, set()):
77
77
  self.config_param[cfg.ANALYSIS_PLUGINS][plugin_name] = str(file_)
78
78
 
79
- print(f"{self.config_param.get(cfg.ANALYSIS_PLUGINS, {})=}")
79
+ logging.debug(f"{self.config_param.get(cfg.ANALYSIS_PLUGINS, {})=}")
boris/preferences.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
@@ -196,6 +196,8 @@ def preferences(self):
196
196
  )
197
197
  except Exception:
198
198
  preferencesWindow.cb_hwdec.setCurrentIndex(cfg.MPV_HWDEC_OPTIONS.index(cfg.MPV_HWDEC_DEFAULT_VALUE))
199
+ # check integrity
200
+ preferencesWindow.cb_check_integrity_at_opening.setChecked(self.config_param.get(cfg.CHECK_PROJECT_INTEGRITY, True))
199
201
 
200
202
  # BORIS plugins
201
203
  preferencesWindow.lv_all_plugins.itemClicked.connect(show_plugin_info)
@@ -353,6 +355,9 @@ def preferences(self):
353
355
  # MPV hwdec
354
356
  self.config_param[cfg.MPV_HWDEC] = cfg.MPV_HWDEC_OPTIONS[preferencesWindow.cb_hwdec.currentIndex()]
355
357
 
358
+ # check project integrity
359
+ self.config_param[cfg.CHECK_PROJECT_INTEGRITY] = preferencesWindow.cb_check_integrity_at_opening.isChecked()
360
+
356
361
  # update BORIS analysis plugins
357
362
  self.config_param[cfg.ANALYSIS_PLUGINS] = {}
358
363
  self.config_param[cfg.EXCLUDED_PLUGINS] = set()
boris/preferences_ui.py CHANGED
@@ -123,6 +123,11 @@ class Ui_prefDialog(object):
123
123
 
124
124
  self.verticalLayout_5.addLayout(self.horizontalLayout_9)
125
125
 
126
+ self.cb_check_integrity_at_opening = QCheckBox(self.tab_project)
127
+ self.cb_check_integrity_at_opening.setObjectName(u"cb_check_integrity_at_opening")
128
+
129
+ self.verticalLayout_5.addWidget(self.cb_check_integrity_at_opening)
130
+
126
131
  self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
127
132
 
128
133
  self.verticalLayout_5.addItem(self.verticalSpacer_2)
@@ -505,7 +510,7 @@ class Ui_prefDialog(object):
505
510
 
506
511
  self.retranslateUi(prefDialog)
507
512
 
508
- self.tabWidget.setCurrentIndex(2)
513
+ self.tabWidget.setCurrentIndex(0)
509
514
 
510
515
 
511
516
  QMetaObject.connectSlotsByName(prefDialog)
@@ -523,6 +528,7 @@ class Ui_prefDialog(object):
523
528
  self.cbCheckForNewVersion.setText(QCoreApplication.translate("prefDialog", u"Check for new version and news", None))
524
529
  self.lb_hwdec.setText(QCoreApplication.translate("prefDialog", u"MPV player hardware video decoding", None))
525
530
  self.lb_project_file_indent.setText(QCoreApplication.translate("prefDialog", u"Project file indentation type", None))
531
+ self.cb_check_integrity_at_opening.setText(QCoreApplication.translate("prefDialog", u"Check project integrity when opening and saving project (recommended)", None))
526
532
  self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_project), QCoreApplication.translate("prefDialog", u"Project", None))
527
533
  self.label_4.setText(QCoreApplication.translate("prefDialog", u"Fast forward/backward value (seconds)", None))
528
534
  self.cb_adapt_fast_jump.setText(QCoreApplication.translate("prefDialog", u"Adapt the fast forward/backward jump to playback speed", None))
boris/project.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2024 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7