mirror of
https://github.com/NohamR/BetterYGG.git
synced 2026-01-10 16:38:21 +00:00
63 lines
2.2 KiB
JavaScript
63 lines
2.2 KiB
JavaScript
var defaults = {
|
|
defaultCategories: [{
|
|
name: "tv_show",
|
|
season: true,
|
|
urls: ["/filmvid%C3%A9o/s%C3%A9rie-tv/", "/filmvideo/serie-tv/"],
|
|
}, {
|
|
name: "anime",
|
|
season: true,
|
|
urls: ["/filmvid%C3%A9o/animation-s%C3%A9rie/", "/film-video/animation-serie/"],
|
|
}, {
|
|
name: "movie",
|
|
season: false,
|
|
urls: [
|
|
"/filmvid%C3%A9o/film/",
|
|
"/filmvideo/film/",
|
|
"/filmvid%C3%A9o/animation/",
|
|
"/filmvideo/animation/"
|
|
],
|
|
}],
|
|
defaultSearchSort: 'publish_date',
|
|
defaultSearchOrder: 'desc',
|
|
storageSchema: 1 // Increment this when data format changes
|
|
};
|
|
|
|
chrome.runtime.onInstalled.addListener(function (details) {
|
|
if (details.reason === "install") {
|
|
chrome.storage.sync.set(defaults);
|
|
chrome.storage.sync.set({ 'categories': defaults.defaultCategories});
|
|
chrome.storage.sync.set({ 'searchSort': defaults.defaultSearchSort});
|
|
chrome.storage.sync.set({ 'searchOrder': defaults.defaultSearchOrder});
|
|
} else if (details.reason === "update") {
|
|
migrateData();
|
|
}
|
|
});
|
|
|
|
function migrateData() {
|
|
// Handle migration from 1.0-1.1 to 1.2
|
|
chrome.storage.sync.get('storageSchema', function (data) {
|
|
if (!data) {
|
|
chrome.storage.sync.set({ 'searchSort': defaults.defaultSearchSort});
|
|
chrome.storage.sync.set({ 'searchOrder': defaults.defaultSearchOrder});
|
|
}
|
|
});
|
|
// This pulls stored values, falling back to defaults, if none
|
|
chrome.storage.sync.get(defaults, function (data) {
|
|
var migrated = false;
|
|
while (!migrated) {
|
|
switch (data.storageSchema) {
|
|
// case 1:
|
|
// /* modify data to migrate from 1.0-1.2 to 1.3 */
|
|
// data.storageSchema = 2;
|
|
// break;
|
|
case defaults.storageSchema: // Expected; we're done migrating
|
|
migrated = true;
|
|
break;
|
|
default:
|
|
throw new Error(`Unrecognized storage schema ${data.storageSchema}!`);
|
|
}
|
|
}
|
|
chrome.storage.sync.set(defaults);
|
|
});
|
|
}
|