Git Product home page Git Product logo

fedora-gooey-karma's Introduction

Fedora Gooey Karma

This repository is obsoleted and project was moved to Pagure.io.

fedora-gooey-karma provides similar functionality to the fedora-easy-karma via GUI. It also currently provides some extra info like: dnf info, bodhi info, test cases, bugs.

Based on

http://tirfa.com/gooey-karma.html

Dependencies

python-fedora
fedora-cert
dnf
bodhi-client
python-pyside
python-keyring
koji
PyQt4

To install these dependencies, use this command:

dnf install python-fedora fedora-cert bodhi-client python-pyside python-keyring koji PyQt4

Installation and usage

Clone the repo

git clone https://github.com/blaskovic/fedora-gooey-karma.git
cd fedora-gooey-karma

Run the application

The easiest way to run application is to type:

make run

You can also run the script without Makefile:

./src/fedora-gooey-karma

Installation to filesystem

If you decide to install application to filesystem, use install phase from Makefile:

make install

Building rpm package on Fedora

You are able to build your own RPM package on Fedora. All you need to do is to run this script.

Please review this script before to adjust paths of rpmbuild and so.

Authors

Branislav Blaskovic <[email protected]>
Tomas Meszaros <[email protected]>
Dominika Regeciova <[email protected]>

Blog

You can read about development on my personal blog.

Questions?

You can contact me via IRC [email protected].

Contribute

I would appreciate any idea/patch. Feel free to request any functionality.

fedora-gooey-karma's People

Contributors

blaskovic avatar examon avatar regeciovad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fedora-gooey-karma's Issues

Add info when no packages are 'available'

The GUI should inform the user when no packages are not added to the 'list' (or to be precise none are put into the bodhi_worker queue). This might be caused by several possibilities (as the code is now)

packagesworker.py

    def load_installed(self, releasever):
            ...
            if installed_timedelta < installed_max_days:
                if rel.startswith('fc') and releasever in rel:
                    if pkg.ui_from_repo == '@updates-testing':
                        self.bodhi_workers_queue.put(pkg)
                        print "putting to queue", pkg
  1. no packages were installed in the last installed_max_days days
  2. no packages from the selected release are installed
  3. no packages from @updates-testing are installed

I'd suggest altering the logic a bit (pseudocode):

    def load_installed(self, releasever):
        ...
        _updates_testing = False
        _max_days = False
        _releasever = False
        ...
            if pkg.ui_from_repo == '@updates-testing':
                _update_testing = True
                installed_timedelta = now - installed
                if installed_timedelta < installed_max_days:
                    _max_days = True
                    if rel.startswith('fc') and releasever in rel:
                        _releasever = True
                        self.bodhi_workers_queue.put(pkg)
                        print "putting to queue", pkg

So we can inform user via GUI, that no packages are shown since

  1. he has no packages from @updates-testing installed (propse a check whether updates-testing is even enabled)
  2. no packages were installed in last X days
  3. no packages from selected release are installed (check the actual release?)

Installed / Available packages is confusing

I have no idea what "Available" button means, but my left list is empty when I click on that button. I think this is somehow related to issue #13. It doesn't matter which packages are installed from which sources. What matters is the current list of packages in updates-testing in Bodhi.

So, unless I miss something, the Installed/Available buttons should be removed.

Status bar does not show the Fedora version correctly

After clicking on "Load Packages" button, the status bar says:
"All installed packages has been loaded. [Fedora 1]"
It should read (i.e.):
"All installed packages has been loaded. [Fedora 19]"

fedora-gooey-karma.py:
    ...
    def __save_installed_pkg_list(self, pkg_object):
-        message = "All installed packages has been loaded. [Fedora %s]" % pkg_object[0]
+        message = "All installed packages has been loaded. [Fedora %s]" % pkg_object

Package NVR can't be selected

When I want to mention a package NVR, I need to be able to copy its NVR to my clipboard. f-g-k doesn't allow me to do that. In none of the 4 places I see it mentioned I'm not allowed to copy the NVR to my clipboard.
snmek z 2013-08-16 13 33 43
Please allow that. At least the header text should be made selectable.

Scroll log from top to bottom

Please scroll the log (widget at the bottom of the app) from top to bottom, rather than from bottom up. It's much more readable that way.

Tell me how long ago I installed the package

fedora-easy-karma tells me how long ago I installed the package (e.g. 5 days ago, etc). That's a very important information, because I can then assess whether I have seen any problems with that program in the last X days or not. If I don't have the information, I can't decide properly - for example I know that I used that program 3 days ago and it worked great, but I don't know whether the update was installed before that day or after it.

Please display this information visibly somewhere.

Package sections on the right hand side are too cumbersome

At the moment I need to select a package update on the left side of the app, and then go to the very right side of the app and switch to Comments section. That is very inconvenient (and also very hardly discoverable).

It should be differently. Either all of those could be collapsible sections inside the main pane (similarly to the start tab)

snmek z 2013-08-16 14 09 40

or maybe they could be moved to the top of the main pane and displayed as buttons.

snmek z 2013-08-16 14 09 50

Just some ideas. I'm sure there are even better ones available.

Bodhi comments are not visible right away

snmek z 2013-08-16 14 04 19

When I click on a package update, I don't see Bodhi comments right away. But I need to see them to be able to test properly. The comments might contain important information what to re-test (-1 karma from some people), or the comments might contain information which program parts were already tested enough and I might decide to test different parts. Or I can learn that this update is totally broken and I don't need to spend my time on it.

The comment section should be displayed on the front page, instead of a second tab. It can be somewhat lighter - for example you could filter out all automated messages from bodhi/autoqa/etc.

I know that there's limited space on the screen. I think that "Yum Info" and "Bodhi Info" sections can be removed from the front page. They are not generally useful and can be part of some "Detailed info" tab. The "Bugs" section occupies a lot of space and could be displayed much lighter. Also it could be displayed only when some bugs are available. The same applies for "Test cases" section.

If you modify these other sections, I think you can fit Bodhi comments right to the front page quite easily.

Karma values are ordered unintuitively

When sending a karma value, I scroll the mouse wheel up on the karma drop-down list to select +1 karma. But I receive -1 karma instead. That is very weird. Direction up should be connected with positive values, and direction down with the negative values, don't you think?

screenshot_001

Please re-order from

-1
0
+1

to

+1
0
-1

Also, please consider using radio buttons instead of the drop-down list. It's easier to click once than to click twice to select the value. Also, it could be some nice buttons (big ones, to hit them easily) with emoticon faces on them.

screenshot_001 kopie

By default, no karma value should be selected, that will make sure the user won't forget the change the value from the previous update.

Karma sending shows no progress

When I click Send Karma, nothing happens. Then nothing happens. Then I wonder - have I clicked the button? Should I click it again? Then I wait for more eternity. Then I'm instantly switched to a different update.

Please display some indicator that karma value is being sent. Indefinite progress bar, spinner, something. Also, make sure I can't send the comment twice by mistake.

snmek z 2013-08-16 14 40 13

When it's done, switch me to a next update, but make display a green checkbox next the to just-commented update in the left package list? So that I can be sure the comment was sent successfully and I don't need to go back and check.

snmek z 2013-08-16 14 40 17

looks ugly

Something's wrong, I don't know what. It looks ugly as hell now.

snmek z 2013-08-30 16 58 19

Web browser opening doesn't work

When I try to open an update in a web browser, I see this:

Traceback (most recent call last):
  File "/home/kparal/devel/fedora-gooey-karma/src/browser.py", line 50, in show_bodhi_update_in_browser
    update = self.main.get_bodhi_update()
  File "/home/kparal/.local/bin/fedora-gooey-karma", line 477, in get_bodhi_update
    return pkgList[self.ui.pkgList.currentItem().text()]
AttributeError: 'NoneType' object has no attribute 'text'

Add links to About dialog

In the About dialog inside the program, there is no contact information. No homepage, no link to report bugs, nothing. Please add that, if you want some feedback from your users.

Thanks.

snmek z 2013-08-16 13 24 28

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 129: ordinal not in range(128)

$ ./src/fedora-gooey-karma
Already up-to-date.
Loaded plugins: langpacks, refresh-packagekit
Traceback (most recent call last):
  File "./src/fedora-gooey-karma", line 163, in customEvent
    event.callback()
  File "/home/kparal/devel/fedora-gooey-karma/src/idlequeue.py", line 33, in idle
    func(*args, **kwargs)
  File "./src/fedora-gooey-karma", line 290, in bodhi_process_result
    line.setText(0, str(comment['text']))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 129: ordinal not in range(128)

The list of please-test packages is not referenced

The start tab says:

If you are not sure what you should test, wait until all packages are loaded and see sections below this text.

snmek z 2013-08-16 13 56 26

But most of the packages are not displayed in the tabs below, because the programs are not running neither they have negative karma. The list of packages to test is on the left. The text should be updated to explain that better.

The list of packages available for feedback is incomplete

If I run f-g-k, only one package is available for feedback.
meanwhile-1.1.0-12.fc19
snmek z 2013-08-16 13 28 06

When I run f-e-k, three packages are available for feedback.
fros-1.0-4.fc19.noarch
meanwhile-1.1.0-12.fc19.x86_64
opencv-core-2.4.6.1-1.fc19.x86_64

That means f-g-k detects it wrong. My suspicion is that it doesn't ask Bodhi at all, the reload is too quick. That would be wrong. You can't just load packages from disk and see which ones were installed from updates-testing in the last 7 days. Some of them might have already been pushed stable, and they would be displayed redundantly. Some packages might have be installed 2 or 3 weeks ago, but they can still be in updates-testing, so they would be missing from f-g-k. Some packages could have been downloaded and installed manually, without using a repository. Those would also be missing.

I see no other way than to ask Bodhi on start, similarly to what f-e-k does.

Enhance the handling of links/opening browser

At the moment, browser (new tab in browser) is opened as a reaction to (probably) on_click event of the Testcases/Bugs lists. I'd consider either making visually clear, that these are hyperlinks which will open the browser, or handling double-click event instead of a single-click.

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.