当前位置: 首页>>代码示例>>Python>>正文


Python DataHubConnection.delete_collaborator方法代码示例

本文整理汇总了Python中core.db.connection.DataHubConnection.delete_collaborator方法的典型用法代码示例。如果您正苦于以下问题:Python DataHubConnection.delete_collaborator方法的具体用法?Python DataHubConnection.delete_collaborator怎么用?Python DataHubConnection.delete_collaborator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在core.db.connection.DataHubConnection的用法示例。


在下文中一共展示了DataHubConnection.delete_collaborator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: delete_collaborator

# 需要导入模块: from core.db.connection import DataHubConnection [as 别名]
# 或者: from core.db.connection.DataHubConnection import delete_collaborator [as 别名]
    def delete_collaborator(self, repo, collaborator):
        superuser_con = DataHubConnection(
            user=settings.DATABASES['default']['USER'],
            password=settings.DATABASES['default']['USER'],
            repo_base=self.repo_base)
        repo_collaborators = superuser_con.list_collaborators(repo=repo)

        # The reason we're enforcing permission checks this way is to deal
        # with the edge case where a user removes himself as a collaborator
        # from another user's repo.
        if collaborator not in repo_collaborators:
            raise Exception('Failed to delete collaborator.'
                            ' %s is not a collaborator in the specified'
                            'repository.' % collaborator)
        if self.username != collaborator and self.username != self.repo_base:
            raise PermissionDenied(
                'Access denied. Missing required privileges')

        collab = User.objects.get(username=collaborator)
        Collaborator.objects.get(
            user=collab, repo_name=repo, repo_base=self.repo_base).delete()

        return superuser_con.delete_collaborator(
            repo=repo, collaborator=collaborator)
开发者ID:digideskio,项目名称:mit-datahub,代码行数:26,代码来源:manager.py

示例2: __init__

# 需要导入模块: from core.db.connection import DataHubConnection [as 别名]
# 或者: from core.db.connection.DataHubConnection import delete_collaborator [as 别名]
class DataHubManager:
  def __init__(self, user, repo_base=None, is_app=False):
    username = None
    password = None
    
    if is_app:
      app = App.objects.get(app_id=user)
      username = app.app_id
      password = hashlib.sha1(app.app_token).hexdigest()
    else:
      user = User.objects.get(username=user)
      username = user.username
      password = user.password
    
    self.user_con = DataHubConnection(
        user=username,
        repo_base=repo_base,
        password=password)
  
  ''' Basic Operations. '''

  def reset_connection(self, repo_base):
    self.user_con.reset_connection(repo_base=repo_base)

  def close_connection(self):    
    self.user_con.close()
  
  def create_repo(self, repo):  
    return self.user_con.create_repo(repo=repo)

  def list_repos(self):
    return self.user_con.list_repos()

  def delete_repo(self, repo, force=False):
    return self.user_con.delete_repo(repo=repo, force=force)

  def list_tables(self, repo):
    return self.user_con.list_tables(repo=repo)

  def get_schema(self, table):
    return self.user_con.get_schema(table=table)

  def execute_sql(self, query, params=None):
    return self.user_con.execute_sql(query=query, params=params)

  def add_collaborator(self, repo, username, privileges, auto_in_future=True):
    return self.user_con.add_collaborator(
        repo=repo,
        username=username,
        privileges=privileges,
        auto_in_future=auto_in_future)

  def delete_collaborator(self, repo, username):
    return self.user_con.delete_collaborator(repo=repo, username=username)


  '''
  The following methods run in superuser mode only
  '''
  
  ''' User/Role Management '''
  
  @staticmethod
  def create_user(username, password, create_db=True):
    superuser_con = DataHubConnection(
        user=settings.DATABASES['default']['USER'],
        password=settings.DATABASES['default']['USER'])
    return superuser_con.create_user(
        username=username, password=password, create_db=create_db)

  @staticmethod
  def remove_user(username):
    superuser_con = DataHubConnection(
        user=settings.DATABASES['default']['USER'],
        password=settings.DATABASES['default']['USER'])
    return superuser_con.remove_user(username=username)

  @staticmethod
  def change_password(username, password):
    superuser_con = DataHubConnection(
        user=settings.DATABASES['default']['USER'],
        password=settings.DATABASES['default']['USER'])
    return superuser_con.change_password(username=username, password=password)

  ''' Import/Export Files '''
  
  @staticmethod
  def import_file(repo_base, table_name, file_path, file_format='CSV',
      delimiter=',', header=True, encoding='ISO-8859-1', quote_character='"'):
    superuser_con = DataHubConnection(
        user=settings.DATABASES['default']['USER'],
        password=settings.DATABASES['default']['USER'],
        repo_base=repo_base)
    return superuser_con.import_file(
        table_name=table_name,
        file_path=file_path,
        file_format=file_format,
        delimiter=delimiter,
        header=header,
        encoding=encoding,
#.........这里部分代码省略.........
开发者ID:alessandroleite,项目名称:datahub,代码行数:103,代码来源:manager.py


注:本文中的core.db.connection.DataHubConnection.delete_collaborator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。