Exemplo n.º 1
0
def player_add_group(plr, group, baseurl, authstr):
    '''
        Add Player object to Group by name.
        Arguments:
            plr             Player Transfer Object or dict, e.g.: {'id': 123}
            group           Group name.
            baseurl         Base URL to Content Manager
            authstr         "user:pwd" credential string.
        Returns:
            True on success.
            None on failure.
    '''
    cm = scws.ConManager(baseurl, authstr, api_vers='v1.2')

    src = dict(column='name', restriction='EQUALS', value=group)
    try:
        groups = cm.player.listPlayerGroups(searchCriteria=src)
        if groups:
            cm.player.addPlayerGroup(dict(playerId=plr.id),
                                     playerGroupId=groups[0].id)
            return True
        else:
            _log.error('Group %s not found.' % group)
    except Exception:
        pass
Exemplo n.º 2
0
def player_create(name, baseurl, authstr, query=True, desc='', enabled=True):
    '''
        Creates a Player object in Content Manager, with the given name.
        Arguments:
            name            Player name
            baseurl         Base URL to Content Manager
            authstr         "user:pwd" credential string.
            query           Switch to player_query() if Player object already exists.
            enabled         Player is allowed to download and run content.
        Returns:
            Player's Transfer Objec on success.
            None on failure, e.g. if query=False and Player already exists.
    '''
    cm = scws.ConManager(baseurl, authstr)
    try:
        pto = dict(name=name)
        if desc: pto['description'] = desc
        pto['enabled'] = enabled
        players = cm.player.create(player=pto)
        if players:
            return players[0]
    except ValueError:
        _log.warn('Switching to Player webservice query to find details.')
        if query:
            return player_query_ws(name, baseurl, authstr)
    except Exception:
        _log.critical('Unable to continue.')
        sys.exit(_ERR_MISC)
Exemplo n.º 3
0
def main():
    ' Get list of files and upload.'
    log.debug(
        '%s v%s  scws:v%s  soaplib:v%s' %
        (sys.argv[0], __version__, scws.__version__, soaplib.__version__))
    cm = scws.ConManager(opts.baseurl, opts.authstr)  # Create a CM object
    Errors = None

    for filename in args:
        try:
            if not opts.verbose or opts.very_verbose:
                print 'uploading: ', filename, '... ',
                sys.stdout.flush()
            fileIds = cm.upload_file(filename,
                                     opts.network,
                                     subfolder=opts.subfolder,
                                     upload_method='PUT',
                                     upload_type=opts.upload_type)
            log.info('uploaded %s' % filename)
            if not opts.verbose or opts.very_verbose:
                print 'Done.'
        except KeyboardInterrupt:
            log.warn('Killed by Ctrl-C.')
            return ERR_KILL
        except Exception:
            Errors = True

    if Errors:
        return ERR_UPLD
Exemplo n.º 4
0
def player_set_channel(plr, channel, baseurl, authstr):
    '''
        Assign a Player object's first display to a channel found by name.
        Arguments:
            plr             Player Transfer Object or dict, e.g.: {'id': 123}
            channel         Channel name.
            baseurl         Base URL to Content Manager
            authstr         "user:pwd" credential string.
        Returns:
            True on success.
            None on failure.
    '''
    cm = scws.ConManager(baseurl, authstr)

    src = dict(column='name', restriction='EQUALS', value=channel)
    try:
        # get channel ids
        channels = cm.channel.list(searchCriteria=src)
        if not channels:
            _log.error('Channel %s not found.' % channel)
            return

        displays = cm.player.getPlayerDisplays(playerId=plr.id)
        if displays:
            cm.player.updatePlayerDisplay(playerDisplay=dict(
                id=displays[0].id, channelId=channels[0].id, screenCounter=1))
            return True
        else:
            displays = cm.player.addPlayerDisplay(playerId=plr.id,
                                                  playerDisplay=dict(
                                                      channelId=channels[0].id,
                                                      screenCounter=1))[0]
            if displays:
                cm.player.updatePlayerDisplay(
                    playerDisplay=dict(id=displays[0].id,
                                       channelId=channels[0].id,
                                       screenCounter=1))
                return True
            else:
                _log.error('Unable to create display/set channel.')
                return

    except Exception:
        pass
Exemplo n.º 5
0
def player_query_ws(name, baseurl, authstr):
    '''
        Query Content Manager via Webservice for an existing Player object by name.
        Arguments:
            name            Player name
            baseurl         Base URL to Content Manager
            authstr         "user:pwd" webservice (not Player) credential string.
        Returns:
            Player's Transfer Object on success.
            None on failure.
    '''
    cm = scws.ConManager(baseurl, authstr)

    src = dict(column='name', restriction='EQUALS', value=name)
    players = cm.player.list(searchCriteria=src)
    if players:
        return players[0]
    else:
        _log.critical('Player %s not found.' % name)
        sys.exit(_ERR_MISC)
Exemplo n.º 6
0
import scalalib

# update these to the correct values
hoststr = 'cm.yourco.com:8080'
baseurl = 'http://%s/ContentManager/' % hoststr
authstr = 'scalaweb:pword'
debug = True  # enables verbose info printed to console
debug = False  # disables verbose info printed to console, Ctrl+T to flip

log = scalalib.get_logger(level='debug' if debug else 'warn')

# can override password on the command line
if len(sys.argv) > 1: authstr = sys.argv[1]

# First, create a Content Manager object
cm = scws.ConManager(baseurl, authstr)

#  Examples below
do_test = [True, False, False, False, False, False]
do_test.insert(0, None)  # 1 based

#
#  1. Simple player listing
#  ----------------------------------------------------------------------
if do_test[1]:

    print '\nPlayer list ...'
    players = cm.player.list()

    for player in players:
        print '  * Name: ', player.name
Exemplo n.º 7
0
import sys, scws
try:
    baseurl = sys.argv[1]
    authstr = sys.argv[2]
    print scws.ConManager(baseurl, authstr).cmversioninfo.getVersionNumber()[0]
    sys.exit(0)
except Exception, e:
    print e
    sys.exit(1)