znielsen / podracer Goto Github PK
View Code? Open in Web Editor NEWA podcast catch-up service
License: Apache License 2.0
A podcast catch-up service
License: Apache License 2.0
Core:
Server
Throw up a spinner or something while the feed gets made.
It’s too fiddly, I don’t know who would want it.
Look into a REST api for this validator
https://validator.w3.org/feed/
Header blocks would be nice.
Constants with = alignment is what I'm really looking for.
Will want an upper bound. Probably like 5 days.
Fix crash - properly handle a failure - should never panic in update thread.
thread 'Updater' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Decode, source: TimedOut }', racer/src/lib.rs:585:32
Some nice flavor, but not critical.
Needed to scrub some xml elements. Accomplished that with a simple string sub, but I might need to fully scrub stuff in the future.
Add a different way to race - instead of scaling the distance between published episodes, set a constant rate for each episode, regardless of how much time is between episodes.
Look into Fern crate
Currently just states when feed will catch up to the newest episode as of creation date.
Interpolate the rate of publish and project a catch up date.
I don't have start_ep
when I need it, save all the other ones while I'm in there
{% does not trigger a file to end up in the templates directory
A question mark on the side of the parameters to clarify what they do on hover.
I think there's currently a mix of std duration and chrono duration, see if we can eliminate the requirement on chrono.
I'm seeing IPs request things like /.ftpconfig
and /.vscode/sftp.json
. Look into banning IPs after an obviously malicious request.
Hook into crowdsec or similar?
I suspect this is due to the rss
crate writing a file it is unable to read. Create an example + file a ticket
https://api.rocket.rs/v0.4/rocket/config/struct.Config.html#method.set_tls or https://api.rocket.rs/v0.4/rocket/config/index.html
https://certbot.eff.org/lets-encrypt/debianbuster-webproduct
Need to change port to 80 in rocket + port forwarding
https://audioboom.com/channels/4278829.rss
causes a panic on ingest. Fix it!
Getting file from /home/pi1/.podracer/blank-check-with-griffin-&-david_1.5_ep1_2020-12-23/original.rss
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Xml(EscapeError(UnterminatedEntity(91..113)))', server/src/rou
tes.rs:375:50
Looks like this happens when gathering "for fun" stats, look into gracefully bailing on non-required stuff.
Thread pool example
https://dev.to/deepu105/concurrency-in-modern-programming-languages-rust-19co
#![warn(missing_debug_implementations, rust_2018_idioms, missing_docs)]
If a podcast takes a long break, it might be nice to be able to fast forward. Probably results in creating a new feed with a different start_ep or anchor date or the like.
https://certbot.eff.org/lets-encrypt/debianbuster-webproduct
Add the pre/post hooks once serviceized.
Probably involves creating a new feed with the new settings. Will need to recalculate start_ep to be current episode.
I've seen a 100 episode limit before, but I'm not sure where that sits. If the MP3s are gone, there's nothing to be done. This would require some research.
Can we just rip out the stitch?
If a feed hasn't been requested in like a year, delete it.
Keep tabs on the last time a feed was requested, delete if it’s been too long
CLI API works, need to set up a web ui version
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.