def delete_owner(store, package, owner): user = store.get_user(owner) if user is None: raise ValueError, 'user name unknown to me' if not store.has_package(package): raise ValueError, 'no such package' for role in store.get_package_roles(package): if role['role_name']=='Owner' and role['user_name']==owner: break else: raise ValueError, "user is not currently owner" store.delete_role(owner, 'Owner', package)
For more information, and detailed instructions on how to do that please visit http://pypi-externals.caremad.io/help/what/. [1] http://www.python.org/dev/peps/pep-0438/ """ filename = os.path.join( os.path.dirname(__file__), "hosting_mode_migration.json") migrations = json.load(open(filename)) package_users = {} for package in migrations["pypi-explicit"]: # Get all the users for this package users = [r["user_name"] for r in store.get_package_roles(package)] package_users[package] = users sent = [] # Email each user server = smtplib.SMTP(config.smtp_hostname) if config.smtp_starttls: server.starttls() if config.smtp_auth: server.login(config.smtp_login, config.smtp_password) for i, (package, users) in enumerate(package_users.iteritems()): fpackage = store.find_package(package) if not fpackage:
Due to the new rules this package will be renamed to "%(new)s". This new name represents what someone using pip or easy_install would already have had to use in order to install your package. I am sorry for any inconvenience this may have caused you. """ with open("renamed.pkl") as pkl: renamed = pickle.load(pkl) # Build up a list of all users to email users = {} for old, new in renamed: for role in store.get_package_roles(new): user_packages = users.setdefault(role["user_name"], []) user_packages.append((old, new)) sent = [] # Email each user server = smtplib.SMTP(config.mailgun_hostname) if config.smtp_starttls: server.starttls() if config.smtp_auth: server.login(config.smtp_login, config.smtp_password) for username, packages in users.iteritems(): packages = sorted(set(packages)) user = store.get_user(username)
attempt to install. For more information, and detailed instructions on how to do that please visit http://pypi-externals.caremad.io/help/what/. [1] http://www.python.org/dev/peps/pep-0438/ """ filename = os.path.join(os.path.dirname(__file__), "hosting_mode_migration.json") migrations = json.load(open(filename)) package_users = {} for package in migrations["pypi-explicit"]: # Get all the users for this package users = [r["user_name"] for r in store.get_package_roles(package)] package_users[package] = users sent = [] # Email each user server = smtplib.SMTP(config.smtp_hostname) if config.smtp_starttls: server.starttls() if config.smtp_auth: server.login(config.smtp_login, config.smtp_password) for i, (package, users) in enumerate(package_users.iteritems()): fpackage = store.find_package(package) if not fpackage: continue
def owner_email(p): result = set() for r,u in store.get_package_roles(p): if r == 'Owner': result.add(store.get_user(u)['email']) return result