Beispiel #1
0
 def _build_entity2name_mapping(self, namespace):
     ret = {}
     en = EntityName(db)
     logger.debug("list names in %s" % namespace)
     for row in en.list_names(namespace):
         ret[int(row['entity_id'])] = row['entity_name']
     return ret
Beispiel #2
0
    def find_by_name(self, name):
        """Associate the object with the Host whose name is name.  If
        name isn't an existing Host identifier, NotFoundError is
        raised.

        """
        EntityName.find_by_name(self, name, self.const.host_namespace)
Beispiel #3
0
 def _build_entity2name_mapping(self, namespace):
     ret = {}
     en = EntityName(db)
     logger.debug("list names in %s" % namespace)
     for row in en.list_names(namespace):
         ret[int(row['entity_id'])] = row['entity_name']
     return ret
def get_creator_id(db):
    co = Factory.get('Constants')(db)
    entity_name = EntityName(db)
    entity_name.find_by_name(cereconf.INITIAL_ACCOUNTNAME,
                             co.account_namespace)
    id = entity_name.entity_id
    return id
Beispiel #5
0
    def find_by_name(self, name):
        """Associate the object with the Host whose name is name.  If
        name isn't an existing Host identifier, NotFoundError is
        raised.

        """
        EntityName.find_by_name(self, name, self.const.host_namespace)
Beispiel #6
0
    def __init__(self, db, dryrun):
        self.db = db
        self.co = Factory.get('Constants')(db)
        self.dryrun = dryrun

        en = EntityName(self.db)
        self.entity2name = {}
        for namespace in (self.co.account_namespace, self.co.group_namespace):
            logger.debug("Caching %s names", namespace)
            self.entity2name.update((x['entity_id'], x['entity_name'])
                                    for x in en.list_names(namespace))
Beispiel #7
0
 def get_name(e_id, e_type):
     namespace = ENTITY_TYPE_NAMESPACE.get(six.text_type(e_type))
     if namespace is None:
         return None
     else:
         namespace = co.ValueDomain(namespace)
     entity = EntityName(self._db)
     try:
         entity.find(e_id)
         return entity.get_name(namespace)
     except Cerebrum.Errors.NotFoundError:
         return None
Beispiel #8
0
    def __init__(self, *rest, **kw):
        self.__super.__init__(*rest, **kw)

        # VirtAccounts are owner by the system, rather than people/groups. We
        # need these ids later. Easier to fetch them right now and forget
        # about it.
        initial_group = Utils.Factory.get("Group")(self._db)
        initial_group.find_by_name(cereconf.INITIAL_GROUPNAME)
        self.initial_group = initial_group.entity_id

        initial_account = EntityName(self._db)
        initial_account.find_by_name(cereconf.INITIAL_ACCOUNTNAME, self.const.account_namespace)
        self.initial_account = initial_account.entity_id
        self.legal_chars = set(string.letters + string.digits + " .@")
Beispiel #9
0
    def __init__(self, *rest, **kw):
        self.__super.__init__(*rest, **kw)

        # VirtAccounts are owner by the system, rather than people/groups. We
        # need these ids later. Easier to fetch them right now and forget
        # about it.
        initial_group = Utils.Factory.get("Group")(self._db)
        initial_group.find_by_name(cereconf.INITIAL_GROUPNAME)
        self.initial_group = initial_group.entity_id

        initial_account = EntityName(self._db)
        initial_account.find_by_name(cereconf.INITIAL_ACCOUNTNAME,
                                     self.const.account_namespace)
        self.initial_account = initial_account.entity_id
        self.legal_chars = set(string.letters + string.digits + " .@")
Beispiel #10
0
 def _build_entity2name_mapping(self, namespace):
     if namespace in self._names:
         return
     self.logger.debug("list names in %s" % namespace)
     for row in EntityName(self.db).list_names(namespace):
         self.e_id2name[int(row['entity_id'])] = row['entity_name']
     self._names.add(namespace)
Beispiel #11
0
    def get_serial(self, inits, cstart, step=1, postfix=None):
        """
        Generate a new, numbered username.
        """
        lu = LegacyUsers(self._db)
        en = EntityName(self._db)
        found = False
        postfix = postfix or ''
        while cstart <= 999 and cstart >= 0:
            # xxx999 is reserved for admin use
            uname = "%s%03d%s" % (inits, cstart, postfix)
            if en.entity_name_exists(uname) or lu.exists(uname):
                cstart += step
            else:
                found = True
                break

        if not found:
            raise RuntimeError(
                "Unable to find serial using inits=%r, cstart=%r, step=%r" %
                (inits, cstart, step))
        return six.text_type(uname)
Beispiel #12
0
 def find_by_name(self, name, domain=None):
     """Connect object to group having ``name`` in ``domain``."""
     if domain is None:
         domain = self.const.group_namespace
     EntityName.find_by_name(self, name, domain)
Beispiel #13
0
 def find_by_name(self, name, domain=None):
     """Connect object to group having ``name`` in ``domain``."""
     if domain is None:
         domain = self.const.group_namespace
     EntityName.find_by_name(self, name, domain)
Beispiel #14
0
 def find_by_name(self, name):
     EntityName.find_by_name(self, name, self.const.dns_owner_namespace)
Beispiel #15
0
 def find_by_name(self, name):
     EntityName.find_by_name(self, name, self.const.dns_owner_namespace)
Beispiel #16
0
 def _build_entity2name_mapping(self, namespace):
     logger.info('Caching names in namespace=%r', namespace)
     for row in EntityName(self.db).list_names(namespace):
         self.e_id2name[int(row['entity_id'])] = row['entity_name']
     self._names.add(namespace)