def get_args(sys_argv): args = MapArgs(sys_argv) if (args.location is None) and (args.gpx is None) and ((args.lat is None) or (args.lng is None)): args.print_help() os.kill(os.getpid(), signal.SIGTERM) sys.exit(0) if ((args.lat is None) or (args.lng is None)) and (args.gpx is None): locations = ctx_map.get_locations() if (not args.location in locations.keys()): args.location = ctx_map.search_location(args.location) if (args.location[:6] == "error="): print args.location[6:] sys.exit(0) coord = ctx_map.get_locations()[args.location] args.lat = coord[0] args.lng = coord[1] if args.gpx: # GPX path mode args.width = int(args.width) if args.width < 0: args.width = 2 # The default for GPX else: if args.width > 0: args.lng_range = km_to_lon(args.width, args.lat) if args.height > 0: args.lat_range = km_to_lat(args.height) return args
def start_download(self, w, strFolder): # Creating our own gmap self.gmap = mapServices.MapServ(self.conf) self.complete = [] self.downloader = MapDownloader(self.gmap, self.conf.maxthreads) if self.conf.map_service in NO_BULK_DOWN: if not legal_warning(self, self.conf.map_service, "bulk downloading"): self.all_done("Canceled") return args = MapArgs() if self.processing: return try: args.lat = float(self.e_lat0.get_text()) args.lng = float(self.e_lon0.get_text()) args.width = float(self.e_kmx.get_text()) args.height = float(self.e_kmy.get_text()) args.min_zl = self.s_zoom0.get_value_as_int() args.max_zl = self.s_zoom1.get_value_as_int() except ValueError: d = gtk.MessageDialog(self, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Some field contain non-numbers") d.run() d.destroy() return self.b_pause.set_sensitive(True) self.b_download.set_sensitive(False) self.b_open.set_sensitive(False) # Save the map info self.save_info(check_dir(strFolder), str(args)) for layer in range(len(self.layers)): self.pbar.set_text(" ") self.processing = True if self.layers[layer].get_active(): self.downloader.bulk_download( (args.lat, args.lng, 15), (args.min_zl, args.max_zl), args.width, args.height, layer, gui_callback(self.tile_received), self.download_complete, self.force_update, self.conf) self.processing = False
def start_download(self, w, strFolder): # Creating our own gmap self.gmap = mapServices.MapServ(self.conf) self.complete = [] self.downloader = MapDownloader(self.gmap, self.conf.maxthreads) if self.conf.map_service in NO_BULK_DOWN: if not legal_warning(self, self.conf.map_service, "bulk downloading"): self.all_done("Canceled") return args = MapArgs() if self.processing: return try: args.lat = float(self.e_lat0.get_text()) args.lng = float(self.e_lon0.get_text()) args.width = float(self.e_kmx.get_text()) args.height = float(self.e_kmy.get_text()) args.min_zl = self.s_zoom0.get_value_as_int() args.max_zl = self.s_zoom1.get_value_as_int() except ValueError: d = gtk.MessageDialog(self, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Some field contain non-numbers") d.run() d.destroy() return self.b_pause.set_sensitive(True) self.b_download.set_sensitive(False) self.b_open.set_sensitive(False) # Save the map info self.save_info(check_dir(strFolder), str(args)) for layer in range(len(self.layers)): self.pbar.set_text(" ") self.processing = True if self.layers[layer].get_active(): self.downloader.bulk_download((args.lat, args.lng, 15), (args.min_zl, args.max_zl), args.width, args.height, layer, gui_callback(self.tile_received), self.download_complete, False, self.conf) self.processing = False
print "location = %s" % args.location if ((args.lat is None) or (args.lng is None)) and (args.gpx is None): locations = ctx_map.get_locations() if (not args.location in locations.keys()): args.location = ctx_map.search_location(args.location) if (args.location[:6] == "error="): print args.location[6:] sys.exit(0) coord = ctx_map.get_locations()[args.location] args.lat = coord[0] args.lng = coord[1] if args.gpx: # GPX path mode args.width = int(args.width) if args.width < 0: args.width = 2 # The default for GPX else: if args.width > 0: args.lng_range = km_to_lon(args.width, args.lat) if args.height > 0: args.lat_range = km_to_lat(args.height) if (args.location is None): args.location = "somewhere" if args.gpx is None: print "Download %s (%f, %f), range (%f, %f), mapsource: \"%s %s\", zoom level: %d to %d" % \ (args.location, args.lat, args.lng, args.lat_range, args.lng_range,