MOON
Server: Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 PHP/5.4.10
System: Linux vps.presagepowered.net 2.6.18-398.el5 #1 SMP Tue Sep 16 20:51:48 EDT 2014 i686
User: mckernan (512)
PHP: 5.4.10
Disabled: NONE
Upload Files
File: //usr/local/ssl/lib/Acronis/PyShell/site-tools/manage_creds.py
import argparse
import acrort
import acrobind

ANY_ARCHIVE_ID = '_any_archive_'

def parse_arguments():
    parser = argparse.ArgumentParser()
    parser.add_argument('--set-username', dest='username', default='')
    parser.add_argument('--set-password', dest='password')
    parser.add_argument('--list', action='store_true')
    parser.add_argument('--reset', action='store_true')
    parser.add_argument('--connection', nargs=3, metavar=('HOST', 'USERNAME', 'PASSWORD'))
    parser.add_argument('--resource-address', dest='resource', default=ANY_ARCHIVE_ID)
    parser.add_argument('--resource-type', dest='resource_type', default=acrort.access.CATEGORIES[acrort.access.ARCHIVE])
    return parser.parse_args()


def main():
    host = None
    args = parse_arguments()
    if args.connection is not None:
       host = args.connection[0]
       username = args.connection[1]
       password = args.connection[2]

    if host:
        connection = acrort.connectivity.Connection(acrort.connectivity.PROTO_MMS, host, (username, password))
    else:
        connection = acrort.connectivity.Connection(acrort.connectivity.PROTO_MMS)

    if args.password:
        if not args.resource_type or not args.resource:
            print('resource_type and resource arguments are required')
            return

        profile = connection.access.open_system_profile()
        print("Add new entry...")
        profile.add_account(resource_type=args.resource_type, resource_address=args.resource, user_name=args.username, password=args.password)
        print("Done")

    elif args.reset:
        if not args.resource_type or not args.resource:
            print('resource_type and resource arguments are required')
            return

        print("Removing entry...")
        profile = connection.access.open_system_profile()
        profile.delete_account(resource_type=args.resource_type, resource_address=args.resource)
        print("Done")

    elif args.list:
        print("List entries...")
        profile = connection.access.open_system_profile()
        for i in profile.select():
          print(i)
        print("Done")


if __name__ == '__main__':
    exit(acrobind.safe_execute(main))