def opt_local_ivo(self, local_ivo): try: parse_ivorn(local_ivo) except: raise usage.UsageError("Invalid IVOA identifier: %s\n " "Required format: ivo://authorityID/resourceKey#local_ID" % local_ivo) self['local-ivo'] = local_ivo
def opt_local_ivo(self, local_ivo): # In Python 3, we should receive options as unicode strings. In Python # 2, we'll get byte strings. Normalize so they are always unicode. if isinstance(local_ivo, BINARY_TYPE): local_ivo = local_ivo.decode() try: parse_ivorn(local_ivo) except Exception as e: raise usage.UsageError( "Invalid IVOA identifier: %s\n " "Required format: ivo://authorityID/resourceKey#local_ID" % local_ivo ) self["local-ivo"] = local_ivo
def _get_event_details(event): auth, rsrc, local = parse_ivorn(event.element.attrib['ivorn']) db_path = os.path.join(auth, rsrc).replace(os.path.sep, "_") key = sha1(event.raw_bytes).hexdigest() return db_path, key