mirror of
				https://codeberg.org/ashley/poke
				synced 2025-07-17 16:52:11 +00:00 
			
		
		
		
	Superinit!!!
This commit is contained in:
		
							parent
							
								
									8a9f4fc15d
								
							
						
					
					
						commit
						92e7aa405b
					
				
							
								
								
									
										153
									
								
								src/libpoketube/init/pages-channel-and-download.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										153
									
								
								src/libpoketube/init/pages-channel-and-download.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,153 @@ | ||||
|  const {  fetcher,core, wiki,musicInfo, modules, version, initlog, init,} = require("../libpoketube-initsys.js"); | ||||
| const { | ||||
|   IsJsonString, | ||||
|   convert, | ||||
|   getFirstLine, | ||||
|   capitalizeFirstLetter, | ||||
|   turntomins, | ||||
|   getRandomInt, | ||||
|   getRandomArbitrary, | ||||
| } = require("../ptutils/libpt-coreutils.js"); | ||||
| 
 | ||||
| const sha384 = modules.hash; | ||||
| 
 | ||||
| module.exports = function (app, config, renderTemplate) { | ||||
|  app.get("/download", async function (req, res) { | ||||
|   var v = req.query.v; | ||||
| 
 | ||||
|   // video
 | ||||
|   const video = await modules.fetch(config.tubeApi + `video?v=${v}`); | ||||
|   const h = await video.text(); | ||||
|   const k = JSON.parse(modules.toJson(h)); | ||||
| 
 | ||||
|   if (!v) res.redirect("/"); | ||||
| 
 | ||||
|   var fetching = await fetcher(v); | ||||
|   const j = fetching.video.Player.Formats.Format, | ||||
|     j_ = Array.isArray(j) ? j[j.length - 1] : j; | ||||
|   let url; | ||||
|   if (j_.URL != undefined) url = j_.URL; | ||||
| 
 | ||||
|   const json = fetching.video.Player; | ||||
|   const engagement = fetching.engagement; | ||||
| 
 | ||||
|   renderTemplate(res, req, "download.ejs", { | ||||
|     url: url, | ||||
|     engagement: engagement, | ||||
|     k: k, | ||||
|     video: json, | ||||
|     date: k.Video.uploadDate, | ||||
|     color: await modules | ||||
|       .getColors(`https://i.ytimg.com/vi/${v}/maxresdefault.jpg`) | ||||
|       .then((colors) => colors[0].hex()), | ||||
|   }); | ||||
| }); | ||||
| 
 | ||||
| app.get("/old/watch", async function (req, res) { | ||||
|   var v = req.query.v; | ||||
|   var e = req.query.e; | ||||
|   if (!v) res.redirect("/"); | ||||
| 
 | ||||
|   res.redirect(`/watch?v=${v}`); | ||||
| }); | ||||
| 
 | ||||
| app.get("/search", async (req, res) => { | ||||
|   const query = req.query.query; | ||||
| 
 | ||||
|   if (req.query.continuation) { | ||||
|     var continuation = req.query.continuation; | ||||
|   } | ||||
|   if (!req.query.continuation) { | ||||
|     var continuation = ""; | ||||
|   } | ||||
| 
 | ||||
|   const search = await modules.fetch( | ||||
|     `https://tube.kuylar.dev/api/search?query=${query}&continuation=${continuation}` | ||||
|   ); | ||||
| 
 | ||||
|   const text = await search.text(); | ||||
|   const j = JSON.parse(modules.toJson(text)); | ||||
| 
 | ||||
|   if (!query) { | ||||
|     return res.redirect("/"); | ||||
|   } | ||||
| 
 | ||||
|   const summary = await wiki | ||||
|     .summary(query + " ") | ||||
|     .then((summary_) => (summary_.title !== "Not found." ? summary_ : "none")); | ||||
| 
 | ||||
|   renderTemplate(res, req, "search.ejs", { | ||||
|     j, | ||||
|     continuation, | ||||
|     q: query, | ||||
|     summary, | ||||
|   }); | ||||
| }); | ||||
| 
 | ||||
| app.get("/channel/", async (req, res) => { | ||||
|   const ID = req.query.id; | ||||
|   const tab = req.query.tab; | ||||
| 
 | ||||
|    // about
 | ||||
|   const bout = await modules.fetch( | ||||
|     config.tubeApi + `channel?id=${ID}&tab=about` | ||||
|   ); | ||||
|   const h = await bout.text(); | ||||
|   const k = JSON.parse(modules.toJson(h)); | ||||
| 
 | ||||
|   if (req.query.continuation) { | ||||
|     var continuation = req.query.continuation; | ||||
|   } | ||||
|   if (!req.query.continuation) { | ||||
|     var continuation = ""; | ||||
|   } | ||||
| 
 | ||||
|   //videos
 | ||||
|   const channel = await modules.fetch( | ||||
|     config.tubeApi + `channel?id=${ID}&tab=shorts&Continuation=${continuation}` | ||||
|   ); | ||||
|   const c = await channel.text(); | ||||
|   const tj = JSON.parse(modules.toJson(c)); | ||||
| 
 | ||||
|   const summary = await wiki.summary(k.Channel.Metadata.Name); | ||||
| 
 | ||||
|   var w = ""; | ||||
|   if (summary.title === "Not found.") { | ||||
|     w = "none"; | ||||
|   } | ||||
|   if (summary.title !== "Not found.") { | ||||
|     w = summary; | ||||
|   } | ||||
| 
 | ||||
|   const { Subscribers: subscribers } = k.Channel.Metadata; | ||||
|   const description = k.Channel.Contents.ItemSection.About.Description; | ||||
| 
 | ||||
|   var d = description.toString().replace(/\n/g, " <br> "); | ||||
|   if (d === "[object Object]") { | ||||
|     var d = ""; | ||||
|   } | ||||
| 
 | ||||
|   var dnoreplace = description.toString(); | ||||
|   if (dnoreplace === "[object Object]") { | ||||
|     var dnoreplace = ""; | ||||
|   } | ||||
| 
 | ||||
|   renderTemplate(res, req, "channel.ejs", { | ||||
|     ID: ID, | ||||
|     tab: tab, | ||||
|     j: k, | ||||
|     tj: tj, | ||||
|     dnoreplace: dnoreplace, | ||||
|     continuation: continuation, | ||||
|     wiki: w, | ||||
|     getFirstLine: getFirstLine, | ||||
|     isMobile: req.useragent.isMobile, | ||||
|     about: k.Channel.Contents.ItemSection.About, | ||||
|     subs: | ||||
|       typeof subscribers === "string" | ||||
|         ? subscribers.replace("subscribers", "") | ||||
|         : "Private", | ||||
|     desc: d, | ||||
|   }); | ||||
| }); | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ashley
						Ashley