Giter VIP home page Giter VIP logo

passes's Introduction

Application icon

Passes

Passes is a digital pass manager made with libadwaita for the GNOME desktop.

Screenshot

Features

  • Adaptive user interface.
  • Support for ".espass" and ".pkpass" files.
  • Ability to update ".pkpass" files.

Build

You can build Passes using GNOME Builder: import the project and press the Play button.

Install

The recommended way of installing Passes is via Flatpak:

Download on Flathub

License

Passes is available under the terms of the GPL 3.0 license.

passes's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

passes's Issues

Build fails due to appstream metadata validation failure

Appstream metadata validation fails, mostly due to the screenshot being invalid. Here's the relevant output:

==================================== 2/2 =====================================
test:         Validate appstream file
start time:   13:44:34
duration:     0.56s
result:       exit status 1
command:      MALLOC_PERTURB_=48 /usr/bin/appstream-util validate data/me.sanchezrodriguez.passes.metainfo.xml
----------------------------------- stdout -----------------------------------
data/me.sanchezrodriguez.passes.metainfo.xml: FAILED:
• attribute-invalid     : <screenshot> width too large [https://raw.githubusercontent.com/pablo-s/passes/main/data/screenshots/passes.png] maximum is 1600px
• attribute-invalid     : <screenshot> height too large [https://raw.githubusercontent.com/pablo-s/passes/main/data/screenshots/passes.png] maximum is 900px
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/pablo-s/passes/main/data/screenshots/passes.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/pablo-s/passes/main/data/screenshots/passes.png]
• style-invalid         : <ul> cannot start a description [(null)]
• style-invalid         : Not enough <p> tags for a good description [0/1]
----------------------------------- stderr -----------------------------------
Validation of files failed
==============================================================================

Note: this happened on Debian testing using appstream-util version 0.8.1

[Feature request] Add to GNOME Circle

I really like your software. Maybe you could look into applying for your app to be featured in GNOME circle; see circle.gnome.org. Let me know what you think.

Use nonet for appstream-util test

Generally, official distribution packages are supposed to build without Internet access. Also, it's good for distributions to run as many build tests as possible.

Therefore, please consider adding the --nonet argument to your appstream-util validation test.

macOS Support

Hi! I just discovered this app and it looks really well built. I'm wondering if it would be possible for it to be built for macOS, with the current toolchain used within the app?

QR code button in dark mode is not visible

Schermata del 2022-04-07 08-41-47

I just updated GNOME to version 42, which supports native dark mode, and set it. The QR code button is not visible. I suggest, if possible, either to make a second icon for that button with white QR code or to change the button icon with something else

Info symbolic image broken on Librem 5

Device Librem 5
PureOS Byzantium (Debian Bullseye based)

Passes installed via Flathub Flatpak.

When you open a pass, the info button has a broken image link as if the svg at data/icons/hicolor/scalable/actions/info-symbolic.svg has not installed properly. This does not seem to be reproducible when installing on x86.

Add more info

README lacks of some useful information:

  1. How to build this app? which dependencies it needs?
  2. How does it work? I tried to add a pkpass ticket and png file of QR code containing my EU Digital COVID Certificate's data but nothing happened

unable to deal with fake-PNG (jpeg with .png extension)

So I tried a few old pkpasses. And I found that my cinemy includes movie pictures as thumbnails. The files are marked with a .png extension, but are in real jpeg.

The error is:

flatpak run me.sanchezrodriguez.passes
Traceback (most recent call last):
  File "/app/share/passes/passes/main.py", line 127, in _on_file_chosen
    pkpass = PassFactory.create(pkpass_file)
  File "/app/share/passes/passes/digital_pass_factory.py", line 41, in create
    digital_pass = this_class.create_pkpass(archive)
  File "/app/share/passes/passes/digital_pass_factory.py", line 65, in create_pkpass
    pixbuf = thisClass.create_pixbuf_from_filename(archive, file_name)
  File "/app/share/passes/passes/digital_pass_factory.py", line 102, in create_pixbuf_from_filename
    loader.write(image_data)
gi.repository.GLib.GError: gdk-pixbuf-error-quark: Fatal error reading PNG image file: Not a PNG file (0)

This is the content of a pkpass

❯ unzip pass.pkpass
Archive:  pass.pkpass
  inflating: [email protected]        
  inflating: [email protected]       
  inflating: icon.png                
  inflating: [email protected]             
  inflating: [email protected]        
  inflating: background.png          
  inflating: [email protected]             
  inflating: logo.png                
  inflating: [email protected]             
  inflating: [email protected]       
  inflating: [email protected]             
  inflating: thumbnail.png           
  inflating: pass.json               
  inflating: manifest.json           
  inflating: signature               
❯ file *.png
[email protected]: PNG image data, 720 x 880, 8-bit colormap, non-interlaced
[email protected]: PNG image data, 1080 x 1320, 8-bit colormap, non-interlaced
background.png:    PNG image data, 360 x 440, 1-bit colormap, non-interlaced
[email protected]:       PNG image data, 240 x 240, 8-bit/color RGB, non-interlaced
[email protected]:       PNG image data, 360 x 360, 8-bit/color RGB, non-interlaced
icon.png:          PNG image data, 120 x 120, 8-bit/color RGB, non-interlaced
[email protected]:       PNG image data, 400 x 200, 8-bit gray+alpha, non-interlaced
[email protected]:       PNG image data, 600 x 300, 8-bit gray+alpha, non-interlaced
logo.png:          PNG image data, 200 x 100, 8-bit gray+alpha, non-interlaced
[email protected]:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, progressive, precision 8, 320x451, components 3
[email protected]:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, progressive, precision 8, 480x677, components 3
thumbnail.png:     JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, progressive, precision 8, 160x226, components 3

[Feature request] Add ability to rename passes

In the main screen list of passes, it seems the pass name/label is derived from the pass meta data. It would be nice to be able to rename that for cases where there are multiple same or similar named passes.

gtk-passes displays a different (and wrong) QR code

Hi, I have a german subscription for the nation-wide train ticket (Deutschlandticket). The ticket website, https://github.com/KDE/kitinerary and PassAndroid show a 355 byte Aztec code as QR code, while passes only shows a brief number as Aztec code (I think the ticket number). The Passes code is definitely not the correct one, although I used the very same .pkpass file as eg for passandroid and kitinerary.

I would attach the pkpass but as it is a currently valid ticket with all my data in it, I would rather not make it public. But I could email it to you, if you are interested.

P.S. Forgot: I am using the flatpak 0.8 version, not sure if things might have been fixed since then.

'File is not a pass' on Pinephone (arm64)

Hi! I've installed the app on my Pinephone (ARM 64) from Flathub. I wanted to import a .pkpass file previously downloaded from renfe.com (the Spanish national train service). But, the app fails to import and shows the "File is not a pass" message. I've also tried installing the app via AUR passes-git but got the same result. However, I've tried from my desktop computer (via Flathub), and the app correctly imports the file and shows all details.

Moreover, I've tried to generate a sample .pkpass from passsource.com, and the app correctly imports it from my Pinephone.

Therefore, something strange happens when importing Renfe .pkpass files on the Pinephone. ¿How can I debug this issue?

Thanks.

SyntaxWarning: invalid escape sequence on Python 3.12

Starting passes with Python 3.12 you'll get the following warnings.

/usr/share/passes/passes/digital_pass.py:159: SyntaxWarning: invalid escape sequence '\('
  result = re.search('rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)',
/usr/share/passes/passes/digital_pass.py:170: SyntaxWarning: invalid escape sequence '\#'
  result = re.search('\#(\S{2})(\S{2})(\S{2})(\S{2})',
/usr/share/passes/passes/digital_pass.py:305: SyntaxWarning: invalid escape sequence '\:'
  matches = re.finditer('(T|t)([0-9]{2}\:?)+(\+|\-|Z)?', string)
/usr/share/passes/passes/digital_pass_factory.py:110: SyntaxWarning: invalid escape sequence '\.'
  image_type = re.split('\.|@', file_name)[0]
/usr/share/passes/passes/pass_field_row.py:54: SyntaxWarning: invalid escape sequence '\S'
  value = re.sub('(?:(https?://)|(www))(\S+)',
/usr/share/passes/passes/pass_field_row.py:59: SyntaxWarning: invalid escape sequence '\+'
  value = re.sub('(\+\d+[\(\)\-\d\s\.]+\d)',
/usr/share/passes/passes/pass_field_row.py:64: SyntaxWarning: invalid escape sequence '\S'
  value = re.sub('(\S+\@[\w\-]+\.\w+)',

Would be nice to review these warnings and try to fix them.

File handlers / mime-type-support

Hi there. I think passes is an awesome thing. Our Cinema provides tickets for apple wallet, who are pkpasses, the same for a lot of other ticket shops and systems.

Sadly passes currently can't deal with them directly. You need to download them at first and manually import later on via + in the app.

So my request here is to have mime type handler support as well as support for handling

application/vnd.apple.pkpass
application/vnd.apple.pkpasses

Can't decode byte 0xfe in position 0

I opened a pkpass file and this traceback appeared in the console:

  File "/usr/share/passes/passes/main.py", line 127, in _on_file_chosen
    pkpass = PassFactory.create(pkpass_file)
  File "/usr/share/passes/passes/digital_pass_factory.py", line 41, in create
    digital_pass = this_class.create_pkpass(archive)
  File "/usr/share/passes/passes/digital_pass_factory.py", line 71, in create_pkpass
    translation_dict = thisClass.create_translation_dict(file_content)
  File "/usr/share/passes/passes/digital_pass_factory.py", line 108, in create_translation_dict
    content = translation_file_content.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 0: invalid start byte

I used both new and old pkpass file. I am using latest Arch Linux with latest git version of Passes from AUR.

Support other format

Thanks for the marvelous app!
Will images (for qrcode) or other formats (such as PDFs ) be supported?
Also it would be nice if with the camera you could scan the qrcode directly from the app.

How to add rewards cards or coupons?

I noticed it said on the flathub that it could work for rewards cards or coupons... The question is how? I imagine you'd use another app to scan the barcode and turn it into a file format readable by this app?

QR code tiny

For some reason, the QR code on my device is tiny with no way to make it larger

image

Screen size: 2560 × 1600
Display scaling: 1.5
Font scaling: 1.1
Compositor: GNOME Mutter

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.