Home | Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/env python3 2 # ****************************************************************************** 3 # $Id$ 4 # 5 # Project: GDAL 6 # Purpose: Application to identify files by format. 7 # Author: Frank Warmerdam, warmerdam@pobox.com 8 # 9 # ****************************************************************************** 10 # Copyright (c) 2007, Frank Warmerdam <warmerdam@pobox.com> 11 # 12 # Permission is hereby granted, free of charge, to any person obtaining a 13 # copy of this software and associated documentation files (the "Software"), 14 # to deal in the Software without restriction, including without limitation 15 # the rights to use, copy, modify, merge, publish, distribute, sublicense, 16 # and/or sell copies of the Software, and to permit persons to whom the 17 # Software is furnished to do so, subject to the following conditions: 18 # 19 # The above copyright notice and this permission notice shall be included 20 # in all copies or substantial portions of the Software. 21 # 22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 23 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 25 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 27 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 28 # DEALINGS IN THE SOFTWARE. 29 # ****************************************************************************** 30 # 31 32 import os 33 import stat 34 import sys 35 36 from osgeo import gdal 37 38 39 # ============================================================================= 40 # Usage() 41 # ============================================================================= 45 46 # ============================================================================= 47 # ProcessTarget() 48 # ============================================================================= 49 5052 53 if filelist is not None: 54 driver = gdal.IdentifyDriver(target, filelist) 55 else: 56 driver = gdal.IdentifyDriver(target) 57 58 if driver is not None: 59 print('%s: %s' % (target, driver.ShortName)) 60 elif report_failure: 61 print('%s: unrecognized' % target) 62 63 if recursive and driver is None: 64 try: 65 mode = os.stat(target)[stat.ST_MODE] 66 except OSError: 67 mode = 0 68 69 if stat.S_ISDIR(mode): 70 subfilelist = os.listdir(target) 71 for item in subfilelist: 72 subtarget = os.path.join(target, item) 73 ProcessTarget(subtarget, 1, report_failure, subfilelist)74 7577 recursive = 0 78 report_failure = 0 79 files = [] 80 81 gdal.AllRegister() 82 argv = gdal.GeneralCmdLineProcessor(argv) 83 if argv is None: 84 sys.exit(0) 85 86 # Parse command line arguments. 87 i = 1 88 while i < len(argv): 89 arg = argv[i] 90 91 if arg == '-r': 92 recursive = 1 93 94 elif arg == '-f': 95 report_failure = 1 96 97 else: 98 files.append(arg) 99 100 i = i + 1 101 102 if not files: 103 Usage() 104 105 for f in files: 106 ProcessTarget(f, recursive, report_failure)107 108 109 if __name__ == '__main__': 110 sys.exit(main(sys.argv)) 111
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Oct 26 13:28:01 2020 | http://epydoc.sourceforge.net |