def intern_atom(self, name, only_if_exists = 0):
     """Intern the string name, returning its atom number. If
     only_if_exists is true and the atom does not already exist, it
     will not be created and X.NONE is returned."""
     r = request.InternAtom(display = self.display,
                            name = name,
                            only_if_exists = only_if_exists)
     return r.atom
    def get_atom(self, atomname, only_if_exists=0):
        if atomname in self._atom_cache:
            return self._atom_cache[atomname]

        r = request.InternAtom(display = self, name = atomname, only_if_exists = only_if_exists)

         # don't cache NONE responses in case someone creates this later
        if r.atom != X.NONE:
            self._atom_cache[atomname] = r.atom

        return r.atom