Commit Graph

355 Commits

Author SHA1 Message Date
Fabio Erculiani
796e71e9ac [repo] migrate shebangs to /usr/bin/python 2012-08-18 16:53:32 +02:00
Fabio Erculiani
d56cd777c8 [RigoDaemon] some minor Python 3.x related fixes 2012-08-18 09:53:18 +02:00
Fabio Erculiani
e2c0ddb526 [Rigo] Python 3.x compatibility fixes 2012-08-18 09:44:26 +02:00
Fabio Erculiani
96976374fe [RigoDaemon] rewrite Installed Repository I/O event handler
Rewrite the serialization code of the I/O events coming in when
the Installed Packages Repository is modified (at filesystem level)
to better deal with bursts of events.
The new code uses a "baton" Semaphore as mutex that can be passed
through threads. The MainThread event handler function tries to
acquire the Semaphore in NB mode, if it does, it spawns a thread
that executes all the operations (acquire locks in blocking mode,
calculate updates, etc) and releases the Semaphore once done.

Olympic win!
2012-08-17 12:27:55 +02:00
Fabio Erculiani
c5cf96ace0 [RigoDaemon] delay updates calculation by 20 seconds after locks are released 2012-08-17 11:03:58 +02:00
Fabio Erculiani
3679fa966a [Rigo] increase search bar maximum entry length to 512 chars. 2012-08-12 12:05:50 +02:00
Fabio Erculiani
34d464e7c6 [Rigo] PreferencesTreeView: add explicit "_" import 2012-08-08 21:42:10 +02:00
Fabio Erculiani
c9a5f2481d [Rigo] implement Application Groups support (in:groups keyword) 2012-08-08 21:41:41 +02:00
Fabio Erculiani
aa6edfccdc [Rigo] update translations 2012-08-05 22:32:50 +02:00
Fabio Erculiani
122396705d [Rigo] update translations 2012-08-03 16:31:46 +02:00
Fabio Erculiani
2b40390983 [Rigo] update rigo.pot 2012-08-03 16:31:01 +02:00
Fabio Erculiani
89b114f005 [Rigo*] implement mirrors optimization feature, see bug #3438 2012-08-03 16:26:52 +02:00
Fabio Erculiani
107e55a029 [RigoDaemon] fix polkit "Manage Configuration" message field (gnome-polkit guys are idiot!) 2012-08-03 16:17:21 +02:00
Fabio Erculiani
da334ec92e [Rigo] always convert dbus.Int and dbus.String into native Python object types 2012-08-03 06:30:05 +02:00
Fabio Erculiani
f6ccf316e3 [Rigo] speedup recent searches ListStore (using a set()) and avoid duplicates 2012-08-02 12:30:53 +02:00
Fabio Erculiani
429c1f6be5 [Rigo] set a custom window title for each Rigo View SM State 2012-08-02 12:18:53 +02:00
Fabio Erculiani
57021922ed [Rigo] s:transactions:transitions 2012-08-02 12:09:43 +02:00
Fabio Erculiani
c6829f479a [Rigo] enable (eventually) the search entry text completion 2012-08-02 12:01:46 +02:00
Fabio Erculiani
0683d9d38c [Rigo] rework special search keywords, make them more intuitive 2012-08-02 11:58:43 +02:00
Fabio Erculiani
d0c367ba88 [Rigo] rewrite special search functions lookup using a hash table 2012-08-02 11:47:14 +02:00
Fabio Erculiani
2136dab0bb [Rigo] update rigo.pot 2012-07-31 19:37:01 +02:00
Fabio Erculiani
2ddd3b4d0f [Rigo] implement a Bottom NotificationBox "Activity" button
This Button allows users to see the current Application management
queue by leveraging the new RigoDaemon API.
2012-07-31 19:35:35 +02:00
Fabio Erculiani
b5b8d25297 [RigoDaemon] add support for Action Queue "introspection" (in a MVCC way)
The new action_queue_items() is able to return the internal
Action Queue status without blocking while returning a consistent
state. This method will be used by Rigo to list the Action Queue
activity on the bottom notification box.
2012-07-31 16:35:38 +02:00
Fabio Erculiani
88844b3cb5 [Rigo] enable fallback search only when in:installed and Set search are not triggered 2012-07-31 10:27:41 +02:00
Fabio Erculiani
7d5eb11c0c [Rigo] make "in:installed" queries case insensitive 2012-07-31 10:25:03 +02:00
Fabio Erculiani
62eef2d5d8 [Rigo] add "in:installed [<search arg 1> ...]" search key support 2012-07-31 10:20:59 +02:00
Fabio Erculiani
d6d1e047ae [Rigo] add custom drive-harddisk icon 2012-07-31 09:27:01 +02:00
Fabio Erculiani
4fd54651c5 [Rigo] rename all the magic search keywords from "rigo:" to "in:" 2012-07-31 09:26:38 +02:00
Fabio Erculiani
ad8574024b [Rigo] update rigo.pot 2012-07-31 09:23:42 +02:00
Fabio Erculiani
f460cd2922 [Rigo] implement "Show Installed Applications" Preference object 2012-07-31 09:22:57 +02:00
Fabio Erculiani
b1e3a27696 [Rigo] add "rigo:installed" magic search keyword that shows all the installed Apps 2012-07-31 09:11:39 +02:00
Fabio Erculiani
7aee5d56a1 [Rigo] correct indentation 2012-07-31 09:08:04 +02:00
Fabio Erculiani
e432a1c9f0 [RigoDaemon] make sure to always call Package.kill() 2012-07-27 21:37:48 +02:00
Fabio Erculiani
90458f80b6 [entropy.client.services,Rigo] add support for the new get_documents() WS API
The new WebService get_documents() is more efficient in terms of
server resources consumption since it doesn't force the WS engine
to calculate the full result set length, which had little use anyway
in Rigo.
This commit switches entropy.client.services' DocumentList to and
reverse dependencies to use the new WS API. The older WS API will be
kept alive for a while (6 months, roughly).
2012-07-25 22:30:38 +02:00
Fabio Erculiani
254c866702 [Rigo] update translations 2012-07-23 19:22:53 +02:00
Fabio Erculiani
13b5bcd018 [Rigo] serialize MTed download to the same URLs (avoid flooding the WS) 2012-07-23 19:19:49 +02:00
Fabio Erculiani
4d89935ef6 [Rigo] give Icons and Rating worker threads to collect more keys during a batch cycle 2012-07-19 13:27:43 +02:00
Fabio Erculiani
5189bf51bc [Rigo] update translations 2012-07-16 10:40:15 +02:00
Fabio Erculiani
b504f4ce5f [Rigo] update rigo.pot 2012-07-16 10:38:31 +02:00
Fabio Erculiani
0c4d3a2b0a [Rigo] when App is updatable, show "Update" instead of "Remove"
This commit fixes bug #3417
2012-07-15 11:37:08 +02:00
Fabio Erculiani
09b8110790 [Rigo] Add "Black on White" and "White on Black" terminal colors support
This commit fixes bug #3433
2012-07-15 11:17:35 +02:00
Fabio Erculiani
f573957172 [Rigo] avoid race with finally block and GC wrt file descriptors
It has been observed that subprocess.call() called by open_url()
might fail due to Error 9 (Bad File Descriptor) due to a race
between the garbage collector thread (run in the MainThread) and
our own subprocess.call() thread. For this reason, make sure to
call open_url() outside the try/finally block. This seems to be
enough.
2012-07-14 18:22:48 +02:00
Fabio Erculiani
afd2608153 [Rigo] rewrite NoticeBoard TreeView behaviour
Previously, the Notice object was shown directly inside the
cell renderer, which made things a bit clumsy and buggy.
Now, notices are loaded through xdg-open in html format.
2012-07-14 18:19:59 +02:00
Fabio Erculiani
3912ca0471 [RigoDaemon] _noticeboards_available_signal: convert dbus.String() to Python unicode 2012-07-14 18:19:42 +02:00
Fabio Erculiani
7135ba3a01 [RigoDaemon] make sure to keep the Installed Packages Repository closed
This helps in case of uncommitted transactions that could cause
any sqlite3 db consumer to lock until timeout with "Database is locked".
2012-07-14 16:10:18 +02:00
Fabio Erculiani
0596e92e53 [Rigo] handle the case where get_visible_range() returns None 2012-07-02 12:05:39 +02:00
Fabio Erculiani
1897e961ff [Rigo] update translations 2012-07-02 11:46:27 +02:00
Fabio Erculiani
fdb655348e [Rigo] disable the "Preferences" button when an activity is in progress 2012-07-02 00:01:50 +02:00
Fabio Erculiani
e1a0ca94c5 [Rigo] update rigo.pot 2012-07-01 23:43:59 +02:00
Fabio Erculiani
b29764443b [Rigo] implement Repository management 2012-07-01 23:41:07 +02:00