Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
RyanHirsch committed Oct 3, 2021
1 parent 7c3d384 commit ceb420e
Show file tree
Hide file tree
Showing 3 changed files with 404 additions and 28 deletions.
6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@
"repository": {
"url": "https://github.com/RyanHirsch/partytime"
},
"keywords": [
"podcasting20",
"podcast",
"rss"
],
"scripts": {
"prettier:base": "prettier --parser typescript",
"prettier:check": "npm run prettier:base -- --list-different \"src/**/*.{ts,tsx}\"",
Expand Down Expand Up @@ -50,6 +55,7 @@
"jest": "^27.1.0",
"lint-staged": "^10.5.4",
"npm-run-all": "^4.1.5",
"podping-client": "^2.0.0",
"prettier": "^2.2.1",
"rimraf": "^3.0.2",
"sqlite3": "^5.0.2",
Expand Down
56 changes: 33 additions & 23 deletions src/dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import * as path from "path";
import stringify from "fast-json-stable-stringify";
import sqlite from "sqlite3";
import crypto from "crypto";
import { getStream$ } from "podping-client";
import { take } from "rxjs/operators";

import { log } from "./logger";
import { parseFeed } from "./parser";
Expand Down Expand Up @@ -184,8 +186,10 @@ function save<T>({
data: T;
parser: (d: T) => string;
}): Promise<void> {
const filePath = path.resolve(__dirname, relativePath);
log.info(`Save ${filePath}`);
return new Promise((resolve, reject) =>
fs.writeFile(path.resolve(__dirname, relativePath), parser(data), (err) => {
fs.writeFile(filePath, parser(data), (err) => {
if (err) {
reject(err);
} else {
Expand Down Expand Up @@ -224,14 +228,13 @@ async function getFeed(uri: string): Promise<void> {
parser: (list) => JSON.stringify(list, null, 2),
});

fs.writeFileSync(
path.resolve(
__dirname,
"..",
`results/${feedObject.title.toLowerCase().replace(/'/g, "").replace(/\W+/g, "-")}.json`
),
stringify({ ...feedObject, url: uri })
const parsed = path.resolve(
__dirname,
"..",
`results/${feedObject.title.toLowerCase().replace(/'/g, "").replace(/\W+/g, "-")}.json`
);
log.info(`Parsed feed object ${parsed}`);
fs.writeFileSync(parsed, stringify({ ...feedObject, url: uri }));
await Promise.all([xmlSave, listSave]);

// const corsSupport = await checkFeedByUri(uri);
Expand All @@ -241,25 +244,32 @@ async function getFeed(uri: string): Promise<void> {
log.info(feedObject.__phase);
}

// checkAll().then(
// () => log.info("done"),
// (err) => log.error(err)
// );

// checkAllDb().then(
// () => log.info("done"),
// (err) => log.error(err)
// );

if (process.argv[2]) {
if (process.argv[2] === "--latest") {
runPromise(
new Promise((resolve) => {
getStream$()
.pipe(take(1))
.subscribe({
next(val) {
resolve(getFeed(val.url));
},
complete() {
console.log("complete");
},
});
})
);
} else if (process.argv[2]) {
runPromise(getFeed(process.argv[2]));
} else {
runPromise(checkSome(15));
}

function runPromise(prom: Promise<any>): void {
prom.then(
() => log.info("done"),
(err) => log.error(err)
);
prom
.then(
() => log.info("done"),
(err) => log.error(err)
)
.finally(() => process.exit());
}
Loading

0 comments on commit ceb420e

Please sign in to comment.