{ "info": { "author": "Donovan C. Young", "author_email": "dyoung522@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Games/Entertainment", "Topic :: Games/Entertainment :: Simulation", "Topic :: Utilities" ], "description": "Ortho4XP Tile Validator\n=======================\n\nHave you:\n\n- Built dozens if not hundreds of Ortho4XP tiles, but now get\n mysterious crashes when scenery tries to load?\n- Had your Ortho4XP process crash during the night and don't know which\n tiles completed successfully?\n\nI have. So I wrote a utility to scan through all the Ortho4XP tiles and\nvalidate them, reporting any tiles that have errors so I can fix them in\nOrtho4XP.\n\nInstallation\n~~~~~~~~~~~~\n\nIf you already have Python(v3) installed and working, you can use\n``pip3`` to install:\n\n::\n\n $ pip3 install otv\n\nOtherwise, head over to `GitHub `__ or\n`PyPi `__ and download the latest\nrelease.\n\nGetting Started\n~~~~~~~~~~~~~~~\n\nThere are three ways to run the program:\n\n1. If you installed via the ``pip3`` installer, you'll have an\n executable named **otv** available, so you should be able to:\n\n 1. cd into your Ortho4XP directory\n 2. run ``otv``\n\n2. Download the latest release from\n `PyPi `__ or\n `GitHub `__ and extract it into a\n folder. From the command line, run:\n\n ::\n\n python3 bin/otv YourOrtho4XPdir\n\n *(Obviously; change \"YourOrtho4XPdir\" to wherever you've stored your\n Ortho Tiles)*\n\n3. If you're on windows, and prefer an EXE, download the latest release\n from `GitHub `__ or\n `PyPi `__, then:\n\n 1. Extract the package (anywhere on your filesystem)\n 2. Create a shortcut from ``bin/otv.exe`` on your desktop (*must* be\n a shortcut).\n 3. Go to the *Properties* of the **shortcut** and change the \"Start\n In\" field to point to your Ortho4XP directory.\n\n Then you can simply double click the shortcut to run the utility\n anytime.\n\nMore Info\n~~~~~~~~~\n\n- Running otv without any additional arguments will give you a help\n message:\n\n ::\n\n usage: Ortho4XP Tile Validator [-q | -v] [-p | --no-pause] [--no-progress]\n [-h] [--version]\n [tile_directory]\n\n Scan all Ortho4XP Tiles and report any problems\n\n positional arguments:\n tile_directory Directory where Tiles are stored (usually your Ortho4XP\n dir) - If not provided; will use the current directory\n\n display output:\n -q, --quiet Suppresses all output; exit value indicates errors found\n -v, -V, --verbose Increase verbosity (repeat to increase verbosity more)\n\n alter defaults:\n -p, -P, --pause Pause the program before exiting (default for Windows)\n --no-pause Disable auto-pause\n --no-progress Disables the progress bar display\n\n help and information:\n -h, --help show this help message and exit\n --version show program's version number and exit\n\n- Currently, it checks for things like:\n\n - missing or empty data directories (Earth Nav Data, Terrain,\n Textures)\n - missing references to textures from each terrain file\n - textures which exist but aren't referenced from a terrain\n\n- You can find the pip page on\n `PyPi `__ and the source code on\n `GitHub `__ (both provide package\n downloads)\n\nOTV is currently in beta, so if you're interested, please try it out and\nlet me know how it works for you. I would appreciate any feedback and/or\nbug reports.\n\nKnown Issues\n~~~~~~~~~~~~\n\n- On Windows, the utility will pause after each run, even if running\n from a command line. This is done because most Windows users will be\n running the util from a Shortcut, so the pause is necessary without\n having to specifically add it. You can use the ``--no-pause`` option\n to disable this functionality\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dyoung522/otv", "keywords": "ortho4xp,x-plane", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "otv", "package_url": "https://pypi.org/project/otv/", "platform": "", "project_url": "https://pypi.org/project/otv/", "project_urls": { "Homepage": "https://github.com/dyoung522/otv" }, "release_url": "https://pypi.org/project/otv/1.0.1/", "requires_dist": [ "tqdm", "colorama" ], "requires_python": ">=3", "summary": "Ortho4XP Tile Validator", "version": "1.0.1" }, "last_serial": 3559314, "releases": { "0.2.1.dev0": [ { "comment_text": "", "digests": { "md5": "b802917429ff76b57861b5d6f309c549", "sha256": "fe04eb9c262dc63777c7b36de9e06080f2aa4fc4ce3d44880225c7eed3bd4539" }, "downloads": -1, "filename": "otv-0.2.1.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b802917429ff76b57861b5d6f309c549", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6575, "upload_time": "2018-02-01T03:47:07", "url": "https://files.pythonhosted.org/packages/4b/1d/f4d4f4f439ce229a2f9ec96c018b191b35bd4c832c07967b7b974045106c/otv-0.2.1.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "142e69e2697425933f138f54ab03e363", "sha256": "944d8579f3bac5ab761829d0be2961fda2fcb1284e362ae2b1f87451be17016b" }, "downloads": -1, "filename": "otv-0.2.1.dev0.tar.gz", "has_sig": true, "md5_digest": "142e69e2697425933f138f54ab03e363", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3898, "upload_time": "2018-02-01T03:47:08", "url": "https://files.pythonhosted.org/packages/6d/c8/8efda227f9446f8a84fa0194c34e8521eab46a3cca4c3e103e85e5e8eadf/otv-0.2.1.dev0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "e56917f34a38eb1981afe0dea225f74d", "sha256": "084f00991f6bfa12aedb1ab00e25f9d2c74d06f641b53c77c082ec3d1898ea28" }, "downloads": -1, "filename": "otv-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e56917f34a38eb1981afe0dea225f74d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 10655, "upload_time": "2018-02-05T06:18:23", "url": "https://files.pythonhosted.org/packages/d8/c2/1b30160c85e65d39a86ba019050aee1fe11c5e72c420bfb36d7aabe09571/otv-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e2c69e8539e5c5de262cc7fdf65cadf", "sha256": "74bb3eaa49cfed48070b97fcf36a1c2010eb2731df3f89da8a81242345d12821" }, "downloads": -1, "filename": "otv-1.0.0.tar.gz", "has_sig": true, "md5_digest": "9e2c69e8539e5c5de262cc7fdf65cadf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5706492, "upload_time": "2018-02-05T06:18:26", "url": "https://files.pythonhosted.org/packages/42/64/07c05e0494c357e30eac42bd5239cb1df87881d5c257fa71b2b48b9d79a4/otv-1.0.0.tar.gz" } ], "1.0.0rc0": [ { "comment_text": "", "digests": { "md5": "4b138c2b4e59193526df22bbd415a92c", "sha256": "7d1938b3da614d3801c4dd28f33ff41335b72aecef1f91910c6aaac26f3e35d2" }, "downloads": -1, "filename": "otv-1.0.0rc0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b138c2b4e59193526df22bbd415a92c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7138, "upload_time": "2018-02-02T02:31:07", "url": "https://files.pythonhosted.org/packages/08/35/7e26d06278269e1af7980aabe89eb1942537401cd1b8bb1651920d290d88/otv-1.0.0rc0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03c3763de614bb2060ed3bb8b3f77248", "sha256": "1f059d19846fca15d20b79f6ac9f89baf96cc3b2ec6dfaeedad7e9f88043196e" }, "downloads": -1, "filename": "otv-1.0.0rc0.tar.gz", "has_sig": true, "md5_digest": "03c3763de614bb2060ed3bb8b3f77248", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4468, "upload_time": "2018-02-02T02:31:08", "url": "https://files.pythonhosted.org/packages/7b/d3/019b24d15978d8992a5b06f319d25edbc7b11281cb5937b1b720ca4f59b5/otv-1.0.0rc0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "880527573ec2f11dd1c927df95d36737", "sha256": "c291e110b13552a4f371255bd460838633c5e7360e3ec7ab2f232ff66b6288a4" }, "downloads": -1, "filename": "otv-1.0.0rc1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "880527573ec2f11dd1c927df95d36737", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7140, "upload_time": "2018-02-02T02:49:03", "url": "https://files.pythonhosted.org/packages/d7/d5/44a6d700fddc3aa56b30cff49f4247cf75ddd7eba5399dbb046a34e06444/otv-1.0.0rc1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ef6f861b769ec29d619d7cb8576232b", "sha256": "66025056670ae77aa47d4b2e92c0b794009743a3a12bc046442ffd9a74664b3b" }, "downloads": -1, "filename": "otv-1.0.0rc1.tar.gz", "has_sig": true, "md5_digest": "4ef6f861b769ec29d619d7cb8576232b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4453, "upload_time": "2018-02-02T02:49:04", "url": "https://files.pythonhosted.org/packages/c4/6e/a8efd38a32b429685c7ceb47e3e7899b31f881c6284eb0ebfdb9084e9302/otv-1.0.0rc1.tar.gz" } ], "1.0.0rc2": [ { "comment_text": "", "digests": { "md5": "341498b0cd3a1a5dbf668003f5ecc347", "sha256": "b99c0a39922f960feb8292eb1b6fcd15b084ad2233034c124ec87a756007c9aa" }, "downloads": -1, "filename": "otv-1.0.0rc2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "341498b0cd3a1a5dbf668003f5ecc347", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7218, "upload_time": "2018-02-02T03:46:28", "url": "https://files.pythonhosted.org/packages/6d/e0/44bff2db06ec423da8cc6d9e8144da43e65d54271262ac3d783224ace3bb/otv-1.0.0rc2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92e49445333344b515758034392ce2d9", "sha256": "bd2abb71ab2cffaead6f9226ff93b530dc8b8d95947b048c574b2841ab4bb410" }, "downloads": -1, "filename": "otv-1.0.0rc2.tar.gz", "has_sig": true, "md5_digest": "92e49445333344b515758034392ce2d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4530, "upload_time": "2018-02-02T03:46:29", "url": "https://files.pythonhosted.org/packages/aa/64/3991bfc98ec21657f5a8aed6a6169b6086879539f8cdd351f5410452bd44/otv-1.0.0rc2.tar.gz" } ], "1.0.0rc3": [ { "comment_text": "", "digests": { "md5": "5ef6b82724c126a4c3a829917c232539", "sha256": "e6b62fb45442d6bbd5575b9ebfc20ee52386d82d22e16c7460d5b3644667c222" }, "downloads": -1, "filename": "otv-1.0.0rc3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ef6b82724c126a4c3a829917c232539", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7671, "upload_time": "2018-02-02T06:05:26", "url": "https://files.pythonhosted.org/packages/27/47/6bbb3667cd5c4ad39cd2bd532b60697d2f17f1b8e5bd957a798c78630745/otv-1.0.0rc3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e48771debba59ccf46a470cb921ca69d", "sha256": "b7774af118d72c1ccd0853e43683d1c9df8b96750d70b0d2f738fdecd7eaa1be" }, "downloads": -1, "filename": "otv-1.0.0rc3.tar.gz", "has_sig": true, "md5_digest": "e48771debba59ccf46a470cb921ca69d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4924, "upload_time": "2018-02-02T06:05:27", "url": "https://files.pythonhosted.org/packages/ed/b8/6b57930942d8ba2e74ff7bc9d70a23b7c663d7b1b00b5cde5ba2b8fe5599/otv-1.0.0rc3.tar.gz" } ], "1.0.0rc4": [ { "comment_text": "", "digests": { "md5": "38cd9c2fc75b402f1eeab5d5c0f1ae5d", "sha256": "486468ca43bb68ac9b2743676492b3b34b6a641b6c5a61bc2e270a104742abb6" }, "downloads": -1, "filename": "otv-1.0.0rc4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "38cd9c2fc75b402f1eeab5d5c0f1ae5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7470, "upload_time": "2018-02-03T02:52:32", "url": "https://files.pythonhosted.org/packages/86/7e/e7bf9433abf5f1ca23d631c968c2c999fa1f9ed86a27e3409e06d2d91566/otv-1.0.0rc4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63c2ebe45fe494a61db74502642ef02d", "sha256": "430be356295bf82a50ebc29b2a376ae357e29eb967a897515b46b4f516bb197f" }, "downloads": -1, "filename": "otv-1.0.0rc4.tar.gz", "has_sig": true, "md5_digest": "63c2ebe45fe494a61db74502642ef02d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4920, "upload_time": "2018-02-03T02:52:34", "url": "https://files.pythonhosted.org/packages/5a/12/3003ec5308dde63f3bbc04c3e808681beb60677991ce4213226df850dc11/otv-1.0.0rc4.tar.gz" } ], "1.0.0rc5": [ { "comment_text": "", "digests": { "md5": "6d2f25e6985b321089c5698c7be27b39", "sha256": "f0dd60ccb66f218cb051bb4fe5e9a8a33478ac28941de49e81a0e1da34fb2fb9" }, "downloads": -1, "filename": "otv-1.0.0rc5-py3-none-any.whl", "has_sig": false, "md5_digest": "6d2f25e6985b321089c5698c7be27b39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7591, "upload_time": "2018-02-03T04:01:06", "url": "https://files.pythonhosted.org/packages/05/67/903ee602e123af70b0027db4239c8d642ca499339c054badd40e33bc20ca/otv-1.0.0rc5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b002af5a27ac853de22496fe973b8d1d", "sha256": "6b9cff6dc837cb41485243bd57b5768225de9beaeddbcbf9f8322003f874d6a4" }, "downloads": -1, "filename": "otv-1.0.0rc5.tar.gz", "has_sig": true, "md5_digest": "b002af5a27ac853de22496fe973b8d1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5013, "upload_time": "2018-02-03T04:01:08", "url": "https://files.pythonhosted.org/packages/98/a5/01928eb2d9955c5b66034c81414f87ac13cd64b90baa13ff703a6b80494e/otv-1.0.0rc5.tar.gz" } ], "1.0.0rc6": [ { "comment_text": "", "digests": { "md5": "c7ab0e67f0930325d1116a0556454092", "sha256": "9d4b1a0edf7ebf8cddb3559803f9f9f9bea71e288695e79a2b0460baea98b6cb" }, "downloads": -1, "filename": "otv-1.0.0rc6-py3-none-any.whl", "has_sig": false, "md5_digest": "c7ab0e67f0930325d1116a0556454092", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9957, "upload_time": "2018-02-03T06:01:25", "url": "https://files.pythonhosted.org/packages/43/d7/f93230b2db212200fe483367d68c14fbcda09a14bc95ebe7ad011bdfba3d/otv-1.0.0rc6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbc8938f3b32c2c8a446964d72b2d265", "sha256": "69322623801ba9a2c938c48031b44313c8568a131f00a5fd13a5d946f36a00d2" }, "downloads": -1, "filename": "otv-1.0.0rc6.tar.gz", "has_sig": true, "md5_digest": "fbc8938f3b32c2c8a446964d72b2d265", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6302, "upload_time": "2018-02-03T06:01:27", "url": "https://files.pythonhosted.org/packages/c1/03/6055c00d2fa0f5ac6f36df64114d0926218bcc8fe228fb500e5607af5cf5/otv-1.0.0rc6.tar.gz" } ], "1.0.0rc7": [ { "comment_text": "", "digests": { "md5": "1993754af3a347db4add9e3c08e756c0", "sha256": "be093e0b8a289b0a944c5c673a45e8a60ed2072dd817ee9a3f2832e40aaa6054" }, "downloads": -1, "filename": "otv-1.0.0rc7-py3-none-any.whl", "has_sig": false, "md5_digest": "1993754af3a347db4add9e3c08e756c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 9976, "upload_time": "2018-02-03T19:05:34", "url": "https://files.pythonhosted.org/packages/62/b8/c946e72dcd6ba56299bc43c8d71a0acb037709dd40615368f80c4edf96a8/otv-1.0.0rc7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a63aa67a4477716fc3334ef0d7092643", "sha256": "e4e9faa9ce1f7a787eacb2995a5e125365153b82524a40f294632879467ac77d" }, "downloads": -1, "filename": "otv-1.0.0rc7.tar.gz", "has_sig": true, "md5_digest": "a63aa67a4477716fc3334ef0d7092643", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5370317, "upload_time": "2018-02-03T19:05:36", "url": "https://files.pythonhosted.org/packages/57/02/f989c6e6e11751be85b49253272cfd46794142f1db2e94e59852c819a162/otv-1.0.0rc7.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e5c55e3009b0e06c2b91e4a7e420bd25", "sha256": "7f2ef17fdfa4f3695740f77fc52cb61c13e2409dd2b31fb5a9834229ed48a5c1" }, "downloads": -1, "filename": "otv-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e5c55e3009b0e06c2b91e4a7e420bd25", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 10749, "upload_time": "2018-02-07T04:52:30", "url": "https://files.pythonhosted.org/packages/8a/fe/8dffa9cf9a410099363d9f3c40ac7fd3c83832f211369bf62f4e8f15c9db/otv-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "486efec3749ac10e78674273fbc2667f", "sha256": "6621776fa844bc7aab150fe2f0a632a1d730f5e4a79b9cec688db48ad1691de6" }, "downloads": -1, "filename": "otv-1.0.1.tar.gz", "has_sig": true, "md5_digest": "486efec3749ac10e78674273fbc2667f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5705438, "upload_time": "2018-02-07T04:52:34", "url": "https://files.pythonhosted.org/packages/ea/c9/003390e0851fe6d5b0cb5ae964b53339e9af517a1427ba05922abab1940c/otv-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e5c55e3009b0e06c2b91e4a7e420bd25", "sha256": "7f2ef17fdfa4f3695740f77fc52cb61c13e2409dd2b31fb5a9834229ed48a5c1" }, "downloads": -1, "filename": "otv-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e5c55e3009b0e06c2b91e4a7e420bd25", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 10749, "upload_time": "2018-02-07T04:52:30", "url": "https://files.pythonhosted.org/packages/8a/fe/8dffa9cf9a410099363d9f3c40ac7fd3c83832f211369bf62f4e8f15c9db/otv-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "486efec3749ac10e78674273fbc2667f", "sha256": "6621776fa844bc7aab150fe2f0a632a1d730f5e4a79b9cec688db48ad1691de6" }, "downloads": -1, "filename": "otv-1.0.1.tar.gz", "has_sig": true, "md5_digest": "486efec3749ac10e78674273fbc2667f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5705438, "upload_time": "2018-02-07T04:52:34", "url": "https://files.pythonhosted.org/packages/ea/c9/003390e0851fe6d5b0cb5ae964b53339e9af517a1427ba05922abab1940c/otv-1.0.1.tar.gz" } ] }