diff --git a/CHANGES.rst b/CHANGES.rst index 0a83b5acc..247e042a8 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -688,7 +688,7 @@ All changes: https://github.com/Open-MSS/MSS/milestone/48?closed=1 Version 2.0.1 ---------------- +------------- Bug Fix release diff --git a/docs/development.rst b/docs/development.rst index 6260d30e6..a36c7a622 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -317,7 +317,7 @@ like e.g. a running MSColab server or a QApplication instance for GUI tests, are collected in :mod:`tests.fixtures` in the form of pytest fixtures that can be requested as needed in tests. Keyring Features ------------------ +---------------- This document outlines step-by-step instructions for using the keyring features using the command line. diff --git a/docs/mssautoplot.rst b/docs/mssautoplot.rst index 726632719..23f132545 100644 --- a/docs/mssautoplot.rst +++ b/docs/mssautoplot.rst @@ -63,7 +63,7 @@ of topview in the mssautoplot.json. Settings file --------------- +------------- This file includes configuration settings to generate plots in automated fashion. It includes, diff --git a/docs/samples/plugins/navaid.py b/docs/samples/plugins/navaid.py index 202fa3879..eb400c00f 100644 --- a/docs/samples/plugins/navaid.py +++ b/docs/samples/plugins/navaid.py @@ -2,7 +2,7 @@ """ mslib.plugins.io.navaid - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~ plugin for navaid format flight track export diff --git a/heading_linter.py b/heading_linter.py new file mode 100644 index 000000000..837d25be5 --- /dev/null +++ b/heading_linter.py @@ -0,0 +1,212 @@ +# -*- coding: utf-8 -*- +""" + + mslib.modulename + ~~~~~~~~~~~~~~~~ + + Text line as description + + This file is part of MSS. + + :copyright: Copyright 2017 Main Contributor + :copyright: Copyright 2017-2025 by the MSS team, see AUTHORS. + :license: APACHE-2.0, see LICENSE for details. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" + +#Linux +#python3 heading_linter.py to see the errors +#python3 heading_linter.py --fix to fix them + +#!/usr/bin/env python3 +""" +Improved linter that checks and fixes Sphinx heading underline lengths. +Now shows exact file path, line numbers, expected length, actual length. +""" + +import argparse +import glob +import os +import re +import sys + +VALID_CHARS = "= - ` : \" ~ ^ _ * + # < >".split() +UNDERLINE_RE = re.compile(r'^(\s*)([=\-`:\"~^_*+#<>])\2{2,}\s*$') + + +def scan_repo(patterns): + files = [] + + if not patterns: + for root, dirs, filenames in os.walk("."): + for skip in (".git", "__pycache__", ".ipynb_checkpoints"): + if skip in dirs: + dirs.remove(skip) + + for filename in filenames: + if filename.endswith(".py") or filename.endswith(".rst"): + files.append(os.path.join(root, filename)) + + return sorted(files) + + for p in patterns: + files.extend(glob.glob(p, recursive=True)) + return sorted(set(files)) + + +def is_docstring(line): + stripped = line.strip() + return stripped in ('"""', "'''") or stripped.startswith('"""') or stripped.startswith("'''") + + +def process_file(path, fix=False): + try: + with open(path, "r", encoding="utf-8") as f: + lines = f.readlines() + except: + print(f"Skipping unreadable file: {path}") + return 0 + + errors = 0 + new_lines = [] + i = 0 + + while i < len(lines): + line = lines[i] + + # -------------------------- + # CASE 1: title + underline + # -------------------------- + if i + 1 < len(lines): + underline = lines[i + 1] + + if not is_docstring(line) and not is_docstring(underline): + m = UNDERLINE_RE.match(underline) + + if m: + indent, ch = m.group(1), m.group(2) + title = line.rstrip("\n") + stripped_title = title.strip() + + if stripped_title: + expected = len(stripped_title) + actual = len(underline.strip()) + + if expected != actual: + errors += 1 + print( + f"{path}:{i+2}: ERROR — underline length mismatch\n" + f" Title: '{stripped_title}'\n" + f" Expected: {expected}\n" + f" Actual: {actual}\n" + ) + + if fix: + new_lines.append(line) + new_lines.append(f"{indent}{ch * expected}\n") + i += 2 + continue + + # -------------------------- + # CASE 2: overline + title + underline + # -------------------------- + if i + 2 < len(lines): + over, title, under = lines[i], lines[i + 1], lines[i + 2] + + if (not is_docstring(over) and not is_docstring(title) + and not is_docstring(under)): + + m1 = UNDERLINE_RE.match(over) + m2 = UNDERLINE_RE.match(under) + + if m1 and m2: + indent1, ch1 = m1.group(1), m1.group(2) + indent2, ch2 = m2.group(1), m2.group(2) + stripped = title.strip() + + if stripped: + expected = len(stripped) + + over_len = len(over.strip()) + under_len = len(under.strip()) + + fix_needed = False + + if over_len != expected: + errors += 1 + fix_needed = True + print( + f"{path}:{i+1}: ERROR — OVERLINE mismatch\n" + f" Title: '{stripped}'\n" + f" Expected: {expected}\n" + f" Actual: {over_len}\n" + ) + + if under_len != expected: + errors += 1 + fix_needed = True + print( + f"{path}:{i+3}: ERROR — UNDERLINE mismatch\n" + f" Title: '{stripped}'\n" + f" Expected: {expected}\n" + f" Actual: {under_len}\n" + ) + + if fix and fix_needed: + new_lines.append(f"{indent1}{ch1 * expected}\n") + new_lines.append(title) + new_lines.append(f"{indent2}{ch2 * expected}\n") + i += 3 + continue + + # Normal line + new_lines.append(line) + i += 1 + + # Write fixes + if fix and errors > 0: + with open(path, "w", encoding="utf-8") as f: + f.writelines(new_lines) + print(f"✔ Fixed: {path}") + + return errors + + +def main(): + parser = argparse.ArgumentParser(description="Sphinx heading underline linter") + parser.add_argument("files", nargs="*", help="Files or patterns") + parser.add_argument("--fix", action="store_true", help="Fix errors automatically") + args = parser.parse_args() + + files = scan_repo(args.files) + print(f"Checking {len(files)} files...\n") + + total = 0 + for f in files: + if not os.path.isdir(f): + total += process_file(f, fix=args.fix) + + print("\n--------------------------------------") + if total == 0: + print("✔ No heading underline errors found!") + else: + print(f"✖ Total Errors Found: {total}") + print("Run: python heading_linter.py --fix to fix them.") + + sys.exit(1 if total else 0) + + +if __name__ == "__main__": + main() + diff --git a/mslib/index.py b/mslib/index.py index 7569d2006..5bf8b8c0a 100644 --- a/mslib/index.py +++ b/mslib/index.py @@ -2,7 +2,7 @@ """ mslib.index - ~~~~~~~~~~~~ + ~~~~~~~~~~~ shows some docs on the root url of the server diff --git a/mslib/mscolab/__init__.py b/mslib/mscolab/__init__.py index f2f8caf9f..256d19129 100644 --- a/mslib/mscolab/__init__.py +++ b/mslib/mscolab/__init__.py @@ -2,7 +2,7 @@ """ mslib.mscolab - ~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~ init module of mscolab diff --git a/mslib/mscolab/chat_manager.py b/mslib/mscolab/chat_manager.py index db20784c8..6920808ae 100644 --- a/mslib/mscolab/chat_manager.py +++ b/mslib/mscolab/chat_manager.py @@ -2,7 +2,7 @@ """ mslib.mscolab.chat_manager - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~ Code to handle socket connections in mscolab diff --git a/mslib/mscolab/conf.py b/mslib/mscolab/conf.py index f44d5e6c4..aa69d0897 100644 --- a/mslib/mscolab/conf.py +++ b/mslib/mscolab/conf.py @@ -2,7 +2,7 @@ """ mslib.mscolab.conf.py.example - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ config for mscolab. diff --git a/mslib/mscolab/seed.py b/mslib/mscolab/seed.py index 85625d305..746b28efd 100644 --- a/mslib/mscolab/seed.py +++ b/mslib/mscolab/seed.py @@ -2,7 +2,7 @@ """ mslib.mscolab.seed - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~ Seeder utility for database diff --git a/mslib/mscolab/utils.py b/mslib/mscolab/utils.py index 1d6ca592e..4bc67d46f 100644 --- a/mslib/mscolab/utils.py +++ b/mslib/mscolab/utils.py @@ -2,7 +2,7 @@ """ mslib.mscolab._tests.utils - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~ Utility functions for mscolab diff --git a/mslib/msui/airdata_dockwidget.py b/mslib/msui/airdata_dockwidget.py index ca4b142a2..1999eec1d 100644 --- a/mslib/msui/airdata_dockwidget.py +++ b/mslib/msui/airdata_dockwidget.py @@ -2,7 +2,7 @@ """ mslib.msui.airdata_dockwidget - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Control to load airports and airspaces into the top view. diff --git a/mslib/msui/editor.py b/mslib/msui/editor.py index 81c887482..78b16d978 100644 --- a/mslib/msui/editor.py +++ b/mslib/msui/editor.py @@ -2,7 +2,7 @@ """ mslib.msui.editor - ~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ config editor for msui_settings.json. diff --git a/mslib/msui/linearview.py b/mslib/msui/linearview.py index 739020286..31769500b 100644 --- a/mslib/msui/linearview.py +++ b/mslib/msui/linearview.py @@ -2,7 +2,7 @@ """ mslib.msui.linearview - ~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ Linear view module of the msui diff --git a/mslib/msui/mscolab.py b/mslib/msui/mscolab.py index 78efe96db..3cd6bd2ee 100644 --- a/mslib/msui/mscolab.py +++ b/mslib/msui/mscolab.py @@ -2,7 +2,7 @@ """ mslib.msui.mscolab - ~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~ Window to display authentication and operation details for mscolab diff --git a/mslib/msui/mscolab_admin_window.py b/mslib/msui/mscolab_admin_window.py index cfb199ac2..82197f0bd 100644 --- a/mslib/msui/mscolab_admin_window.py +++ b/mslib/msui/mscolab_admin_window.py @@ -2,7 +2,7 @@ """ mslib.msui.mscolab_admin_window - ~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mscolab operation window, to display chat, file change diff --git a/mslib/msui/mscolab_chat.py b/mslib/msui/mscolab_chat.py index fe121a6b0..059a26926 100644 --- a/mslib/msui/mscolab_chat.py +++ b/mslib/msui/mscolab_chat.py @@ -2,7 +2,7 @@ """ mslib.msui.mscolab_operation - ~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mscolab operation window, to display chat, file change diff --git a/mslib/msui/mscolab_exceptions.py b/mslib/msui/mscolab_exceptions.py index 3f425b925..884e4ac76 100644 --- a/mslib/msui/mscolab_exceptions.py +++ b/mslib/msui/mscolab_exceptions.py @@ -3,7 +3,7 @@ """ mslib.msui.mscolab_exceptions - ~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exceptions diff --git a/mslib/msui/mscolab_version_history.py b/mslib/msui/mscolab_version_history.py index 823d8ad07..e7cf868eb 100644 --- a/mslib/msui/mscolab_version_history.py +++ b/mslib/msui/mscolab_version_history.py @@ -2,7 +2,7 @@ """ mslib.msui.mscolab_change_history - ~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mscolab change history window to display the change history of the flight path so that users can revert back to a previous version diff --git a/mslib/msui/mss.py b/mslib/msui/mss.py index 0a7039a9b..6b4409829 100644 --- a/mslib/msui/mss.py +++ b/mslib/msui/mss.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- """ mslib.msui.mss - ~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~ Mission Support System Python/Qt Rename Message diff --git a/mslib/msui/multilayers.py b/mslib/msui/multilayers.py index e0652ddac..994895429 100644 --- a/mslib/msui/multilayers.py +++ b/mslib/msui/multilayers.py @@ -1,6 +1,6 @@ """ mslib.msui.multilayers - ~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~ This module contains classes for object oriented managing of WMS layers. Improves upon the old method of loading each layer on UI changes, diff --git a/mslib/msui/socket_control.py b/mslib/msui/socket_control.py index 4dd0cdec0..eea72fcb8 100644 --- a/mslib/msui/socket_control.py +++ b/mslib/msui/socket_control.py @@ -2,7 +2,7 @@ """ mslib.msui.socket_control - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~ client socket connection handler diff --git a/mslib/mswms/gallery_builder.py b/mslib/mswms/gallery_builder.py index 5b873bd23..144814fe7 100644 --- a/mslib/mswms/gallery_builder.py +++ b/mslib/mswms/gallery_builder.py @@ -1,6 +1,6 @@ """ mslib.mswms.gallery_builder - ~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This module contains functions for generating the plots.html file, aka the gallery. @@ -407,7 +407,7 @@ def write_doc_index(path): if "index" not in f and ".rst" in f])) rst.write(f""" Code Examples --------------- +------------- .. toctree:: diff --git a/mslib/mswms/generics.py b/mslib/mswms/generics.py index a3f861857..f9e0d566a 100644 --- a/mslib/mswms/generics.py +++ b/mslib/mswms/generics.py @@ -2,7 +2,7 @@ """ mslib.mslib.generics - ~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ This module provides functions for the wms server diff --git a/mslib/mswms/seed.py b/mslib/mswms/seed.py index 57a22d065..ea6381732 100644 --- a/mslib/mswms/seed.py +++ b/mslib/mswms/seed.py @@ -858,7 +858,7 @@ def create_server_config(self, detailed_information=False): """ mswms_settings - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~ Configuration module for programs accessing data on the MSS server. @@ -898,7 +898,7 @@ def create_server_config(self, detailed_information=False): """ mswms_settings - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~ Configuration module for programs accessing data on the MSS server. diff --git a/mslib/plugins/io/text.py b/mslib/plugins/io/text.py index 85b4578b1..291e3d010 100644 --- a/mslib/plugins/io/text.py +++ b/mslib/plugins/io/text.py @@ -2,7 +2,7 @@ """ mslib.plugins.io.text - ~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ plugin for text format flight track export diff --git a/mslib/utils/__init__.py b/mslib/utils/__init__.py index 0cfc26fcb..c11b5f534 100644 --- a/mslib/utils/__init__.py +++ b/mslib/utils/__init__.py @@ -2,7 +2,7 @@ """ mslib.utils - ~~~~~~~~~~~~~~ + ~~~~~~~~~~~ Collection of utility routines for the Mission Support System. diff --git a/mslib/utils/airdata.py b/mslib/utils/airdata.py index d3dbeae87..15d1f66f8 100644 --- a/mslib/utils/airdata.py +++ b/mslib/utils/airdata.py @@ -2,7 +2,7 @@ """ mslib.utils.airdata - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~ Functions for getting and downloading airspaces and airports. diff --git a/mslib/utils/config.py b/mslib/utils/config.py index ade7c1648..64487d848 100644 --- a/mslib/utils/config.py +++ b/mslib/utils/config.py @@ -2,7 +2,7 @@ """ mslib.utils.config - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~ Collection of functions all around config handling. diff --git a/mslib/utils/coordinate.py b/mslib/utils/coordinate.py index 7ff70cd0a..f57242ab8 100644 --- a/mslib/utils/coordinate.py +++ b/mslib/utils/coordinate.py @@ -2,7 +2,7 @@ """ mslib.utils.coordinate - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~ Collection of functions all around coordinates, locations and positions. diff --git a/mslib/utils/loggerdef.py b/mslib/utils/loggerdef.py index d4197b360..fe7c5e8b9 100644 --- a/mslib/utils/loggerdef.py +++ b/mslib/utils/loggerdef.py @@ -2,7 +2,7 @@ """ mslib.utils.loggerdef - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ This module sets the logging level and prevent code repetition. diff --git a/mslib/utils/migration/config_before_nine.py b/mslib/utils/migration/config_before_nine.py index 4f759839d..665fd6895 100644 --- a/mslib/utils/migration/config_before_nine.py +++ b/mslib/utils/migration/config_before_nine.py @@ -2,7 +2,7 @@ """ mslib.utils.migration.config_before_nine - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Collection of functions all around config handling before version 9.0.0 diff --git a/mslib/utils/migration/update_json_file_to_version_nine.py b/mslib/utils/migration/update_json_file_to_version_nine.py index a8eaf83d7..f210f142f 100644 --- a/mslib/utils/migration/update_json_file_to_version_nine.py +++ b/mslib/utils/migration/update_json_file_to_version_nine.py @@ -2,7 +2,7 @@ """ mslib.utils.update_json_file_to_version_nine - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ updates the old attributes to the new attributes and creates credentials in keyring diff --git a/mslib/utils/netCDF4tools.py b/mslib/utils/netCDF4tools.py index f13631f86..f655e3214 100644 --- a/mslib/utils/netCDF4tools.py +++ b/mslib/utils/netCDF4tools.py @@ -2,7 +2,7 @@ """ mslib.utils.netCDF4tools - ~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~ Some useful functions for handling NetCDF files with the netCDF4 library. diff --git a/mslib/utils/thermolib.py b/mslib/utils/thermolib.py index 541d7b2ad..dd4c1f5a8 100644 --- a/mslib/utils/thermolib.py +++ b/mslib/utils/thermolib.py @@ -2,7 +2,7 @@ """ mslib.utils.thermolib - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ Collection of thermodynamic functions. diff --git a/mslib/utils/units.py b/mslib/utils/units.py index ca1a59421..41165b379 100644 --- a/mslib/utils/units.py +++ b/mslib/utils/units.py @@ -2,7 +2,7 @@ """ mslib.utils.units - ~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ Collection of unit conversion related routines for the Mission Support System. diff --git a/tests/_test_mscolab/test_models.py b/tests/_test_mscolab/test_models.py index 1186ecec5..d62e0dc79 100644 --- a/tests/_test_mscolab/test_models.py +++ b/tests/_test_mscolab/test_models.py @@ -2,7 +2,7 @@ """ tests._test_mscolab.test_models - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ api integration tests for models diff --git a/tests/_test_plugins/test_io_text.py b/tests/_test_plugins/test_io_text.py index 933b81962..aa564aa0f 100644 --- a/tests/_test_plugins/test_io_text.py +++ b/tests/_test_plugins/test_io_text.py @@ -2,7 +2,7 @@ """ tests._test_plugins.test_io_text - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This module provides pytest functions to test mslib.plugins.io.text diff --git a/tests/_test_utils/test_airdata.py b/tests/_test_utils/test_airdata.py index a5d784e8d..90268ebdd 100644 --- a/tests/_test_utils/test_airdata.py +++ b/tests/_test_utils/test_airdata.py @@ -2,7 +2,7 @@ """ tests._test_utils.test_airdata - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This module provides pytest functions to test mslib.utils.airdata diff --git a/tests/_test_utils/test_migration.py b/tests/_test_utils/test_migration.py index fa97de609..2799c7ad3 100644 --- a/tests/_test_utils/test_migration.py +++ b/tests/_test_utils/test_migration.py @@ -2,7 +2,7 @@ """ tests._test_utils.test_migration - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This module provides pytest functions to tests migrations diff --git a/tests/_test_utils/test_version.py b/tests/_test_utils/test_version.py index 5c490adda..545cb8424 100644 --- a/tests/_test_utils/test_version.py +++ b/tests/_test_utils/test_version.py @@ -2,7 +2,7 @@ """ mslib._tests.test_version - ~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~ This module provides a test for the version string diff --git a/tutorials/tutorial_hexagoncontrol.py b/tutorials/tutorial_hexagoncontrol.py index 4252f4767..10236b244 100644 --- a/tutorials/tutorial_hexagoncontrol.py +++ b/tutorials/tutorial_hexagoncontrol.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_hexagoncontrol.py - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to create a hexagon flightrack with the waypoints. Placing a centre waypoint, how we can draw a perfect hexagon flight path around it with variable radius of diff --git a/tutorials/tutorial_kml.py b/tutorials/tutorial_kml.py index ea6f92444..8080b754c 100644 --- a/tutorials/tutorial_kml.py +++ b/tutorials/tutorial_kml.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_kml - ~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to overlay kml flles on top of the map in topview. kml(key hole markup language) is an XML based file format for demonstrating geographical context. This will diff --git a/tutorials/tutorial_performancesettings.py b/tutorials/tutorial_performancesettings.py index 553f72978..f23938e75 100644 --- a/tutorials/tutorial_performancesettings.py +++ b/tutorials/tutorial_performancesettings.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_performancesettings - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to change the performance of flight track in table view such as managing fuel capacity, etc. diff --git a/tutorials/tutorial_remotesensing.py b/tutorials/tutorial_remotesensing.py index 4b3b378d5..b7bb8c17e 100644 --- a/tutorials/tutorial_remotesensing.py +++ b/tutorials/tutorial_remotesensing.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_remotesensing - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to work with remote sensing tool in topview. This file is part of MSS. diff --git a/tutorials/tutorial_satellitetrack.py b/tutorials/tutorial_satellitetrack.py index a69ac2b7d..e6039c964 100644 --- a/tutorials/tutorial_satellitetrack.py +++ b/tutorials/tutorial_satellitetrack.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_satellitetrack - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to work with remote sensing tool in topview. This file is part of MSS. diff --git a/tutorials/tutorial_views.py b/tutorials/tutorial_views.py index 03b9ab579..1d41bf331 100644 --- a/tutorials/tutorial_views.py +++ b/tutorials/tutorial_views.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_views - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to use the top view, side view, table view andq linear view section of Mission Support System in creating a operation and planning the flightrack. diff --git a/tutorials/tutorial_waypoints.py b/tutorials/tutorial_waypoints.py index 7a4e9bf6d..0a93703d8 100644 --- a/tutorials/tutorial_waypoints.py +++ b/tutorials/tutorial_waypoints.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_waypoints - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to play with and use waypoints for activating/creating a flight track. diff --git a/tutorials/tutorial_wms.py b/tutorials/tutorial_wms.py index 2b7c1a28b..f4a36e74d 100644 --- a/tutorials/tutorial_wms.py +++ b/tutorials/tutorial_wms.py @@ -1,6 +1,6 @@ """ msui.tutorials.tutorial_wms - ~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script generates an automatic demonstration of how to use the web map service section of Mission Support System and plan flighttracks accordingly. diff --git a/tutorials/utils/audio.py b/tutorials/utils/audio.py index 62d4cf1a9..074c7cf9a 100644 --- a/tutorials/utils/audio.py +++ b/tutorials/utils/audio.py @@ -1,6 +1,6 @@ """ msui.tutorials.audio - ~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ This python script is meant for generating audio of our choice from text files describing the tutorial. diff --git a/tutorials/utils/cursor.py b/tutorials/utils/cursor.py index f6af6ebe1..5cbc116b8 100644 --- a/tutorials/utils/cursor.py +++ b/tutorials/utils/cursor.py @@ -1,6 +1,6 @@ """ msui.tutorials.cursor - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ This python script generates the png image of the cursor for linux systems and store it in 'tutorials/cursor_image.png.' Then, this image is used inside screenrecorder.py file. This displays diff --git a/tutorials/utils/platform_keys.py b/tutorials/utils/platform_keys.py index 5bf3b4ae4..e6a00e545 100644 --- a/tutorials/utils/platform_keys.py +++ b/tutorials/utils/platform_keys.py @@ -1,6 +1,6 @@ """ msui.tutorials.utils.platform_keys - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Includes platform-specific modules diff --git a/tutorials/utils/screenrecorder.py b/tutorials/utils/screenrecorder.py index b5e40a321..33943ea47 100644 --- a/tutorials/utils/screenrecorder.py +++ b/tutorials/utils/screenrecorder.py @@ -1,6 +1,6 @@ """ msui.tutorials.screenrecorder - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This python script is meant for recording the screens while automated tutorials are running.