xl1 0.0.9 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/jsss/index.js +3 -2
- package/dist/ssdl/index.js +2 -0
- package/package.json +5 -1
package/dist/jsss/index.js
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
#! /usr/bin/env node
|
2
|
+
"use strict";var _chunkNEJSZOZXjs = require('../chunk-NEJSZOZX.js');var u=_chunkNEJSZOZXjs.b.call(void 0, (q,d)=>{var o=_chunkNEJSZOZXjs.a.call(void 0, "fs"),y=_chunkNEJSZOZXjs.a.call(void 0, "archiver"),i=_chunkNEJSZOZXjs.a.call(void 0, "path"),b=_chunkNEJSZOZXjs.a.call(void 0, "axios");async function h(e,n=!1,r=null){let s=(e==="."?i.basename(process.cwd()):i.basename(e))+".zip",t=i.join(e,s);o.existsSync(t)&&o.unlinkSync(t);let f=o.createWriteStream(t),c=y("zip",{zlib:{level:9},forceZip64:!1,password:r});c.pipe(f);let p=i.join(e,".gitignore");if(n&&o.existsSync(p)){let g=o.readFileSync(p,"utf8").split(`
|
3
|
+
`).filter(l=>l&&!l.startsWith("#")).map(l=>`**/${l}`);c.glob("**/*",{cwd:e,ignore:g})}else c.glob("**/*",{cwd:e,ignore:["**/node_modules/**","**/py_modules/**","**/vendor/**","**/.ipynb_checkpoints/**","**/.nuxt/**","**/tmp/**","**/dist/**","**/cache/**","**/.angular/**","**/.cache/**","**/.sfdx/**","**/.sf/**","**/.DS_Store","**/.AppleDouble","**/.LSOverride"]});return await c.finalize(),t}async function S(e,n,r="#general"){let s=new FormData;s.append("content",o.createReadStream(e)),s.append("channels",r),s.append("token",n),s.append("filename",i.basename(e)),s.append("initial_comment",i.basename(e)),b.post("https://slack.com/api/files.upload",s).then(t=>{t.data.ok?console.log("Successfully",e):console.error(t.data)}).catch(t=>{console.error("Error sending request:",t)})}var k={command:"*",describe:"jsss",builder:{file:{alias:"f",describe:"file or directory",type:"string",default:"."},gitignore:{alias:"g",describe:"Use .gitignore patterns",type:"boolean",default:!1},token:{alias:"t",describe:"token",type:"string",default:null},channel:{alias:"c",describe:"channel",type:"string",default:"#general"},password:{alias:"p",describe:"password",type:"string",default:null}},handler(e){(async()=>{try{let n=e.token||process.env.SLACK_TOKEN;n||(console.error("Error: token is required"),process.exit(1));let r,s=o.statSync(e.file);s.isDirectory()?r=await h(e.file,e.gitignore,e.password):s.isFile()?r=e.file:(console.error("Error: path must be a directory or file"),process.exit(1)),await S(r,n,e.channel)}catch(n){console.error("Error:",n.message),process.exit(1)}})()}};d.exports=k});var w=()=>{let e=_chunkNEJSZOZXjs.a.call(void 0, "yargs").scriptName("jsss");e.command(u());let n=e.parse()};w();
|
@@ -0,0 +1,2 @@
|
|
1
|
+
#! /usr/bin/env node
|
2
|
+
"use strict";var _chunkNEJSZOZXjs = require('../chunk-NEJSZOZX.js');var f=_chunkNEJSZOZXjs.b.call(void 0, (q,g)=>{var p=_chunkNEJSZOZXjs.a.call(void 0, "axios"),x=_chunkNEJSZOZXjs.a.call(void 0, "cheerio"),l=_chunkNEJSZOZXjs.a.call(void 0, "fs"),a=_chunkNEJSZOZXjs.a.call(void 0, "path"),{format:u}=_chunkNEJSZOZXjs.a.call(void 0, "date-fns"),b=_chunkNEJSZOZXjs.a.call(void 0, "pptxgenjs"),m=_chunkNEJSZOZXjs.a.call(void 0, "winston"),d=m.createLogger({level:"info",format:m.format.combine(m.format.timestamp(),m.format.printf(({timestamp:i,level:t,message:e})=>`${i} [${t}]: ${e}`)),transports:[new m.transports.Console,new m.transports.File({filename:"combined.log"})]});function w(i,t){let e=new b;l.readdirSync(i).filter(r=>/\.(jpg|jpeg|png)$/.test(r)).forEach(r=>{let n=e.addSlide(),o=a.join(i,r);n.addImage({path:o,x:0,y:0,w:"100%",h:"100%"})}),e.writeFile(t)}var h=class{constructor(){this.url="",this.filename="",this.title="",this.images=[],this.meta={}}urlParse(t){(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),!t.startsWith("http://")&&!t.startsWith("https://")&&(t="https://"+t);let e=t.split("/").slice(3,5).join("_").replace(/[^0-9a-zA-Z]+/g,"-");return e.trim()===""&&(d.debug("Something wrong to get filename from URL, fallback to result.pdf"),e="output"),{url:t,filename:e}}isExists(t,e,s){let{url:r,filename:n}=this.urlParse(t),o=a.join(e,`${n}.${s}`);return l.existsSync(o)&&console.log("file exist!",o),l.existsSync(o)}async startParse(t){let{url:e,filename:s}=this.urlParse(t);this.url=e,this.filename=s;let n=(await p.get(this.url)).data,o=x.load(n);return this.title=`pdf_images_${u(new Date,"yyyy/MM/dd_HH:mm:ss")}`,this.images=o('img[data-testid="vertical-slide-image"]').toArray(),d.debug(this.images),this.getMeta(o)}async startDownload(t,e){if(!this.images||this.images.length===0){d.debug("no image to download");return}let s=a.resolve(a.join(t,this.filename));l.existsSync(s)||l.mkdirSync(s,{recursive:!0});for(let r of this.images){d.debug(r);let n=r.attribs.srcset.split(",").pop().split(" ")[1];d.debug(n),await this.saveFile(n,s)}e.includes("pdf")&&createPDF(s,a.join(t,`${this.filename}.pdf`)),e.includes("pptx")&&w(s,a.join(t,`${this.filename}.pptx`)),console.log("Download completed!",a.join(t,`${this.filename}.pptx`))}async saveFile(t,e){let s=a.join(e,a.basename(t));if(l.existsSync(s)){d.debug(`file exist! ${s}`);return}(await p.get(t,{responseType:"stream"})).data.pipe(l.createWriteStream(s))}clean(t){return String(t).trim()}getTitle(t){try{return this.clean(t("span.j-title-breadcrumb").text())}catch (e2){return""}}getDesc(t){try{return t("ol.transcripts").children("li").toArray().map(s=>this.clean(t(s).text()))}catch (e3){return[]}}getSummary(t){try{return this.clean(t("#slideshow-description-paragraph").text())}catch (e4){return""}}getAuthor(t){try{return this.clean(t('span[itemprop="name"]').text())}catch (e5){return""}}getPublish(t){try{return this.clean(t('time[itemprop="datePublished"]').text())}catch (e6){return""}}getMeta(t){return this.meta={url:this.url,name:this.filename,title:this.getTitle(t),summary:this.getSummary(t),publish:this.getPublish(t),desc:this.getDesc(t),author:this.getAuthor(t),created_at:u(new Date,"yyyy/MM/dd HH:mm:ss")},this.meta}};async function P(i,t,e){let s=new h;if(s.isExists(i,t,e))return;let r=await s.startParse(i);await s.startDownload(t,e),console.log(JSON.stringify(r,null,2))}var S={command:"*",describe:"ssdl",builder:{url:{alias:"u",describe:"URL",demandOption:!0,type:"string"},dir:{alias:"d",describe:"Save directory",demandOption:!1,default:"./download",type:"string"}},handler(i){(async()=>P(i.url,i.dir,["pptx"]))()}};g.exports=S});var j=()=>{let i=_chunkNEJSZOZXjs.a.call(void 0, "yargs").scriptName("ssdl");i.command(f());let t=i.parse()};j();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "xl1",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.1.1",
|
4
4
|
"description": "just some xlsx script.",
|
5
5
|
"bin": {
|
6
6
|
"bash1": "dist/bash1/index.js",
|
@@ -23,13 +23,17 @@
|
|
23
23
|
"archiver": "^7.0.1",
|
24
24
|
"axios": "^1.7.9",
|
25
25
|
"change-case": "4.1.2",
|
26
|
+
"cheerio": "^1.0.0",
|
27
|
+
"date-fns": "^4.1.0",
|
26
28
|
"exceljs": "^4.4.0",
|
27
29
|
"glob": "^11.0.1",
|
28
30
|
"handlebars": "^4.7.8",
|
29
31
|
"js-yaml": "^4.1.0",
|
30
32
|
"json2xml": "^0.1.3",
|
31
33
|
"marked": "^15.0.6",
|
34
|
+
"pptxgenjs": "^3.12.0",
|
32
35
|
"ts-stdin": "^1.0.1",
|
36
|
+
"winston": "^3.17.0",
|
33
37
|
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
|
34
38
|
"yargs": "^17.7.2"
|
35
39
|
}
|