예제 #1
0
    def save(self, data):
        """
        Write the given dict object to the database on disc.

        :type data: dict
        :rtype: None
        """
        studiolibrary.saveJson(self.databasePath(), data)
예제 #2
0
    def saveSettings(self):
        """
        Save the settings dictionary to a local json location.

        :rtype: None
        """
        data = self.settings()
        path = self.settingsPath()
        studiolibrary.saveJson(path, data)
예제 #3
0
    def saveSettings(self):
        """
        Save the settings dictionary to a local json location.

        :rtype: None
        """
        data = self.settings()
        path = self.settingsPath()
        studiolibrary.saveJson(path, data)
예제 #4
0
 def saveMetadata(self, metadata):
     """
     Save the given metadata to disc.
     
     :type metadata: dict
     """
     formatString = studiolibrary.config().get('metadataPath')
     path = studiolibrary.formatPath(formatString, self.path())
     studiolibrary.saveJson(path, metadata)
     self.setMetadata(metadata)
예제 #5
0
 def saveMetadata(self, metadata):
     """
     Save the given metadata to disc.
     
     :type metadata: dict
     """
     formatString = studiolibrary.config().get('metadataPath')
     path = studiolibrary.formatPath(formatString, self.path())
     studiolibrary.saveJson(path, metadata)
     self.setMetadata(metadata)
예제 #6
0
    def save(self, data):
        """
        Write the given dict object to the database on disc.

        :type data: dict
        :rtype: None
        """
        if self.path():
            studiolibrary.saveJson(self.databasePath(), data)
            self.setDirty(True)
        else:
            logger.info('No path set for saving the data to disc.')
예제 #7
0
 def saveMetadata(self, metadata):
     """
     Save the given metadata to disc.
     
     :type metadata: dict
     """
     formatString = studiolibrary.config.get('metadataPath')
     path = studiolibrary.formatPath(formatString, self.path())
     studiolibrary.saveJson(path, metadata)
     self.setMetadata(metadata)
     self.syncItemData(emitDataChanged=False)
     self.dataChanged.emit(self)
예제 #8
0
    def save(self, data):
        """
        Write the given dict object to the database on disc.

        :type data: dict
        :rtype: None
        """
        if self.path():
            studiolibrary.saveJson(self.databasePath(), data)
            self.setDirty(True)
        else:
            logger.info('No path set for saving the data to disc.')
예제 #9
0
def saveSettings(data):
    """
    Save the given data to the settings path.
    
    :type data:  
    """
    path = settingsPath()

    logger.debug(u'Saving settings to "%s"', path)

    try:
        studiolibrary.saveJson(path, data)
    except Exception:
        logger.exception(u'Cannot save settings to "%s"', path)
예제 #10
0
def saveSettings(data):
    """
    Save the given data to the settings path.
    
    :type data:  
    """
    path = settingsPath()

    logger.debug(u'Saving settings to "%s"', path)

    try:
        studiolibrary.saveJson(path, data)
    except Exception:
        logger.exception(u'Cannot save settings to "%s"', path)
예제 #11
0
def migrateLibraries():
    """
    Migrate all the old libraries to the new 1.21+ library location.

    :rtype: None
    """
    HOME_PATH = os.getenv('APPDATA') or os.getenv('HOME')
    OLD_LIBRARIES_PATH = HOME_PATH + "/StudioLibrary/Library"
    NEW_LIBRARIES_PATH = HOME_PATH + "/StudioLibrary/Libraries"

    if os.path.exists(OLD_LIBRARIES_PATH):
        for filename in os.listdir(OLD_LIBRARIES_PATH):

            libraryName = filename.replace(".dict", "").replace(".json", "")

            oldDictPath = os.path.join(OLD_LIBRARIES_PATH,
                                       libraryName + ".dict")
            oldJsonPath = os.path.join(OLD_LIBRARIES_PATH,
                                       libraryName + ".json")
            migratedPath = os.path.join(OLD_LIBRARIES_PATH,
                                        libraryName + ".migrated")

            newJsonPath = os.path.join(NEW_LIBRARIES_PATH, libraryName,
                                       "library.json")

            if os.path.exists(newJsonPath) or os.path.exists(migratedPath):
                continue

            msg = "Migrating old library: {0} -> {1}..."
            data = None

            if os.path.exists(oldJsonPath):
                msg = msg.format(oldJsonPath, newJsonPath)
                data = studiolibrary.readJson(oldJsonPath)

            elif os.path.exists(oldDictPath):
                msg = msg.format(oldDictPath, newJsonPath)
                data = studiolibrary.readDict(oldJsonPath)

            if data:
                logger.info(msg)
                studiolibrary.saveJson(newJsonPath, data)
                studiolibrary.saveJson(migratedPath, data)