Git Product home page Git Product logo

ticketbooth's Introduction


Ticket Booth

Keep track of your favorite shows

Features

Ticket Booth allows you to build your watchlist of movies and TV Shows, keep track of watched titles, and find information about the latest releases.

Ticket Booth does not allow you to watch or download content. This app uses the TMDB API but is not endorsed or certified by TMDB.

Install

Download on Flathub

Builds from the main branch are available as artifacts on the Actions page.
To build from source see Building.

Contribute

This project is translated via Weblate.
Translation status

See Contributing to learn more.

License

Copyright (C) 2023 Alessandro Iepure
This application comes with absolutely no warranty. See the GNU General Public License, version 3 or later for details. A copy of the license can be found in the LICENSES/ folder.

Most symbolic icons are copyright of the GNOME Project.
The libraries used are the copyright of the respective copyright holders.
This project is REUSE compliant.

ticketbooth's People

Contributors

aleiepure avatar comradekingu avatar jdorigao avatar gnesterif avatar weblate avatar daphipz avatar rene-coty avatar albanobattistella avatar librizzia avatar mnemster avatar

Stargazers

Graffarts avatar Artemis Resende avatar  avatar  avatar Dani Cosas avatar  avatar Yaser Shahi avatar Nikola avatar shakur avatar  avatar  avatar Reinaldo J. Nunes avatar Leon L. avatar Cassidy James Blaede avatar Azmarine avatar  avatar Amir B avatar Array in a Matrix avatar  avatar hoek avatar Ian avatar  avatar  avatar ANLO.PO avatar Trevor Williams avatar David7ce avatar Valentin BELYN avatar harezmi avatar  avatar MaFeLP avatar Benjamin Collet avatar Norbs avatar Jonas Helmer avatar  avatar  avatar Spaziale avatar Julian Richen avatar  avatar Marco avatar David Ignacio Cortes avatar  avatar Magnus avatar Tommi avatar Gregor Niehl avatar  avatar Hari Rana avatar William(ѕ)ⁿ avatar Yusuf İpek avatar Pierre-Yves Landuré avatar  avatar Manan Vaghasiya avatar Scotty Trees avatar  avatar Sergio Varela avatar Kevon Fernando avatar Christian Díaz avatar Scooter avatar Radu C. Martin avatar Chetan Vardhan avatar  avatar

Watchers

Julian Richen avatar  avatar  avatar  avatar

ticketbooth's Issues

gesture support for TV Series items

Describe the issue
Two finger swipe from left to right in the items in movies tab performs a go back action. IDK the UI terms but it slides out reveling the previous page whereas the same doesn't happen in shows.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'TV Shows'
  2. Click on 'any show'
  3. Perform the gesture
  4. See issue.

Expected behavior
Perform the reproduce actions in To Reproduce but in 'Movies' tab.

Operating system (please complete the following information):

  • Distro: NixOS 23.11 (Tapir)
  • Version: 1.0.3.1
  • Desktop Environment: Gnome 45.5
  • Xorg/Wayland: Wayland

Watched Status Gets Reset After Metadata Update

Describe the issue

Whenever I update the metadata of a TV series or movie the watched status gets reset.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a TV series or movie.
  2. Mark it as watched.
  3. Click the "Update Metadata" button.
  4. Observe that the watched status is now reset.

Expected behavior
I expect the watched status to survive a metadata update.

Operating system (please complete the following information):

  • Distro: Arch Linux
  • Version: rolling
  • Desktop Environment: GNOME 44.5
  • Xorg/Wayland: Wayland

App version:
1.0.3.1

Additional context

  • I am aware that this application uses content from third parties and I am not reporting issues about their data (wrong or missing data and/or images). If the latter is the case, please report directly to them.

[Feature Requested] Progress Tabs or Progress Filter to list movies / series

I missed being able to select between films or series watched/watching/starting (progress tabs or progress filter). It would be nice to be able to choose between the options, so I can have greater control between what I still want to start watching, what I'm already watching and what I've already completed (perhaps also a canceled or abandoned option)

Example:
image

Cannot add TV serie from TMDB

Describe the issue
One cannot add TV serie from TMDB.

To Reproduce
Steps to reproduce the behavior:

  1. Add TV serie from TMDB
  2. The search function works
  3. Confirmation message shows up
  4. Error message in terminal
  5. No serie added in watchlist

Expected behavior
Selected serie should be added to watchlist.
An error should be displayed if data cannot be fetched from TMDB.

Stacktrace

(ticketbooth-bin:2): Gtk-CRITICAL **: 13:30:59.174: gtk_list_box_row_grab_focus: assertion 'box != NULL' failed
Traceback (most recent call last):
  File "/app/share/ticketbooth/src/background_queue.py", line 80, in _run_in_thread
    outcome = self.task_function(self)  # type: ignore
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/widgets/search_result_row.py", line 180, in _add_content_to_db
    local.add_content(id=self.tmdb_id, media_type=self.media_type)
  File "/app/share/ticketbooth/src/providers/local_provider.py", line 346, in add_content
    return LocalProvider.add_series(id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/providers/local_provider.py", line 274, in add_series
    serie = SeriesModel(tmdb.get_serie(id))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/models/series_model.py", line 94, in __init__
    self.seasons = self._parse_seasons(d['seasons'])
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/models/series_model.py", line 189, in _parse_seasons
    seasons.append(SeasonModel(show_id=self.id, d=season))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/models/season_model.py", line 90, in __init__
    tmdb.TMDBProvider.get_season_episodes(show_id, self.number))
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/providers/tmdb_provider.py", line 117, in get_season_episodes
    return tmdb.TV_Seasons(id, season).info(language=lang)['episodes']
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/tmdbsimple/tv.py", line 524, in info
    response = self._GET(path, kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/tmdbsimple/base.py", line 110, in _GET
    return self._request('GET', path, params=params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/tmdbsimple/base.py", line 105, in _request
    response.raise_for_status()
  File "/app/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.themoviedb.org/3/tv/79501/season/0?language=fr&api_key=3cea7ff23278a75460ead4d6e2cef9af

Operating system (please complete the following information):

  • Distro: Fedora
  • Version: 38
  • Desktop Environment: Gnome 44
  • Xorg/Wayland: Wayland

Additional context

  • I am aware that this application uses content from third parties and I am not reporting issues about their data (wrong or missing data and/or images). If the latter is the case, please report directly to them.

JSON response when GET on TMDB url :

{"success":false,"status_code":6,"status_message":"Invalid id: The pre-requisite id is invalid or not found."}

Constant crashing of the app

Describe the issue
After adding 2-5 titles the app hangs and then crashes.

To Reproduce
Steps to reproduce the behavior:

  1. Start the app fresh
  2. Add a few titles
  3. The app hangs and then crashes after an unusual spike in CPU I/O wait

Expected behavior
The app should not crash

Screenshots
Screenshot from 2023-10-01 03-29-33

In the attached image, within the red circle, you can see the cpu I/O wait spike. It's the white tip. The blue circle is the network usage when the app was pulling the data for the requested titles. The last box with the white/orange tips is the actual IO write to the disk.

Operating system (please complete the following information):

  • Distro: Fedora Silverblue
  • Version: 38.20230922
  • Desktop Environment: Gnome 44.5
  • Xorg/Wayland: Wayland

Frequent crashs of the application

I just have started using Ticket booth, therefore I had to import around 30 / 40 movies. But each 2 to 5 imports, the application close without warning. The importation is succesfull, but each time I have to restart the application to continue. It's really painfull.
I do not know if there is a log file somewhere, tell me, so that I can share it with you.

OS: ubuntu 2023.04, ticket booth installed from flathub

Implement full blur effect for light style for TV series

Describe the issue

Currently blur effect is fully implemented for dark style but not for light style.

Dark style
For the dark style, the blur effect is darker for both the background and for the information frame associated with seasons and episodes

Screenshot from 2023-11-01 12-06-04

Light style
But for the light style, the blur effect is only implemented and lighter for background. It is not implemented for the information frame associated with seasons and episodes. Instead a white frame is used. This looks weird.

Screenshot from 2023-11-01 12-06-13

Suggestion

implement also light blur effect for information frame associated with seasons and episodes.

[Bug] Stuck on "Getting things ready" screen

Describe the issue
Ticketbooth keeps loading forever after launch.
To Reproduce
Steps to reproduce the behavior:

  1. Install on Fedora 38
  2. Launch app
  3. See issue

Screenshots

Screenshot from 2023-10-21 09-27-12-obfuscated

Operating system (please complete the following information):

  • Distro: Fedora
  • Version: 38
  • Desktop Environment: Gnome
  • Xorg/Wayland: Wayland

Additional context

  • I am aware that this application uses content from third parties and I am not reporting issues about their data (wrong or missing data and/or images). If the latter is the case, please report directly to them.

Add any other context about the problem here.

I left it open for 10+ minutes /restarted it and it always hangs on that window.

Separate Flatpack packaging and business logic in the source code

As for now, it's difficult and convoluted to debug the app as the only supported way to run it is via Flatpak. To use VSCode(ium) to debug it, for example, I had to generate the Flatpak package, copy some output files generated by Meson to the source code folder and run the main function from there.

Another issue is that the cache and shared files are stored in home/user/.cache and home/user/.local/share directly (i.e. not in a subfolder). This is not an issue if the app is run via Flatpak because each container has its own local cache and share folders, but if the app is run out of a Flatpak container these home folders become a mess.

So it would be great if the source is refactored to let the app be run out of a Flatpak container and make the Flatpak generation a separate build step, decoupled from the app itself. Doing so would also allow other packaging methods to be more easily implemented.

UI freezes / blank screen

Describe the issue
After some usage the UI becomes irresponsive and 'disappears'

To Reproduce
Steps to reproduce the behavior:

  1. Add some movies from TMDB
  2. While adding movies you'll notice that the main window behind may eventually display a 'blank page' after a few additions

Expected behavior

Addition process should end without errors

Screenshots

Blank app → user is forced to quit and restart the app

Capture d’écran du 2023-09-25 19-25-45

Operating system (please complete the following information):

  • Distro: Fedora 38
  • Desktop Environment: GNOME 44
  • Wayland

Additional context

  • I am aware that this application uses content from third parties and I am not reporting issues about their data (wrong or missing data and/or images). If the latter is the case, please report directly to them.

Ticketbooth doesn't run after latest flatpak update

Just updated the latest flatpak update for Ticketbooth (even did a reboot) and the app is unable to launch. Here is the terminal output when I attempt to run it, but it fails. Hope this can be addressed ,thank you!

[scott@fedora ~]$ flatpak run me.iepure.Ticketbooth
Traceback (most recent call last):
  File "/app/bin/ticketbooth-bin", line 46, in <module>
    from src import main
  File "/app/share/ticketbooth/src/main.py", line 24, in <module>
    from . import shared  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^
  File "/app/share/ticketbooth/src/shared.py", line 27, in <module>
    faulthandler.enable(file=open(data_dir/'logs'/'crash.log',"w"))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/scott/.var/app/me.iepure.Ticketbooth/data/logs/crash.log'
[scott@fedora ~]$ 

This was just a quick post, if you need more information, I'd be happy to update and provide additional details.

[Feature request] 'Watched' filter

For the moment being, marking a movie as watched doesn't differenciate it from the others (no specific icon/category)
Adding a filter to only display films that have been marked as 'Watched', or those who have not yet been watched at all would be helpful to give this functionality more sense + it would be a welcomed help to easily sort/simplify the watchlist

Padding in screenshots make appstream validation fail

Describe the issue
Appstream validation fails due to invalid screenshots.

To Reproduce
Build the application manually using meson and ninja then execute meson test. The appstream validation test fails with the following output:

==================================== 3/3 =====================================
test:         Validate appstream file
start time:   09:35:01
duration:     1.71s
result:       exit status 1
command:      MALLOC_PERTURB_=98 /usr/bin/appstream-util validate data/me.iepure.Ticketbooth.metainfo.xml
----------------------------------- stdout -----------------------------------
data/me.iepure.Ticketbooth.metainfo.xml: FAILED:
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/1.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/1.png]
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/2.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/2.png]
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/3.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/3.png]
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/4.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/aleiepure/ticketbooth/main/data/appstream/4.png]
----------------------------------- stderr -----------------------------------
Validation of files failed
==============================================================================

Expected behavior
Appstream validation should succeed

Operating system (please complete the following information):

  • Distro: Debian
  • Version: 1.0.1
  • Desktop Environment: XFCE
  • Xorg/Wayland: Xorg

Additional context

  • I am aware that this application uses content from third parties and I am not reporting issues about their data (wrong or missing data and/or images). If the latter is the case, please report directly to them.

[Feature Request] Add option for Export/Import to Restore Data

Greetings,

Just discovered your app and love the look and feel of it. For years I've used a simple text file to track shows, but this app is a perfect fit in on Gnomes desktop. One thing I was curious about is what happens when I move from Fedora 38 to Fedora 39 with a fresh install, will TicketBooth have to be rebuilt manually all over again?

It would be essential for TicketBooth to have an export/import feature, so that anytime we reinstall our OS or install a new distro, we can just import our backup and get back up and running quickly. I don't know if it would be entirely the same thing, but for example Gnome's Podcast app has an import/export feature, so whenever I need to use a different distro, I can simply just import the podcast .opml file and I'm back up and running.

As it stands now, I think this would be an excellent feature to include and I hope it is possible. If you have any further questions feel free to ask and in the meantime I'll keep enjoying TicketBooth, thank you.

[Feature Request] Folders or filtering

Sometimes I want to watch a drama, sometimes I want to watch a comedy. Genre information exists within the movie data, so it could be used to separate different types of movies, but it wouldn't be a huge hassle for me to organise them in the folders I'd create. Either approach would be fantastic and make it easier to pick what I want to watch at the moment

[Feature request] Watchlist sync through TMDb account

I have a lot of movies and show in my TMDb watchlist. I understand that after #12 gets fixed, I'll be able to import this data in the app, but I wonder if logging in via Ticket Booth to my TMDb account in order to sync my watchlist between the site and the app can go into the scope of this project?

[Feature request] Search function

A search function for all the movies/TV Series added to the watchlist would be useful, especially when your watchlist has a lot of items :)

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.