def main(): domain = Domain() # Parse command line arguments parser = argparse.ArgumentParser(description=__doc__) utils.add_standard_command_options(parser) parser.add_argument( '--site', action='store', dest='site', help='APUB-site', ) # parser.add_argument( # '-i', required=True, # action='store', dest='res', # help='.RES file of the input result', # ) # parser.add_argument( # '--ext', required=True, # action='store', dest='ext', # help='ext for the result field to be exported', # ) # parser.add_argument( # '-d', '--date', # action="store", dest='date', # type=lambda s: datetime.datetime.strptime(s, '%y%m%d%H'), # help="Time stamp to show 'YYMMDDhh, " + # "default is first timestamp of result'" # ) # parser.add_argument( # '--substance', # action='store', dest='substance', # help='Substance/ext for the result field to be imported', # ) parser.add_argument( '--areaid', action='store', dest='areaid', help='Area id' ) args = parser.parse_args() site = os.environ.get("SITE", None) or args.site if site is None: log.error("No apub site specified") sys.exit(1) with open(path.join('/var/www/html', site, 'gmapgridoverlay.htm')) as html_template: template = Template(html_template.read()) rf = ControlFile( path.join(os.environ["RSRCDIR"], "apub." + site + ".gmapgridoverlay.rf"), "HP Roman8" ) form = cgi.FieldStorage() viewports = domain.listViewports() areaid = form.getfirst('areaid', None) if areaid is not None: areaid = cgi.escape(areaid) areaid = areaid or \ args.areaid or \ viewports[0] viewport = ViewPort() viewport.read(code=areaid) proj = get_proj4(viewport.proj) data = get_latlon_bounds( viewport.xmin(), viewport.ymin(), viewport.xmax(), viewport.ymax(), proj) print(template.substitute(data))
def main(): #-----------Setting up and unsing option parser----------------------- parser=OptionParser(usage= usage, version=version) parser.add_option("-u",'--user', action="store",dest="user", help="Name of target edb user") parser.add_option("-e","--edb", action="store",dest="edb", help="Name of target edb") parser.add_option("-v","--viewports", action="store",dest="viewports", help="Comma-separated list of area id's to be cut out, default is all") parser.add_option("-y","--year", action="store",dest="year", help="Cut out for given year") parser.add_option("-l", "--loglevel", action="store",dest="loglevel",default=2, help="Sets the loglevel (0-3 where 3=full logging)") parser.add_option("-s","--suffix", action="store",dest="suffix",default="v1", help="Sets suffix to names of generated edb's to support version management, default is 'v1'") (options, args) = parser.parse_args() #--------------------Init logger----------------------- rootLogger = logger.RootLogger(level=options.loglevel) global log log = rootLogger.getLogger(sys.argv[0]) #-----------------Validating options------------------- if options.user is None: log.error("Need to specify -u <user>") return 1 if options.edb is None: log.error("Need to specify -e <edb>") return 1 if options.year is None: log.error("Need to specify -y <year>") return 1 if len(options.suffix)>4: log.error("Limit your suffix length to 4 characters") return 1 if len(options.year)!=4: log.error("Year should be given with four digits") return 1 dmn=Domain() viewports=[] if options.viewports is not None: viewportIds=options.viewports.split(",") else: viewportIds=dmn.listViewports() for vpId in viewportIds: vp=ViewPort() vp.read(path.join(dmn.wndPath(),"modell.par"),vpId) viewports.append(vp) edb=Edb(dmn,options.user,options.edb) log.info("Reading sourcedb...") sourcedb=Sourcedb(edb) sourcedb.read() log.info("Reading emfacdb...") emfacdb=Emfacdb(edb) emfacdb.read() log.info("Reading subdb...") subdb=Subdb(edb) subdb.read() edbDotRsrc=edb.rsrcPath() for vpInd,vp in enumerate(viewports): targetEdbName=vp.code+"_"+options.year+"_"+options.suffix tEdb=Edb(dmn,options.user,targetEdbName) if tEdb.exists(): log.info("Edb %s already exists, remove first to update" %targetEdbName) continue tEdb.create(edbRsrc=edbDotRsrc) log.info("Created empty edb %s" %targetEdbName) subdb.setEdb(tEdb) subdb.write() log.info("Wrote searchkeys") emfacdb.setEdb(tEdb) emfacdb.write() log.info("Wrote emfacdb") tSourcedb=Sourcedb(tEdb) log.info("Cutting out viewport %s (%i/%i)" %(vp.code,vpInd+1,len(viewports))) for srcInd,src in enumerate(sourcedb.sources): if includeShip(src,vp.code,src["Y1"],options.year): log.debug("Ship %i/%i included in %s" %(srcInd+1,len(sourcedb.sources),tEdb.name)) tSourcedb.sources.append(src) tSourcedb.write() log.info("Wrote exatracted sources to %s" %tEdb.name) tEdb.setDesc("This edb has been extracted from %s under user %s, " %(edb.name,edb.user)+ "and includes all ships that have visited the map area %s (%s) during %s\n" %(vp.code,vp.name,options.year)) log.info("Finished!") return 0