OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.
This report summarizes scanner evidence for OpenShot/openshot-qt, a Python project with 6,617 GitHub stars. SynthScan examined 217,149 lines of code across 465 source files, recording 3355 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 21.3 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2110 finding(s).
Are imports declared and package/API names verified? 123 finding(s).
Are wrappers, guards, and repeated structures necessary? 2762 finding(s).
Which changes need focused human review? 3355 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3355 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | freeze.py | 249 | def find_required_windows_opencv_dlls(seed_binaries, opencv_dlls_by_name): | CODE |
| LOW | freeze.py | 288 | def should_package_source_file(filename): | CODE |
| LOW⚡ | doc/conf.py | 572 | def _builder_configure_latex_fonts(app): | STRING |
| LOW⚡ | doc/conf.py | 575 | def _builder_configure_html_context(app): | STRING |
| LOW | installer/build_server.py | 122 | def install_linux_portal_theme(app_dir_path): | CODE |
| LOW | installer/build_server.py | 319 | def run_command_with_exit_code(command, working_dir=None, stream_output=True, failure_tail_lines=120): | CODE |
| LOW | installer/build_server.py | 356 | def get_azure_codesign_dlib_path(): | CODE |
| LOW | installer/build_server.py | 362 | def get_msix_manifest_metadata(msix_path): | CODE |
| LOW | installer/build_server.py | 404 | def set_msix_manifest_languages(manifest_document, languages): | CODE |
| LOW | installer/build_server.py | 427 | def get_expected_msix_version(): | CODE |
| LOW | installer/build_server.py | 436 | def replace_msix_visual_assets(package_root): | CODE |
| LOW | installer/build_server.py | 488 | def prepare_windows_store_msix(msix_path): | CODE |
| LOW | installer/build_server.py | 654 | def dump_appx_packaging_events(): | CODE |
| LOW | installer/build_server.py | 728 | def prepare_windows_msix_artifacts(): | CODE |
| LOW | installer/fix_opencv_rpath.py | 56 | def opencv_rpath_dependencies(path): | CODE |
| LOW | installer/fix_opencv_rpath.py | 82 | def rewrite_opencv_dependencies(path, stage_dir): | CODE |
| LOW⚡ | src/qt_api.py | 1089 | def _patch_point_event_methods(cls): | CODE |
| LOW | src/qt_api.py | 239 | def _request_storage_permission(self): | CODE |
| LOW | src/qt_api.py | 786 | def request_android_storage_permission_if_needed(): | CODE |
| LOW | src/qt_api.py | 817 | def location_file_dialog_options(): | CODE |
| LOW | src/qt_api.py | 921 | def get_font_dialog_selection(initial_font=None, parent=None, title=""): | CODE |
| LOW | src/classes/waveform.py | 62 | def _build_waveform_display_lut(): | CODE |
| LOW | src/classes/waveform.py | 91 | def configured_waveform_sample_rate(): | CODE |
| LOW | src/classes/waveform.py | 101 | def waveform_display_amplitude(amplitude, data_format): | CODE |
| LOW⚡ | src/classes/ui_trace_recorder.py | 259 | def _make_dock_visibility_slot(self, dock): | CODE |
| LOW⚡ | src/classes/ui_trace_recorder.py | 265 | def _on_dock_visibility_changed(self, dock, visible): | CODE |
| LOW | src/classes/generation_queue.py | 56 | def _is_unfinished_meta_batch(history_entry): | CODE |
| LOW | src/classes/generation_queue.py | 84 | def _allow_unfiltered_output_fallback(template_id): | CODE |
| LOW | src/classes/generation_queue.py | 97 | def _find_related_meta_batch_outputs(self, client, history_entry, save_node_ids, template_id=""): | CODE |
| LOW | src/classes/generation_queue.py | 824 | def _on_progress_detail_changed(self, job_id, detail): | CODE |
| LOW | src/classes/json_data.py | 228 | def replace_string_to_absolute(self, match): | CODE |
| LOW | src/classes/json_data.py | 270 | def convert_paths_to_absolute(self, file_path, data): | CODE |
| LOW | src/classes/json_data.py | 287 | def replace_string_to_relative(self, match): | CODE |
| LOW | src/classes/json_data.py | 371 | def convert_paths_to_relative(self, file_path, previous_path, data): | CODE |
| LOW | src/classes/http_client.py | 50 | def configure_ssl_environment(): | CODE |
| LOW⚡ | src/classes/generation_service.py | 255 | def _strip_workflow_display_suffix(name): | CODE |
| LOW⚡ | src/classes/generation_service.py | 262 | def _reserved_generation_stems(self): | CODE |
| LOW⚡ | src/classes/generation_service.py | 604 | def _is_reference_image_placeholder_value(path_text): | CODE |
| LOW⚡ | src/classes/generation_service.py | 612 | def _is_prompt_placeholder_value(text_value): | CODE |
| LOW⚡ | src/classes/generation_service.py | 616 | def _is_lyrics_placeholder_value(text_value): | CODE |
| LOW⚡ | src/classes/generation_service.py | 620 | def _replace_prompt_placeholders(text_value): | CODE |
| LOW | src/classes/generation_service.py | 125 | def refresh_comfy_availability_async(self, timeout=0.5, callback=None): | CODE |
| LOW | src/classes/generation_service.py | 201 | def _prepare_generation_source_path(self, source_file, template_id): | CODE |
| LOW | src/classes/generation_service.py | 298 | def _source_display_root_name(self, source_file): | CODE |
| LOW | src/classes/generation_service.py | 499 | def _prepare_template_workflow( | CODE |
| LOW | src/classes/generation_service.py | 529 | def _resolve_template_local_file(path_text): | CODE |
| LOW | src/classes/generation_service.py | 631 | def _replace_lyrics_placeholders(text_value): | CODE |
| LOW | src/classes/generation_service.py | 1024 | def _selected_generation_targets(self, source_file=None): | CODE |
| LOW | src/classes/generation_service.py | 1038 | def _enqueue_generation_for_file(self, source_file, payload): | CODE |
| LOW | src/classes/generation_service.py | 1175 | def on_generation_job_finished(self, job_id, status): | CODE |
| LOW | src/classes/generation_service.py | 1220 | def _import_generation_outputs(self, job): | CODE |
| LOW | src/classes/generation_service.py | 1376 | def _extract_video_paths_from_text(self, text_payload): | CODE |
| LOW | src/classes/generation_service.py | 1387 | def _looks_like_filesystem_path(self, text_payload): | CODE |
| LOW | src/classes/generation_service.py | 1396 | def _extract_scene_ranges_from_text(self, text_payload): | CODE |
| LOW | src/classes/generation_service.py | 1433 | def _create_scene_split_files(self, source_file_id, scene_ranges): | CODE |
| LOW | src/classes/generation_service.py | 1553 | def _seconds_to_compact_timecode(self, seconds_value, fps_fraction, include_hours=False, include_minutes=False): | CODE |
| LOW | src/classes/generation_service.py | 1579 | def _apply_scene_segment_metadata(self, source_file_id, saved_paths): | CODE |
| LOW | src/classes/generation_service.py | 1632 | def _comfy_output_ref_from_path(self, path_text): | CODE |
| LOW | src/classes/updates.py | 493 | def apply_last_action_to_history(self, previous_value): | CODE |
| LOW | src/classes/project_data.py | 78 | def _effect_has_reader_source(self, effect): | CODE |
| 1578 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setup.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | freeze.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | images/generate_cache.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | installer/deploy.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | installer/prune_daily_builds.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | installer/build_server.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | installer/version_parser.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | installer/test-framerates.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/__init__.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/waveform.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/metrics.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/keyframe_scaler.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/generation_queue.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/timeline.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/effect_init.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/version.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/query.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/json_data.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/logger_libopenshot.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/convert_framerate.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/generation_service.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/time_parts.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/updates.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/project_data.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/conversion.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/thumbnail.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/clip_utils.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/logger.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/style_tools.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/assets.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/qt_types.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/proxy_service.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/language.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/settings.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/app.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/exceptions.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/ui_util.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/comfy_client.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/clipboard.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/sentry.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/info.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/title_bar.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/path_utils.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/image_types.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/importers/edl.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/importers/final_cut_pro.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/exporters/edl.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/exporters/final_cut_pro.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/sequences.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/files.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/timeline.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/track.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/keyframe.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/transition.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/marker.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/clip.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/effect.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/classes/legacy/openshot/classes/project.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/tests/test_color_grade_editor.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| HIGH | src/tests/test_files_model_import.py | 0 | @file @brief this file contains the base theme. each theme starts with these settings and overrides certain things. @aut | STRING |
| 142 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | freeze.py | 736 | except NameError: | CODE |
| HIGH | doc/youtube_directive.py | 73 | except AttributeError: | CODE |
| HIGH | doc/conf.py | 45 | except ImportError: | CODE |
| HIGH | doc/conf.py | 54 | except ImportError: | CODE |
| HIGH | src/qt_api.py | 813 | except Exception: | CODE |
| HIGH | src/qt_api.py | 499 | except Exception: | CODE |
| HIGH | src/qt_api.py | 516 | except Exception: | CODE |
| HIGH | src/qt_api.py | 978 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1107 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1111 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2243 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2363 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2399 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2438 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2471 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2767 | except Exception: | CODE |
| HIGH | src/qt_api.py | 445 | except Exception: | CODE |
| HIGH | src/qt_api.py | 464 | except Exception: | CODE |
| HIGH | src/qt_api.py | 479 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1034 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1039 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1059 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1080 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1116 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1129 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1136 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1143 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1150 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1157 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1779 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1789 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1796 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2289 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2351 | except Exception: | CODE |
| HIGH | src/qt_api.py | 2750 | except Exception: | CODE |
| HIGH | src/qt_api.py | 623 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1086 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1166 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1182 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1191 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1200 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1209 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1218 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1238 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1247 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1256 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1265 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1274 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1283 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1309 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1335 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1352 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1361 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1370 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1395 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1404 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1436 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1445 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1485 | except Exception: | CODE |
| HIGH | src/qt_api.py | 1493 | except Exception: | CODE |
| 157 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | freeze.py | 521 | except Exception as ex: | CODE |
| LOW | images/generate_cache.py | 125 | except Exception as exc: | CODE |
| LOW | images/generate_cache.py | 326 | except Exception as exc: | CODE |
| LOW⚡ | doc/conf.py | 581 | except Exception: | STRING |
| LOW | installer/deploy.py | 367 | except Exception as ex: | CODE |
| MEDIUM | installer/build_server.py | 156 | print("Error: %s" % line) | CODE |
| LOW | installer/build_server.py | 233 | except Exception as ex: | CODE |
| LOW | installer/build_server.py | 283 | except Exception as ex: | CODE |
| LOW | installer/build_server.py | 304 | except Exception as ex: | CODE |
| LOW | installer/build_server.py | 399 | except Exception as ex: | CODE |
| LOW | installer/build_server.py | 618 | except Exception as ex: | CODE |
| LOW | installer/build_server.py | 668 | except Exception as ex: | CODE |
| LOW | installer/build_server.py | 1194 | except Exception as ex: | CODE |
| MEDIUM | src/qt_api.py | 207 | def open(self): | CODE |
| MEDIUM | src/qt_api.py | 579 | def open(self): | CODE |
| LOW⚡ | src/qt_api.py | 63 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 69 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 72 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 78 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 127 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 130 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 139 | except Exception as exc: | CODE |
| LOW⚡ | src/qt_api.py | 660 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 662 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1024 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1034 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1039 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1072 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1080 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1086 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1107 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1111 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1116 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1129 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1136 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1143 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1150 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1157 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1166 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1182 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1191 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1200 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1209 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1218 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1238 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1247 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1256 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1265 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1274 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1283 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1352 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1361 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1370 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1508 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1517 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1526 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1535 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1544 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1553 | except Exception: | CODE |
| LOW⚡ | src/qt_api.py | 1571 | except Exception: | CODE |
| 547 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setup.py | 106 | # ------------------------------------- | COMMENT |
| MEDIUM | setup.py | 115 | # ------------------------------------- | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 61 | # ── Attention seekers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 143 | # ── Back entrances ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 174 | # ── Back exits ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 205 | # ── Bouncing entrances ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 256 | # ── Bouncing exits ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 289 | # ── Fading entrances ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/animation_presets.py | 360 | # ── Fading exits ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/sequences.py | 33 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/files.py | 34 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/files.py | 65 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/timeline.py | 32 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/track.py | 34 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/keyframe.py | 34 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/transition.py | 34 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/marker.py | 32 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/clip.py | 35 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/effect.py | 34 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/project.py | 37 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/tests/test_timeline_helpers.py | 7421 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/tests/test_timeline_helpers.py | 7424 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 41 | # ─── Persistent settings keys ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 293 | # ─── Waveform painter ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 321 | # ── helpers ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 352 | # ── paint ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 433 | # ─── Histogram painter ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 524 | # ─── Vectorscope painter ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 767 | # ─── Audio meter painter ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 834 | # ─── Filter toolbar helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 854 | # ─── Waveform dock content (painter + toolbar) ─────────────────────────────── | COMMENT |
| MEDIUM | src/windows/scope_panel.py | 938 | # ─── Histogram dock content (painter + toolbar) ────────────────────────────── | COMMENT |
| MEDIUM | src/windows/video_widget.py | 2129 | # ================================================================================== | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3113 | # ── helpers ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3436 | # ── BLUR IN — blur 50→0 + alpha fade ───────────────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3443 | # ── BLUR OUT — alpha fade + blur 0→50 ───────────────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3450 | # ── WIPE IN — Mask effect, brightness 1 → -1 ────────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3458 | # ── WIPE OUT — Mask effect, brightness -1 → 1 ───────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3466 | # ── FOCUS WIPE IN — blur 50→0, then wipe reveals ────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3474 | # ── FOCUS WIPE OUT — wipe hides, blur 0→50 ─────────────── | COMMENT |
| MEDIUM⚡ | src/windows/views/timeline.py | 3482 | # ── POP ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 193 | # ── Animation preset helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1695 | # ── Motion Menu ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1711 | # ── In ▶ ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1753 | # ── Out ▶ ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1795 | # ── Emphasis ▶ ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1810 | # ── Camera ▶ ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1841 | # ── Credits ▶ ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3150 | # ── RESET (always runs first for non-NONE actions) ───────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3400 | # ── SLIDE IN ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3418 | # ── SLIDE OUT ───────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3504 | # ── SPIRAL ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3537 | # ── CAMERA: PUSH IN / PULL OUT (zoom, SCALE_CROP) ────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3543 | # ── CAMERA: PAN (axis-aware SCALE_CROP framing) ─────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3556 | # ── CAMERA: KEN BURNS (axis-aware zoom + drift) ─────────── | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3587 | # ── CREDITS (full scroll, SCALE_CROP) ───────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline_backend/enums.py | 66 | # ── In ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline_backend/enums.py | 96 | # ── Out ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline_backend/enums.py | 126 | # ── Emphasis ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/windows/views/timeline_backend/enums.py | 138 | # ── Camera ─────────────────────────────────────────────────────────────── | COMMENT |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 86 | CODE | |
| LOW | freeze.py | 169 | CODE | |
| LOW | freeze.py | 756 | CODE | |
| LOW | images/generate_cache.py | 290 | CODE | |
| LOW | doc/conf.py | 354 | CODE | |
| LOW | installer/deploy.py | 57 | CODE | |
| LOW | installer/fix_qt5_rpath.py | 14 | CODE | |
| LOW | installer/fix_qt5_rpath.py | 56 | CODE | |
| LOW | installer/build_server.py | 211 | CODE | |
| LOW | installer/build_server.py | 242 | CODE | |
| LOW | installer/build_server.py | 362 | CODE | |
| LOW | installer/build_server.py | 436 | CODE | |
| LOW | installer/build_server.py | 488 | CODE | |
| LOW | installer/build_server.py | 752 | CODE | |
| LOW | src/qt_api.py | 678 | CODE | |
| LOW | src/qt_api.py | 1009 | CODE | |
| LOW | src/qt_api.py | 2494 | CODE | |
| LOW | src/qt_api.py | 2579 | CODE | |
| LOW | src/qt_api.py | 2720 | CODE | |
| LOW | src/qt_api.py | 280 | CODE | |
| LOW | src/qt_api.py | 384 | CODE | |
| LOW | src/qt_api.py | 579 | CODE | |
| LOW | src/qt_api.py | 313 | CODE | |
| LOW | src/qt_api.py | 618 | CODE | |
| LOW | src/launch.py | 128 | CODE | |
| LOW | src/classes/color_presets.py | 109 | CODE | |
| LOW | src/classes/ui_trace_recorder.py | 279 | CODE | |
| LOW | src/classes/ui_trace_recorder.py | 352 | CODE | |
| LOW | src/classes/keyframe_scaler.py | 57 | CODE | |
| LOW | src/classes/generation_queue.py | 166 | CODE | |
| LOW | src/classes/query.py | 297 | CODE | |
| LOW | src/classes/query.py | 387 | CODE | |
| LOW | src/classes/json_data.py | 228 | CODE | |
| LOW | src/classes/json_data.py | 287 | CODE | |
| LOW | src/classes/http_client.py | 145 | CODE | |
| LOW | src/classes/http_client.py | 174 | CODE | |
| LOW | src/classes/logger_libopenshot.py | 34 | CODE | |
| LOW | src/classes/log_config.py | 63 | CODE | |
| LOW | src/classes/generation_service.py | 499 | CODE | |
| LOW | src/classes/generation_service.py | 990 | CODE | |
| LOW | src/classes/generation_service.py | 1108 | CODE | |
| LOW | src/classes/generation_service.py | 1175 | CODE | |
| LOW | src/classes/generation_service.py | 1220 | CODE | |
| LOW | src/classes/updates.py | 296 | CODE | |
| LOW | src/classes/project_data.py | 129 | CODE | |
| LOW | src/classes/project_data.py | 206 | CODE | |
| LOW | src/classes/project_data.py | 403 | CODE | |
| LOW | src/classes/project_data.py | 470 | CODE | |
| LOW | src/classes/project_data.py | 574 | CODE | |
| LOW | src/classes/project_data.py | 821 | CODE | |
| LOW | src/classes/project_data.py | 997 | CODE | |
| LOW | src/classes/project_data.py | 1188 | CODE | |
| LOW | src/classes/project_data.py | 1236 | CODE | |
| LOW | src/classes/project_data.py | 1578 | CODE | |
| LOW | src/classes/project_data.py | 1772 | CODE | |
| LOW | src/classes/project_data.py | 1859 | CODE | |
| LOW | src/classes/project_data.py | 1192 | CODE | |
| LOW | src/classes/project_data.py | 1628 | CODE | |
| LOW | src/classes/project_data.py | 1647 | CODE | |
| LOW | src/classes/thumbnail.py | 60 | CODE | |
| 307 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | doc/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | installer/deploy.py | 185 | # Create a new release if one if missing (for each repo) | COMMENT |
| MEDIUM | src/classes/timeline.py | 52 | # Create an instance of a libopenshot Timeline object | COMMENT |
| MEDIUM | src/classes/project_data.py | 570 | # Create a scaler instance, and scale all key-frames | COMMENT |
| MEDIUM | src/classes/app.py | 275 | # Create main window | COMMENT |
| MEDIUM | src/classes/legacy/openshot/classes/keyframe.py | 32 | """This class represents a media clip on the timeline.""" | STRING |
| MEDIUM | src/classes/legacy/openshot/classes/transition.py | 32 | """This class represents a media clip on the timeline.""" | STRING |
| MEDIUM | src/classes/legacy/openshot/classes/marker.py | 30 | """This class represents a marker (i.e. a reference point) on the timeline.""" | STRING |
| MEDIUM | src/classes/legacy/openshot/classes/clip.py | 33 | """This class represents a media clip on the timeline.""" | STRING |
| MEDIUM | src/classes/legacy/openshot/classes/effect.py | 32 | """This class represents a media clip on the timeline.""" | STRING |
| MEDIUM | src/language/generate_translations.py | 392 | header_text = header_text + '# This file is distributed under the same license as OpenShot.\n' | CODE |
| MEDIUM | src/windows/main_window.py | 2413 | # Create a list of QKeySequence objects from the parts | COMMENT |
| MEDIUM | src/windows/main_window.py | 4032 | # Create a new recent menu | COMMENT |
| MEDIUM | src/windows/main_window.py | 4110 | # Create a new restore menu | COMMENT |
| MEDIUM | src/windows/main_window.py | 5353 | # Create main window base class | COMMENT |
| MEDIUM | src/windows/main_window.py | 5461 | # Create the timeline sync object (used for previewing timeline) | COMMENT |
| MEDIUM | src/windows/title_editor.py | 319 | # Create the final pixmap filled with the label's background color | COMMENT |
| MEDIUM | src/windows/region.py | 402 | # Create an instance of a libopenshot Timeline object | COMMENT |
| MEDIUM | src/windows/preferences.py | 72 | # Define the custom category order | COMMENT |
| MEDIUM | src/windows/add_to_timeline.py | 229 | # Create a clip | COMMENT |
| MEDIUM | src/windows/export.py | 1411 | # Create a list to store the settings in order | COMMENT |
| MEDIUM | src/windows/video_widget.py | 302 | # This method is invoked by the UpdateManager each time a change happens (i.e UpdateInterface) | COMMENT |
| MEDIUM | src/windows/preview_thread.py | 611 | # Create an instance of a libopenshot Timeline object | COMMENT |
| MEDIUM | src/windows/models/files_model.py | 267 | # This method is invoked by the UpdateManager each time a change happens (i.e UpdateInterface) | COMMENT |
| MEDIUM | src/windows/models/properties_model.py | 411 | # This method is invoked by the UpdateManager each time a change happens (i.e UpdateInterface) | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 741 | # This method is invoked by the UpdateManager each time a change happens (i.e UpdateInterface) | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 884 | # Create a new clip (if not exists) | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 1307 | # Create a new transition (if not exists) | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 3955 | # Create a transaction ID for all operations in this function (if not provided) | COMMENT |
| MEDIUM | src/windows/views/timeline.py | 5652 | # Create a new Clip object with the file path | COMMENT |
| MEDIUM | src/windows/views/files_treeview.py | 330 | # Create a composite pixmap to hold the icons in a row | COMMENT |
| MEDIUM | src/windows/views/zoom_slider.py | 194 | # This method is invoked by the UpdateManager each time a change happens (i.e UpdateInterface) | COMMENT |
| MEDIUM | src/windows/views/properties_tableview.py | 472 | # Create a fake event object that provides the position we want | COMMENT |
| MEDIUM | src/windows/views/files_listview.py | 347 | # Create a composite pixmap to hold the icons in a row | COMMENT |
| MEDIUM | src/windows/views/blender_listview.py | 277 | # Create a folder (if it does not exist) | COMMENT |
| MEDIUM | src/windows/views/timeline_backend/qwidget/base.py | 948 | # This method is invoked by the UpdateManager each time a change happens (i.e UpdateInterface) | COMMENT |
| MEDIUM | src/themes/base.py | 341 | # Create a divider | COMMENT |
| MEDIUM | src/themes/cosmic/theme.py | 945 | # Create a transparent spacer widget | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | src/qt_api.py | 659 | uri_str = new_uri.toString() | CODE |
| HIGH | src/qt_api.py | 343 | uri_strings = [u.toString() for u in uris] | CODE |
| HIGH | src/qt_api.py | 631 | uri_str = uri.toString() | CODE |
| HIGH | src/tests/test_optimized_preview_menu.py | 68 | self.actionOptimizedPreviewDeleteAndUnlink = QAction("Delete && Unlink", self) | CODE |
| HIGH | src/windows/main_window.py | 2468 | log.warning(f"Duplicate shortcut {key_seq_obj.toString()} detected for {base_method_name}. S | CODE |
| HIGH | src/windows/main_window.py | 4665 | self.actionOptimizedPreviewDeleteAndUnlink = QAction(_("Delete && Unlink"), self) | CODE |
| HIGH⚡ | src/windows/views/timeline.py | 5367 | self.run_js(JS_SCOPE_SELECTOR + ".selectClip('{}', {}, null);".format(item_id, clear_js)) | CODE |
| HIGH⚡ | src/windows/views/timeline.py | 5369 | self.run_js(JS_SCOPE_SELECTOR + ".selectTransition('{}', {}, null);".format(item_id, clear_js)) | CODE |
| HIGH⚡ | src/windows/views/timeline.py | 5371 | self.run_js(JS_SCOPE_SELECTOR + ".selectEffect('{}', {}, null);".format(item_id, clear_js)) | CODE |
| HIGH | src/windows/views/timeline.py | 2100 | (_("Freeze && Zoom"), MenuTime.FREEZE_ZOOM) | CODE |
| HIGH | src/windows/views/timeline.py | 5352 | self.run_js(JS_SCOPE_SELECTOR + ".selectClipRipple('{}', false, null);".format(item_id)) | CODE |
| HIGH | src/windows/views/timeline.py | 5354 | self.run_js(JS_SCOPE_SELECTOR + ".selectTransitionRipple('{}', false, null);".format(item_id)) | CODE |
| HIGH | src/windows/views/optimized_preview_menu.py | 103 | optimized_menu, win, "actionOptimizedPreviewDeleteAndUnlink", _("Delete && Unlink"), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 33 | CODE | |
| LOW | freeze.py | 59 | CODE | |
| LOW | freeze.py | 772 | CODE | |
| LOW | doc/youtube_directive.py | 10 | CODE | |
| LOW | doc/youtube_directive.py | 16 | CODE | |
| LOW | doc/youtube_directive.py | 17 | CODE | |
| LOW | doc/youtube_directive.py | 22 | CODE | |
| LOW | doc/youtube_directive.py | 22 | CODE | |
| LOW | doc/youtube_directive.py | 22 | CODE | |
| LOW | doc/youtube_directive.py | 22 | CODE | |
| LOW | doc/youtube_directive.py | 23 | CODE | |
| LOW | doc/youtube_directive.py | 24 | CODE | |
| LOW | doc/conf.py | 43 | CODE | |
| LOW | doc/conf.py | 52 | CODE | |
| LOW | src/launch.py | 63 | CODE | |
| LOW | src/launch.py | 109 | CODE | |
| LOW | src/classes/metrics.py | 29 | CODE | |
| LOW | src/classes/project_data.py | 32 | CODE | |
| LOW | src/classes/language.py | 38 | CODE | |
| LOW | src/classes/settings.py | 35 | CODE | |
| LOW | src/classes/ui_util.py | 48 | CODE | |
| LOW | src/classes/info.py | 205 | CODE | |
| LOW | src/tests/test_sentry_qt_compat.py | 10 | CODE | |
| LOW | src/tests/test_about.py | 41 | CODE | |
| LOW | src/windows/main_window.py | 51 | CODE | |
| LOW | src/windows/main_window.py | 51 | CODE | |
| LOW | src/windows/region.py | 29 | CODE | |
| LOW | src/windows/region.py | 30 | CODE | |
| LOW | src/windows/region.py | 41 | CODE | |
| LOW | src/windows/region.py | 41 | CODE | |
| LOW | src/windows/region.py | 46 | CODE | |
| LOW | src/windows/profile.py | 29 | CODE | |
| LOW | src/windows/profile.py | 33 | CODE | |
| LOW | src/windows/preferences.py | 44 | CODE | |
| LOW | src/windows/animated_title.py | 33 | CODE | |
| LOW | src/windows/export.py | 54 | CODE | |
| LOW | src/windows/process_effect.py | 52 | CODE | |
| LOW | src/windows/color_picker.py | 31 | CODE | |
| LOW | src/windows/video_widget.py | 46 | CODE | |
| LOW | src/windows/models/credits_model.py | 35 | CODE | |
| LOW | src/windows/models/properties_model.py | 40 | CODE | |
| LOW | src/windows/models/properties_model.py | 41 | CODE | |
| LOW | src/windows/models/effects_model.py | 30 | CODE | |
| LOW | src/windows/models/effects_model.py | 34 | CODE | |
| LOW | src/windows/views/timeline.py | 42 | CODE | |
| LOW | src/windows/views/timeline.py | 135 | CODE | |
| LOW | src/windows/views/timeline.py | 135 | CODE | |
| LOW | src/windows/views/timeline.py | 135 | CODE | |
| LOW | src/windows/views/timeline.py | 135 | CODE | |
| LOW | src/windows/views/tutorial.py | 30 | CODE | |
| LOW | src/windows/views/add_to_timeline_treeview.py | 28 | CODE | |
| LOW | src/windows/views/blender_listview.py | 45 | CODE | |
| LOW | src/windows/views/blender_listview.py | 48 | CODE | |
| LOW | src/windows/views/blender_listview.py | 52 | CODE | |
| LOW | src/windows/views/blender_listview.py | 52 | CODE | |
| LOW | src/windows/views/timeline_backend/__init__.py | 12 | CODE | |
| LOW | src/windows/views/timeline_backend/__init__.py | 27 | CODE | |
| LOW | src/windows/views/timeline_backend/__init__.py | 39 | CODE | |
| LOW | src/windows/views/timeline_backend/paint/__init__.py | 28 | CODE | |
| LOW | src/windows/views/timeline_backend/paint/__init__.py | 29 | CODE | |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | installer/build-mac-dmg.sh | 19 | # Set path to app bundle | COMMENT |
| LOW | src/classes/waveform.py | 196 | # Open file and access audio data (if audio data is found, otherwise return) | COMMENT |
| LOW | src/classes/metrics.py | 178 | # Check if the user wants to send metrics and errors | COMMENT |
| LOW | src/classes/project_data.py | 283 | # Set parent to the last set obj (if not final iteration) | COMMENT |
| LOW | src/classes/project_data.py | 537 | # Check if paths are all valid | COMMENT |
| LOW | src/classes/tabstops.py | 52 | # Check if this tab bar contains dock titles | COMMENT |
| LOW | src/classes/language.py | 89 | # Check if the language preference is something other than "Default" | COMMENT |
| LOW⚡ | src/profiles/definitions/manage.py | 269 | # Check if spherical attribute should be included | COMMENT |
| LOW | src/profiles/definitions/manage.py | 285 | # Write file | COMMENT |
| LOW | src/profiles/definitions/manage.py | 301 | # Write file with description updated for uniqueness | COMMENT |
| LOW | src/windows/main_window.py | 340 | # Check if it already exists | COMMENT |
| LOW | src/windows/main_window.py | 506 | # Check if filesView has focus | COMMENT |
| LOW | src/windows/main_window.py | 741 | # Set cursor to waiting | COMMENT |
| LOW | src/windows/main_window.py | 1766 | # Set MaxSize to full project resolution and clear cache so we get a full resolution frame | COMMENT |
| LOW | src/windows/main_window.py | 1771 | # Check if file exists, if it does, get the lastModified time | COMMENT |
| LOW | src/windows/main_window.py | 4772 | # Check if filesView has focus | COMMENT |
| LOW | src/windows/main_window.py | 5033 | # Check if event type is a shortcut override (keyboard shortcut triggered) | COMMENT |
| LOW | src/windows/title_editor.py | 236 | # Check if the requested font is available | COMMENT |
| LOW | src/windows/add_to_timeline.py | 103 | # Check if selected_index is within valid range | COMMENT |
| LOW | src/windows/add_to_timeline.py | 136 | # Check if selected_index is within valid range | COMMENT |
| LOW | src/windows/export.py | 1074 | # Check if filename is valid (by creating a blank file in a temporary place) | COMMENT |
| LOW | src/windows/export.py | 1310 | # Check if we need to bail out | COMMENT |
| LOW | src/windows/export.py | 1435 | # Append the setting to the list | COMMENT |
| LOW | src/windows/export.py | 1454 | # Iterate over the list of settings and apply them in order | COMMENT |
| LOW | src/windows/cutting.py | 635 | # Check if starting frame less than end frame | COMMENT |
| LOW | src/windows/cutting.py | 672 | # Check if ending frame greater than start frame | COMMENT |
| LOW | src/windows/preview_thread.py | 70 | # Check if we are at the end of the timeline | COMMENT |
| LOW | src/windows/models/blender_model.py | 98 | # Check if thumb exists | COMMENT |
| LOW | src/windows/models/properties_model.py | 1703 | # Check if filter was changed (if so, wipe previous model data) | COMMENT |
| LOW | src/windows/views/timeline.py | 1485 | # Check if the current clip starts after the found_end, indicating a gap | COMMENT |
| LOW | src/windows/views/timeline.py | 4999 | # Check if there is a gap between the end of the last clip/transition and the start of the current one | COMMENT |
| LOW | src/windows/views/find_file.py | 173 | # Check if path exists | COMMENT |
| LOW | src/windows/views/files_treeview.py | 308 | # Check if there are any selected items | COMMENT |
| LOW | src/windows/views/files_treeview.py | 381 | # Set cursor to waiting | COMMENT |
| LOW | src/windows/views/properties_tableview.py | 452 | # Check if this is a dropdown/choice property | COMMENT |
| LOW | src/windows/views/properties_tableview.py | 1895 | # Check if the list needs to be divided into sub-menus | COMMENT |
| LOW | src/windows/views/files_listview.py | 325 | # Check if there are any selected items | COMMENT |
| LOW | src/windows/views/files_listview.py | 398 | # Set cursor to waiting | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | freeze.py | 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | freeze.py | 41 | # sudo dylibbundler -od -of -b -x ~/apps/rsvg/rsvg-convert -d ./rsvg-libs/ -p @executable_path/rsvg-libs/ | COMMENT |
| LOW | benchmarks/generate_editing_projects.py | 1 | # @file | COMMENT |
| LOW | benchmarks/editing_latency.py | 1 | # @file | COMMENT |
| LOW | doc/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | doc/conf.py | 81 | master_doc = 'index' | COMMENT |
| LOW | doc/conf.py | 101 | # Usually you set "language" from the command line for these cases. | COMMENT |
| LOW | doc/conf.py | 121 | # | COMMENT |
| LOW | doc/conf.py | 161 | # Theme options are theme-specific and customize the look and feel of a theme | COMMENT |
| LOW | doc/conf.py | 181 | # | COMMENT |
| LOW | doc/conf.py | 201 | # directly to the root of the documentation. | COMMENT |
| LOW | doc/conf.py | 221 | # template names. | COMMENT |
| LOW | doc/conf.py | 241 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | COMMENT |
| LOW | doc/conf.py | 261 | # 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh' | COMMENT |
| LOW | doc/conf.py | 281 | latex_elements = { | COMMENT |
| LOW | doc/conf.py | 401 | COMMENT | |
| LOW | doc/conf.py | 421 | # | COMMENT |
| LOW | doc/conf.py | 461 | # | COMMENT |
| LOW | doc/conf.py | 481 | epub_author = author | COMMENT |
| LOW | doc/conf.py | 501 | # epub_scheme = '' | COMMENT |
| LOW | doc/conf.py | 521 | # The format is a list of tuples containing the path and title. | COMMENT |
| LOW | doc/conf.py | 541 | # Choose between 'default' and 'includehidden'. | COMMENT |
| LOW | src/tests/test_editing_latency.py | 1 | # @file | COMMENT |
| LOW | src/tests/properties_anchor_smoke.py | 1 | # @file | COMMENT |
| LOW | src/tests/test_properties_anchor.py | 1 | # @file | COMMENT |
| LOW | src/windows/views/timeline_backend/paint/header.py | 141 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/tests/test_timeline_helpers.py | 399 | widget.get_track_panel_properties = lambda number: [{"display_name": "Location X", "placeholder" | CODE |
| LOW | …/windows/views/timeline_backend/paint/keyframepanel.py | 257 | can_add = isinstance(prop, dict) and not prop.get("placeholder") | CODE |
| LOW | …/windows/views/timeline_backend/paint/keyframepanel.py | 278 | if prop.get("placeholder") or not draw_timeline: | CODE |
| LOW⚡ | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 95 | props = [{"display_name": label, "points": [], "placeholder": True}] | CODE |
| LOW⚡ | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 100 | "context": {"placeholder": reason}, | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 44 | if isinstance(context, dict) and context.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 471 | if prop.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 626 | if isinstance(prop, dict) and not prop.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 1731 | if not isinstance(prop, dict) or prop.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 2193 | and target_info.get("context", {}).get("placeholder") | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 2280 | if isinstance(track_context, dict) and track_context.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 2390 | if isinstance(context, dict) and context.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 2402 | if not isinstance(prop, dict) or prop.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3209 | props = [{"display_name": label_text, "points": [], "placeholder": True}] | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3214 | "context": {"placeholder": reason}, | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3328 | placeholder_context["placeholder"] = "no-keyframes" | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3333 | "placeholder": True, | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3477 | placeholder_prop = {"display_name": placeholder_label, "points": [], "placeholder": True} | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3482 | "context": {"item_type": "multi", "track": key, "placeholder": "no-keyframes"}, | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3518 | if context.get("placeholder"): | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3522 | context.get("placeholder"), | CODE |
| LOW | …ndows/views/timeline_backend/qwidget/keyframe_panel.py | 3550 | if isinstance(context, dict) and context.get("placeholder"): | CODE |
| LOW | src/windows/views/timeline_backend/qwidget/base.py | 3892 | if isinstance(prop, dict) and prop.get("key") is not None and not prop.get("placeholder") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/qt_api.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/qt_api.py | 2778 | __all__ = [ | CODE |
| LOW | src/launch.py | 69 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/classes/clip_utils.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/classes/portal_file_dialog.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/windows/views/menu.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/windows/views/timeline_backend/paint/__init__.py | 41 | __all__ = [ | CODE |
| LOW | src/windows/views/timeline_backend/qwidget/__init__.py | 51 | __all__ = [ | CODE |
| LOW | src/windows/views/timeline_backend/geometry/__init__.py | 45 | __all__ = ["Geometry"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | images/generate_cache.py | 253 | def run_task(task, skip_existing=False): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/classes/generation_service.py | 499 | CODE | |
| LOW | src/tests/test_portal_file_dialog.py | 132 | CODE |