Esempio n. 1
0
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:
Esempio n. 3
0
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)
Esempio n. 4
0
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
Esempio n. 5
0
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)
Esempio n. 6
0
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