MCPcopy Index your code
hub / github.com/hoothin/UserScripts / getRightSaveName

Function getRightSaveName

Picviewer CE+/dist.user.js:12267–12317  ·  view source on GitHub ↗
(url, name, type, _ext)

Source from the content-addressed store, hash-verified

12265 }
12266
12267 function getRightSaveName(url, name, type, _ext) {
12268 /*
12269 0: i18n("default"),
12270 1: i18n("textFirst"),
12271 2: i18n("onlyUrl"),
12272 3: i18n("urlAndText")
12273 */
12274 type = parseInt(type || 0);
12275 if (name) name = name.split("\n")[0].replace(/.*?\/\/[^\/]+\//, "").replace(/\?.*/, "").replace(/^data:.*/, "");
12276 if (!url.replace || url.indexOf("data:") === 0) url = "";
12277 url = url.replace(/.*?\/\/[^\/]+\//, "");
12278 let nameFromUrl = url.match(/.*?([^\/\?\=\&]+)\.\w{2,5}(\?|@|$).*/, "$1");
12279 nameFromUrl = nameFromUrl ? nameFromUrl[1] : "";
12280 if (/\=&/.test(nameFromUrl)) {
12281 nameFromUrl = "";
12282 } else {
12283 try {
12284 nameFromUrl = decodeURIComponent(nameFromUrl);
12285 } catch (e) {}
12286 }
12287 let ext;
12288 if (_ext && /^\w{2,5}$/.test(_ext)) {
12289 ext = "." + _ext;
12290 } else {
12291 ext = url.match(/(\.\w{2,5})(\?|@|$)/);
12292 if (ext) {
12293 ext = ext[1];
12294 }
12295 }
12296 switch (type) {
12297 case 1:
12298 name = (name || nameFromUrl || "image").substr(-200);
12299 break;
12300 case 2:
12301 name = (nameFromUrl || url || "image").substr(-200);
12302 break;
12303 case 3:
12304 if (nameFromUrl && !name) {
12305 name = nameFromUrl.substr(-200);
12306 } else if (nameFromUrl && name) {
12307 name = nameFromUrl.substr(-200) + " - " + name.substr(-200);
12308 } else if (!nameFromUrl && !name) {
12309 name = "image";
12310 }
12311 break;
12312 default:
12313 name = (nameFromUrl || name || "image").substr(-200);
12314 break;
12315 }
12316 return name.replace(/.*?\/([^\/\?]+?)(\?|@|$).*/, "$1").replace(/[\*\/:<>\?\\\|]/g, "").replace(/\.\w{2,5}$/, "").trim() + (ext || ".png");
12317 }
12318
12319 function canonicalUri(src, href, basePath) {
12320 if (!src) {

Callers 4

dist.user.jsFile · 0.70
downloadImgFunction · 0.70
getSaveParamsFunction · 0.70
initFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected