import rdflib from trygvis.eda import EdaException KICAD = rdflib.Namespace("https://trygvis/purl/kicad#") KICAD_RANDOM = rdflib.Namespace("https://trygvis/purl/kicad-random/") KICAD_FOOTPRINT = rdflib.Namespace("https://trygvis/purl/kicad-footprints#") # Namespace for all unknown kicad boards KICAD_BOARD = rdflib.Namespace("https://trygvis/purl/kicad-board#") def gen_random(key: object): s = str(key) if len(s) == 0: raise EdaException("Can't generate a random URI for empty strings.") s = str(abs(hash(s))) return KICAD_RANDOM.term(s)