Code Monkey home page Code Monkey logo

getme's Issues

Add movie support

I'd imagine this taking a long time. But ideally I want to be able to track movies too.

Handle source errors robustly

Currently when one of the sources errors out (always Trakt) the entire program comes to a halt. We don't want that. Make it so that it handles the error and continues.

getme/ui/ui.go

Line 202 in c4e083e

if !isAllNil(errors) {

Ignore seasons 0

This rarely returns anything useful and if you're such a fan that you want to see the directors commentary you can search for it yourself.

Add back-off support

Some torrents we'll never be able to download (for example the first episode of a series which started in 1996). There is no need to keep trying it. Be gentle with all the webservices we're using an progressively back off trying to fetch these.

The 'sources' package imports the 'store' package

This means that any other binary wanting to use the 'sources' package now contains the 'store' package too. That seems a violation of concerns.

It's tricky to envision the removal of 'store'.
Removing it would mean moving the UpdateSeasonsAndEpisodes elsewhere; where should it be moved to?
And the Source interface needs to change the function signature of Seasons. The question then is how to pass down the original source information.

Output of update with multiple shows is rubbish

Updating media from sources and downloading pending torrents.
...................................Searching for 1 torrents.
Downloading 0 torrents
Pending: foobar season 11 episode 7
Searching for 4 torrents.....
Downloading 0 torrents
Pending: baz season 0
Pending: baz season 1 episode 1
Pending: baz season 1 episode 2
Pending: baz season 1 episode 3
....................Searching for 10 torrents..........................................
Downloading 0 torrents
Pending: bar season 1 episode 1
Pending: bar season 1 episode 2
Pending: bar season 1 episode 3
Pending: bar season 1 episode 4
Pending: bar season 1 episode 5
Pending: bar season 1 episode 6
..Searching for 6 torrents.............
Downloading 0 torrents
Pending: tofu season 0
Pending: tofu season 4 episode 12
Pending: tofu season 4 episode 13
Pending: tofu season 4 episode 14
Pending: tofu season 4 episode 15
Pending: tofu season 4 episode 16
.............

Split into server/client

I'd love to split the software up in two distinct parts. A server and a client. All HTTP.

I think it is rather easy. The ui package is probably a good place to start for the server part. Every thing in main is client except the config part which has to move anyway.
The client is to be written brand new.

The added value for the end user is the fact that multiple UI can be made. CLI is not for everyone and I expect even less so for Windows users.

Simplify snippets

Now I try to be clever by generating snippets and picking a random one at the start. Instead I should just use S00E00 first, then 0x00 and then year-month-day.

Link with #33

Make a robust IMDB popular shows parser.

The current tool popular_shows.py requires two files in /tmp called part1.html and part2.html. These files should contain a subtree of the source IMDB page. This is because Beautiful Soup was unable to parse the original. This is a hassle and should be fixed.

Ideally you'd just run the Python script which does:

  1. Download the first page
  2. Parse the first page
  3. Append to shows list
  4. Do it all again for the second page

Create the canonical name app/lib

I've had it with crappy searches and unintelligible torrent names.
I want a library which will take a string which supposedly represent a show name and map that to a canonical show name. The latter can come from one of the services i use like tvmaze.

Test this with a whole bunch of torrents.

Add flags

Its time to add start up flags. I don't think it's possible to add git like sub commands which is what I initially wanted. No matter, flags will do just fine.

Add: -a, --add string
Daemon: -d, --daemon nil
From Season: -fs, --from-season int
From Episode: -fe, --from-episode int (must be used in combo with -fs)
...

Display alternatives as a table, not a list.

Currently the alternatives are displayed as a long list. With the matches from the different sources just appended to each other. Dog ugly.

I think the tabWriter could help us out. The idea is to have a column for each source (Trakt, TvRage, etc). Under that list the alternatives. Mind that the first entry of the second column has the index of len(firstColumn)+1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.