sregistry/database/sqlite.py
def cp(self, move_to, image_name=None, container=None, command="copy"):
    '''_cp is the shared function between mv (move) and rename, and performs
       the move, and returns the updated container
    
       Parameters
       ==========
       image_name: an image_uri to look up a container in the database
       container: the container object to move (must have a container.image
       move_to: the full path to move it to

    '''
    if container is None and image_name is None:
        bot.error('A container or image_name must be provided to %s' %command)
        sys.exit(1)

    # If a container isn't provided, look for it from image_uri
    if container is None:
        container = self.get(image_name, quiet=True)

    image = container.image or ''

    if os.path.exists(image):

        filedir = os.path.dirname(move_to)

        # If the two are the same, doesn't make sense
        if move_to == image:
            bot.warning('%s is already the name.' %image)
            sys.exit(1)
       
        # Ensure directory exists
        if not os.path.exists(filedir):
            bot.error('%s does not exist. Ensure exists first.' %filedir)
            sys.exit(1)

        # Ensure writable for user
        if not os.access(filedir, os.W_OK):
            bot.error('%s is not writable' %filedir)
            sys.exit(1)

        original = os.path.basename(image)

        try:
            shutil.move(image, move_to)
            container.image = move_to
            self.session.commit()
            bot.info('[%s] %s => %s' %(command, original, move_to))
            return container
        except:
            bot.error('Cannot %s %s to %s' %(command, original, move_to))
            sys.exit(1)

    bot.warning('''Not found! Please pull %s and then %s to the appropriate
                   location.''' %(container.uri, command))
def cp(self, move_to, image_name=None, container=None, command="copy"):
    '''_cp is the shared function between mv (move) and rename, and performs
       the move, and returns the updated container
    
       Parameters
       ==========
       image_name: an image_uri to look up a container in the database
       container: the container object to move (must have a container.image
       move_to: the full path to move it to

    '''
    if container is None and image_name is None:
        bot.error('A container or image_name must be provided to %s' %command)
        sys.exit(1)

    # If a container isn't provided, look for it from image_uri
    if container is None:
        container = self.get(image_name, quiet=True)

    image = container.image or ''

    if os.path.exists(image):

        filedir = os.path.dirname(move_to)

        # If the two are the same, doesn't make sense
        if move_to == image:
            bot.warning('%s is already the name.' %image)
            sys.exit(1)
       
        # Ensure directory exists
        if not os.path.exists(filedir):
            bot.error('%s does not exist. Ensure exists first.' %filedir)
            sys.exit(1)

        # Ensure writable for user
        if not os.access(filedir, os.W_OK):
            bot.error('%s is not writable' %filedir)
            sys.exit(1)

        original = os.path.basename(image)

        try:
            shutil.move(image, move_to)
            container.image = move_to
            self.session.commit()
            bot.info('[%s] %s => %s' %(command, original, move_to))
            return container
        except:
            bot.error('Cannot %s %s to %s' %(command, original, move_to))
            sys.exit(1)

    bot.warning('''Not found! Please pull %s and then %s to the appropriate
                   location.''' %(container.uri, command))
def cp ( self , move_to , image_name = None , container = None , command = "copy" ) : if container is None and image_name is None : bot . error ( 'A container or image_name must be provided to %s' % command ) sys . exit ( 1 ) # If a container isn't provided, look for it from image_uri if container is None : container = self . get ( image_name , quiet = True ) image = container . image or '' if os . path . exists ( image ) : filedir = os . path . dirname ( move_to ) # If the two are the same, doesn't make sense if move_to == image : bot . warning ( '%s is already the name.' % image ) sys . exit ( 1 ) # Ensure directory exists if not os . path . exists ( filedir ) : bot . error ( '%s does not exist. Ensure exists first.' % filedir ) sys . exit ( 1 ) # Ensure writable for user if not os . access ( filedir , os . W_OK ) : bot . error ( '%s is not writable' % filedir ) sys . exit ( 1 ) original = os . path . basename ( image ) try : shutil . move ( image , move_to ) container . image = move_to self . session . commit ( ) bot . info ( '[%s] %s => %s' % ( command , original , move_to ) ) return container except : bot . error ( 'Cannot %s %s to %s' % ( command , original , move_to ) ) sys . exit ( 1 ) bot . warning ( '''Not found! Please pull %s and then %s to the appropriate
                   location.''' % ( container . uri , command ) )
_cp is the shared function between mv (move) and rename, and performs
       the move, and returns the updated container
    
       Parameters
       ==========
       image_name: an image_uri to look up a container in the database
       container: the container object to move (must have a container.image
       move_to: the full path to move it to
_cp is the shared function between mv ( move ) and rename and performs the move and returns the updated container Parameters ========== image_name : an image_uri to look up a container in the database container : the container object to move ( must have a container . image move_to : the full path to move it to