D-BUSified iPodManager and lots of automagic coolness, Python 2.4, might break things, but hey: it's SVN after all =)
git-svn-id: svn://svn.berlios.de/gpodder@95 b0d088ad-0a06-0410-aad2-9ed5178a7e87
This commit is contained in:
parent
0f5fe99a2a
commit
7c66f8080e
9 changed files with 549 additions and 287 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
Sun, 09 Apr 2006 18:10:54 +0200 <thp@perli.net>
|
||||
* Added iPodManager and iPod to libipodsync (D-BUSified)
|
||||
* Automatically detect connected iPod, ask if user wants to sync
|
||||
* Automatically eject iPod device on sync finish (should be opt.)
|
||||
* Python 2.4 is now used instead of Python 2.3 (for D-BUS)
|
||||
* Lots of D-BUS magic, still VERY experimental..
|
||||
* gPodder SVN will now feature very experimental D-BUS stuff in
|
||||
the near future, related to iPod, but it should keep working
|
||||
if you either haven't installed "gpod" or "dbus" for Python2.4
|
||||
* Send your RANTS about svn not working to thp@perli.net.. hehe
|
||||
* Updated German translation
|
||||
|
||||
Sun, 09 Apr 2006 14:10:28 +0200 <thp@perli.net>
|
||||
* Enabled podcast flag setting (works with libgpod cvs)
|
||||
* Fixed a brainfart of mine -- new localDB could not be created
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python2.4
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
|
@ -26,8 +26,8 @@
|
|||
# PLEASE DO NOT CHANGE FORMAT OF __version__ LINE (setup.py reads this)
|
||||
|
||||
__author__ = "Thomas Perl <thp@perli.net>"
|
||||
__version__ = "0.7+svn20060408"
|
||||
__date__ = "2006-04-08"
|
||||
__version__ = "0.7+svn20060409"
|
||||
__date__ = "2006-04-09"
|
||||
__copyright__ = "Copyright (c) 2005-2006 %s. All rights reserved." % __author__
|
||||
__licence__ = "GPL"
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gPodder 0.7+svn20060407\n"
|
||||
"Project-Id-Version: gPodder 0.7+svn20060408\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-04-08 10:32+0200\n"
|
||||
"POT-Creation-Date: 2006-04-09 18:14+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -26,47 +26,51 @@ msgstr ""
|
|||
msgid "%s is not a valid id"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:70
|
||||
#: src/gpodder/gpodder.py:71
|
||||
msgid "Contributors / patch writers:"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:74
|
||||
#: src/gpodder/gpodder.py:75
|
||||
msgid "See the AUTHORS file for all contributors"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:131 src/gpodder/gpodder.py:146
|
||||
#: src/gpodder/gpodder.py:152
|
||||
#: src/gpodder/gpodder.py:135 src/gpodder/gpodder.py:150
|
||||
#: src/gpodder/gpodder.py:156
|
||||
msgid "Episode"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:136
|
||||
#: src/gpodder/gpodder.py:140
|
||||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:155
|
||||
#: src/gpodder/gpodder.py:159
|
||||
msgid "Speed"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:158
|
||||
#: src/gpodder/gpodder.py:162
|
||||
msgid "Progress"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:182
|
||||
#: src/gpodder/gpodder.py:186
|
||||
msgid "Channel Info"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:199
|
||||
#: src/gpodder/gpodder.py:205
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<b>gPodder development version %s</b>\n"
|
||||
"Use at your own risk, but also enjoy new features :)"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:226
|
||||
#: src/gpodder/gpodder.py:220
|
||||
msgid "iPod connected. Do you want to sync now?"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:249
|
||||
msgid "No downloaded podcasts found."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:236
|
||||
#: src/gpodder/gpodder.py:259
|
||||
msgid ""
|
||||
"<b>No channels found</b>\n"
|
||||
"\n"
|
||||
|
@ -74,42 +78,41 @@ msgid ""
|
|||
"new channel."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:238
|
||||
#: src/gpodder/gpodder.py:261
|
||||
msgid "gPodder message"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:246
|
||||
#: src/gpodder/gpodder.py:269
|
||||
msgid "Do you really want to do this?"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:246
|
||||
#: src/gpodder/gpodder.py:269
|
||||
msgid "gPodder confirmation"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:311
|
||||
#: src/gpodder/gpodder.py:334
|
||||
msgid ""
|
||||
"There has been an error adding the channel.\n"
|
||||
"Maybe the URL is wrong?"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:317 src/gpodder/gpodder.py:454
|
||||
#: src/gpodder/gpodder.py:340 src/gpodder/gpodder.py:476
|
||||
msgid "Fetching channel index..."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:330
|
||||
#: src/gpodder/gpodder.py:353
|
||||
msgid ""
|
||||
"Could not add new channel.\n"
|
||||
"Only <b>http://</b> and <b>ftp://</b> URLs supported at the moment."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:341 src/gpodder/gpodder.py:354
|
||||
#, python-format
|
||||
#: src/gpodder/gpodder.py:362 src/gpodder/gpodder.py:373
|
||||
msgid ""
|
||||
"Cannot access iPod at %s.\n"
|
||||
"Make sure your iPod is connected and mounted."
|
||||
"Cannot access iPod.\n"
|
||||
"Make sure your iPod is connected."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:384
|
||||
#: src/gpodder/gpodder.py:403
|
||||
msgid ""
|
||||
"<big><b>Updating feed cache</b></big>\n"
|
||||
"\n"
|
||||
|
@ -117,18 +120,18 @@ msgid ""
|
|||
"updating the feed cache..."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:408
|
||||
#: src/gpodder/gpodder.py:427
|
||||
msgid "Do you really want to truncate the Podcasts playlist on your iPod?"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:447
|
||||
#: src/gpodder/gpodder.py:469
|
||||
msgid ""
|
||||
"Cannot edit this channel.\n"
|
||||
"\n"
|
||||
"No channel found."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:476
|
||||
#: src/gpodder/gpodder.py:498
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to remove this channel?\n"
|
||||
|
@ -136,35 +139,35 @@ msgid ""
|
|||
" %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:483
|
||||
#: src/gpodder/gpodder.py:505
|
||||
msgid ""
|
||||
"Could not delete channel.\n"
|
||||
"Probably no channel is selected."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:491
|
||||
#: src/gpodder/gpodder.py:513
|
||||
msgid "Your channel list is empty. Nothing to export."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:493
|
||||
#: src/gpodder/gpodder.py:515
|
||||
msgid "Export to OPML"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:522
|
||||
#: src/gpodder/gpodder.py:544
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:562
|
||||
#: src/gpodder/gpodder.py:584
|
||||
msgid "You have not selected an episode to download."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:577
|
||||
#: src/gpodder/gpodder.py:599
|
||||
msgid ""
|
||||
"You have already downloaded this episode\n"
|
||||
"or you are currently downloading it."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:602
|
||||
#: src/gpodder/gpodder.py:624
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to cancel this download?\n"
|
||||
|
@ -172,11 +175,11 @@ msgid ""
|
|||
"%s"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:605 src/gpodder/gpodder.py:642
|
||||
#: src/gpodder/gpodder.py:627 src/gpodder/gpodder.py:669
|
||||
msgid "No episode selected."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:668
|
||||
#: src/gpodder/gpodder.py:695
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to remove this episode?\n"
|
||||
|
@ -184,21 +187,21 @@ msgid ""
|
|||
"%s"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:678
|
||||
#: src/gpodder/gpodder.py:705
|
||||
msgid "Could not delete downloaded podcast."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:718 src/gpodder/gpodder.py:719
|
||||
#: src/gpodder/gpodder.py:745 src/gpodder/gpodder.py:746
|
||||
#: data/gpodder.glade.h:1
|
||||
msgid "(unknown)"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:946
|
||||
#: src/gpodder/gpodder.py:987
|
||||
#, python-format
|
||||
msgid "%d of %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:989
|
||||
#: src/gpodder/gpodder.py:1030
|
||||
msgid ""
|
||||
"Please do not call gpodder.py directly. Instead, call the gpodder binary."
|
||||
msgstr ""
|
||||
|
@ -215,16 +218,21 @@ msgstr ""
|
|||
msgid "gPodder channel list"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/libipodsync.py:94
|
||||
#: src/gpodder/libipodsync.py:112
|
||||
msgid "Saving iPod database..."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/libipodsync.py:180
|
||||
#: src/gpodder/libipodsync.py:201
|
||||
#, python-format
|
||||
msgid "Complete: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/liblocdbwriter.py:49
|
||||
#: src/gpodder/libipodsync.py:224
|
||||
#, python-format
|
||||
msgid "%s (to \"%s\")"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/liblocdbwriter.py:42
|
||||
msgid "local download database, generated by gPodder"
|
||||
msgstr ""
|
||||
|
||||
|
@ -232,7 +240,7 @@ msgstr ""
|
|||
msgid "gPodder subscription list (exported)"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/libpodcasts.py:306
|
||||
#: src/gpodder/libpodcasts.py:304
|
||||
msgid "No LocalDB found or error in existing LocalDB."
|
||||
msgstr ""
|
||||
|
||||
|
@ -241,11 +249,11 @@ msgstr ""
|
|||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/libwget.py:291
|
||||
#: src/gpodder/libwget.py:292
|
||||
msgid "Download has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/libwget.py:293
|
||||
#: src/gpodder/libwget.py:294
|
||||
#, python-format
|
||||
msgid "Download error. Wget exit code was: %d"
|
||||
msgstr ""
|
||||
|
@ -307,42 +315,46 @@ msgid "Download Status"
|
|||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:16
|
||||
msgid "Download to:"
|
||||
msgid "Download link:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:17
|
||||
msgid "Downloaded Podcasts"
|
||||
msgid "Download to:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:18
|
||||
msgid "Downloads"
|
||||
msgid "Downloaded Podcasts"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:19
|
||||
msgid "E_xport list..."
|
||||
msgid "Downloads"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:20
|
||||
msgid "Episode Information"
|
||||
msgid "E_xport list..."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:21
|
||||
msgid "FTP Proxy:"
|
||||
msgid "Episode Information"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:22
|
||||
msgid "Feed URL:"
|
||||
msgid "FTP Proxy:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:23
|
||||
msgid "General"
|
||||
msgid "Feed URL:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:24
|
||||
msgid "HTTP Proxy:"
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:25
|
||||
msgid "HTTP Proxy:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:26
|
||||
msgid ""
|
||||
"If you have to use a HTTP or FTP proxy server,\n"
|
||||
"you can use the usual format of the environment variables:\n"
|
||||
|
@ -350,123 +362,131 @@ msgid ""
|
|||
"<b>http://username:password@proxy_host:proxy_port/</b>"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:29
|
||||
#: data/gpodder.glade.h:30
|
||||
msgid "Initializing..."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:30
|
||||
#: data/gpodder.glade.h:31
|
||||
msgid "No cover available."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:31
|
||||
#: data/gpodder.glade.h:32
|
||||
msgid "Play selected item"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:32
|
||||
#: data/gpodder.glade.h:33
|
||||
msgid "Player application:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:33
|
||||
#: data/gpodder.glade.h:34
|
||||
msgid "Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:34
|
||||
msgid "Save downloads in:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:35
|
||||
msgid "Show \"gPodder downloads\" link"
|
||||
msgid "Publication date:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:36
|
||||
msgid "Skip this channel when syncing to the iPod"
|
||||
msgid "Save downloads in:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:37
|
||||
msgid "Sync to Playlist:"
|
||||
msgid "Show \"gPodder downloads\" link"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:38
|
||||
msgid "Sync to Podcasts playlist"
|
||||
msgid "Skip this channel when syncing to the iPod"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:39
|
||||
msgid "Synchronization"
|
||||
msgid "Sync to Playlist:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:40
|
||||
msgid "Title:"
|
||||
msgid "Sync to Podcasts playlist"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:41
|
||||
msgid "Use environment variables"
|
||||
msgid "Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:42
|
||||
msgid "_About gPodder..."
|
||||
msgid "Title:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:43
|
||||
msgid "_Add channel..."
|
||||
msgid "Use environment variables"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:44
|
||||
msgid "_Channels"
|
||||
msgid "Website link:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:45
|
||||
msgid "_Check for Updates"
|
||||
msgid "_About gPodder..."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:46
|
||||
msgid "_Cleanup iPod podcasts"
|
||||
msgid "_Add channel..."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:47
|
||||
msgid "_Close"
|
||||
msgid "_Channels"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:48
|
||||
msgid "_Edit channel..."
|
||||
msgid "_Check for Updates"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:49
|
||||
msgid "_Help"
|
||||
msgid "_Cleanup iPod podcasts"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:50
|
||||
msgid "_Podcasts"
|
||||
msgid "_Close"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:51
|
||||
msgid "_Preferences..."
|
||||
msgid "_Edit channel..."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:52
|
||||
msgid "_Remove channel"
|
||||
msgid "_Help"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:53
|
||||
msgid "_Sync to iPod"
|
||||
msgid "_Podcasts"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:54
|
||||
msgid "gPodder - your podcast catcher."
|
||||
msgid "_Preferences..."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:55
|
||||
msgid "gPodder Channel Editor"
|
||||
msgid "_Remove channel"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:56
|
||||
msgid "gPodder properties"
|
||||
msgid "_Sync to iPod"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:57
|
||||
msgid "iPod"
|
||||
msgid "gPodder - your podcast catcher."
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:58
|
||||
msgid "gPodder Channel Editor"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:59
|
||||
msgid "gPodder properties"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:60
|
||||
msgid "iPod"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:61
|
||||
msgid "iPod mountpoint:"
|
||||
msgstr ""
|
||||
|
||||
|
|
204
data/po/de.po
204
data/po/de.po
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: gPodder 0.7-svn\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-04-08 10:32+0200\n"
|
||||
"PO-Revision-Date: 2006-04-08 10:35+0100\n"
|
||||
"POT-Creation-Date: 2006-04-09 18:14+0200\n"
|
||||
"PO-Revision-Date: 2006-04-09 18:15+0100\n"
|
||||
"Last-Translator: Thomas Perl <thp@perli.net>\n"
|
||||
"Language-Team: gPodder Team <thp@perli.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -26,37 +26,37 @@ msgstr "Channel entfernen: %s"
|
|||
msgid "%s is not a valid id"
|
||||
msgstr "%s is keine gültige ID"
|
||||
|
||||
#: src/gpodder/gpodder.py:70
|
||||
#: src/gpodder/gpodder.py:71
|
||||
msgid "Contributors / patch writers:"
|
||||
msgstr "Helfer und Patchschreiber:"
|
||||
|
||||
#: src/gpodder/gpodder.py:74
|
||||
#: src/gpodder/gpodder.py:75
|
||||
msgid "See the AUTHORS file for all contributors"
|
||||
msgstr "Eine Liste aller Helfer finden Sie in der AUTHORS-Datei"
|
||||
|
||||
#: src/gpodder/gpodder.py:131
|
||||
#: src/gpodder/gpodder.py:146
|
||||
#: src/gpodder/gpodder.py:152
|
||||
#: src/gpodder/gpodder.py:135
|
||||
#: src/gpodder/gpodder.py:150
|
||||
#: src/gpodder/gpodder.py:156
|
||||
msgid "Episode"
|
||||
msgstr "Episode"
|
||||
|
||||
#: src/gpodder/gpodder.py:136
|
||||
#: src/gpodder/gpodder.py:140
|
||||
msgid "Size"
|
||||
msgstr "Größe"
|
||||
|
||||
#: src/gpodder/gpodder.py:155
|
||||
#: src/gpodder/gpodder.py:159
|
||||
msgid "Speed"
|
||||
msgstr "Geschwindigkeit"
|
||||
|
||||
#: src/gpodder/gpodder.py:158
|
||||
#: src/gpodder/gpodder.py:162
|
||||
msgid "Progress"
|
||||
msgstr "Fortschritt"
|
||||
|
||||
#: src/gpodder/gpodder.py:182
|
||||
#: src/gpodder/gpodder.py:186
|
||||
msgid "Channel Info"
|
||||
msgstr "Channel-Informationen"
|
||||
|
||||
#: src/gpodder/gpodder.py:199
|
||||
#: src/gpodder/gpodder.py:205
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<b>gPodder development version %s</b>\n"
|
||||
|
@ -65,11 +65,15 @@ msgstr ""
|
|||
"<b>gPodder Entwicklungs-Version %s</b>\n"
|
||||
"Benutzung auf eigene Gefahr. Viel Spaß mit neuen Features :)"
|
||||
|
||||
#: src/gpodder/gpodder.py:226
|
||||
#: src/gpodder/gpodder.py:220
|
||||
msgid "iPod connected. Do you want to sync now?"
|
||||
msgstr "iPod verbunden. Jetzt synchronisieren?"
|
||||
|
||||
#: src/gpodder/gpodder.py:249
|
||||
msgid "No downloaded podcasts found."
|
||||
msgstr "Keine heruntergeladenen Podcasts gefunden."
|
||||
|
||||
#: src/gpodder/gpodder.py:236
|
||||
#: src/gpodder/gpodder.py:259
|
||||
msgid ""
|
||||
"<b>No channels found</b>\n"
|
||||
"\n"
|
||||
|
@ -79,19 +83,19 @@ msgstr ""
|
|||
"\n"
|
||||
"Klicken Sie auf <b><i>Channels</i></b> > <b><i>Abbonieren...</i></b>, um einen neuen Channel zu abbonieren."
|
||||
|
||||
#: src/gpodder/gpodder.py:238
|
||||
#: src/gpodder/gpodder.py:261
|
||||
msgid "gPodder message"
|
||||
msgstr "gPodder Nachricht"
|
||||
|
||||
#: src/gpodder/gpodder.py:246
|
||||
#: src/gpodder/gpodder.py:269
|
||||
msgid "Do you really want to do this?"
|
||||
msgstr "Willst du das wirklich machen?"
|
||||
|
||||
#: src/gpodder/gpodder.py:246
|
||||
#: src/gpodder/gpodder.py:269
|
||||
msgid "gPodder confirmation"
|
||||
msgstr "gPodder Bestätigung"
|
||||
|
||||
#: src/gpodder/gpodder.py:311
|
||||
#: src/gpodder/gpodder.py:334
|
||||
msgid ""
|
||||
"There has been an error adding the channel.\n"
|
||||
"Maybe the URL is wrong?"
|
||||
|
@ -99,12 +103,12 @@ msgstr ""
|
|||
"Ein Fehler trat beim Hinzufügen des Channels auf.\n"
|
||||
"Vielleicht ist die URL falsch?"
|
||||
|
||||
#: src/gpodder/gpodder.py:317
|
||||
#: src/gpodder/gpodder.py:454
|
||||
#: src/gpodder/gpodder.py:340
|
||||
#: src/gpodder/gpodder.py:476
|
||||
msgid "Fetching channel index..."
|
||||
msgstr "Channel-Index wird heruntergeladen..."
|
||||
|
||||
#: src/gpodder/gpodder.py:330
|
||||
#: src/gpodder/gpodder.py:353
|
||||
msgid ""
|
||||
"Could not add new channel.\n"
|
||||
"Only <b>http://</b> and <b>ftp://</b> URLs supported at the moment."
|
||||
|
@ -112,17 +116,16 @@ msgstr ""
|
|||
"Konnte neuen Channel nicht abbonieren.\n"
|
||||
"Derzeit werden nur <b>http://</b> und <b>ftp://</b>-URLs unterstützt."
|
||||
|
||||
#: src/gpodder/gpodder.py:341
|
||||
#: src/gpodder/gpodder.py:354
|
||||
#, python-format
|
||||
#: src/gpodder/gpodder.py:362
|
||||
#: src/gpodder/gpodder.py:373
|
||||
msgid ""
|
||||
"Cannot access iPod at %s.\n"
|
||||
"Make sure your iPod is connected and mounted."
|
||||
"Cannot access iPod.\n"
|
||||
"Make sure your iPod is connected."
|
||||
msgstr ""
|
||||
"Kann auf den iPod in %s nicht zugreifen.\n"
|
||||
"Bitte sicherstellen, dass der iPod angesteckt und eingebunden ist."
|
||||
"Kann auf den iPod nicht zugreifen.\n"
|
||||
"Bitte sicherstellen, dass der iPod angesteckt ist."
|
||||
|
||||
#: src/gpodder/gpodder.py:384
|
||||
#: src/gpodder/gpodder.py:403
|
||||
msgid ""
|
||||
"<big><b>Updating feed cache</b></big>\n"
|
||||
"\n"
|
||||
|
@ -134,11 +137,11 @@ msgstr ""
|
|||
"Bitte warten Sie, während gPodder Ihre\n"
|
||||
"Channel-Abonnements aktualisiert..."
|
||||
|
||||
#: src/gpodder/gpodder.py:408
|
||||
#: src/gpodder/gpodder.py:427
|
||||
msgid "Do you really want to truncate the Podcasts playlist on your iPod?"
|
||||
msgstr "Wollen Sie wirklich die Podcasts-Liste auf dem iPod leeren?"
|
||||
|
||||
#: src/gpodder/gpodder.py:447
|
||||
#: src/gpodder/gpodder.py:469
|
||||
msgid ""
|
||||
"Cannot edit this channel.\n"
|
||||
"\n"
|
||||
|
@ -148,7 +151,7 @@ msgstr ""
|
|||
"\n"
|
||||
"Kein Channel gefunden."
|
||||
|
||||
#: src/gpodder/gpodder.py:476
|
||||
#: src/gpodder/gpodder.py:498
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to remove this channel?\n"
|
||||
|
@ -159,7 +162,7 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:483
|
||||
#: src/gpodder/gpodder.py:505
|
||||
msgid ""
|
||||
"Could not delete channel.\n"
|
||||
"Probably no channel is selected."
|
||||
|
@ -167,23 +170,23 @@ msgstr ""
|
|||
"Konnte Channel nicht entfernen.\n"
|
||||
"Wahrscheinlich ist keiner ausgewählt."
|
||||
|
||||
#: src/gpodder/gpodder.py:491
|
||||
#: src/gpodder/gpodder.py:513
|
||||
msgid "Your channel list is empty. Nothing to export."
|
||||
msgstr "Nichts zu exportieren: Sie haben keine Abonnements."
|
||||
|
||||
#: src/gpodder/gpodder.py:493
|
||||
#: src/gpodder/gpodder.py:515
|
||||
msgid "Export to OPML"
|
||||
msgstr "Als OPML-Datei exportieren"
|
||||
|
||||
#: src/gpodder/gpodder.py:522
|
||||
#: src/gpodder/gpodder.py:544
|
||||
msgid "translator-credits"
|
||||
msgstr "Thomas Perl <thp@perli.net>"
|
||||
|
||||
#: src/gpodder/gpodder.py:562
|
||||
#: src/gpodder/gpodder.py:584
|
||||
msgid "You have not selected an episode to download."
|
||||
msgstr "Sie haben keine Episode für den Download ausgewählt."
|
||||
|
||||
#: src/gpodder/gpodder.py:577
|
||||
#: src/gpodder/gpodder.py:599
|
||||
msgid ""
|
||||
"You have already downloaded this episode\n"
|
||||
"or you are currently downloading it."
|
||||
|
@ -191,7 +194,7 @@ msgstr ""
|
|||
"Sie haben diese Episode bereits heruntergeladen\n"
|
||||
"oder Sie laden sie jetzt gerade herunter."
|
||||
|
||||
#: src/gpodder/gpodder.py:602
|
||||
#: src/gpodder/gpodder.py:624
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to cancel this download?\n"
|
||||
|
@ -202,12 +205,12 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:605
|
||||
#: src/gpodder/gpodder.py:642
|
||||
#: src/gpodder/gpodder.py:627
|
||||
#: src/gpodder/gpodder.py:669
|
||||
msgid "No episode selected."
|
||||
msgstr "Keine Episode ausgewählt."
|
||||
|
||||
#: src/gpodder/gpodder.py:668
|
||||
#: src/gpodder/gpodder.py:695
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to remove this episode?\n"
|
||||
|
@ -218,22 +221,22 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:678
|
||||
#: src/gpodder/gpodder.py:705
|
||||
msgid "Could not delete downloaded podcast."
|
||||
msgstr "Konnte den ausgewählten Podcast nicht entfernen."
|
||||
|
||||
#: src/gpodder/gpodder.py:718
|
||||
#: src/gpodder/gpodder.py:719
|
||||
#: src/gpodder/gpodder.py:745
|
||||
#: src/gpodder/gpodder.py:746
|
||||
#: data/gpodder.glade.h:1
|
||||
msgid "(unknown)"
|
||||
msgstr "(unbekannt)"
|
||||
|
||||
#: src/gpodder/gpodder.py:946
|
||||
#: src/gpodder/gpodder.py:987
|
||||
#, python-format
|
||||
msgid "%d of %d"
|
||||
msgstr "%d von %d"
|
||||
|
||||
#: src/gpodder/gpodder.py:989
|
||||
#: src/gpodder/gpodder.py:1030
|
||||
msgid "Please do not call gpodder.py directly. Instead, call the gpodder binary."
|
||||
msgstr "Bitte starten Sie gPodder nie direkt über gpodder.py. Rufen Sie stattdessen das \"gpodder\" Programm auf."
|
||||
|
||||
|
@ -249,16 +252,21 @@ msgstr "Bild wird heruntergeladen..."
|
|||
msgid "gPodder channel list"
|
||||
msgstr "gPodder Channel-Editor"
|
||||
|
||||
#: src/gpodder/libipodsync.py:94
|
||||
#: src/gpodder/libipodsync.py:112
|
||||
msgid "Saving iPod database..."
|
||||
msgstr "Speichere iPod-Datenbank..."
|
||||
|
||||
#: src/gpodder/libipodsync.py:180
|
||||
#: src/gpodder/libipodsync.py:201
|
||||
#, python-format
|
||||
msgid "Complete: %s"
|
||||
msgstr "Fertig: %s"
|
||||
|
||||
#: src/gpodder/liblocdbwriter.py:49
|
||||
#: src/gpodder/libipodsync.py:224
|
||||
#, python-format
|
||||
msgid "%s (to \"%s\")"
|
||||
msgstr "%s (nach \"%s\")"
|
||||
|
||||
#: src/gpodder/liblocdbwriter.py:42
|
||||
msgid "local download database, generated by gPodder"
|
||||
msgstr "lokale Download-Datenbank, generiert von gPodder"
|
||||
|
||||
|
@ -266,7 +274,7 @@ msgstr "lokale Download-Datenbank, generiert von gPodder"
|
|||
msgid "gPodder subscription list (exported)"
|
||||
msgstr "gPodder Abonnement-Liste (exportiert)"
|
||||
|
||||
#: src/gpodder/libpodcasts.py:306
|
||||
#: src/gpodder/libpodcasts.py:304
|
||||
msgid "No LocalDB found or error in existing LocalDB."
|
||||
msgstr "Keine Lokale Datenbank gefunden (oder Fehler in existierender Datenbank)."
|
||||
|
||||
|
@ -276,11 +284,11 @@ msgstr "Keine Lokale Datenbank gefunden (oder Fehler in existierender Datenbank)
|
|||
msgid "unknown"
|
||||
msgstr "unbekannt"
|
||||
|
||||
#: src/gpodder/libwget.py:291
|
||||
#: src/gpodder/libwget.py:292
|
||||
msgid "Download has been cancelled."
|
||||
msgstr "Der Download wurde abgebrochen."
|
||||
|
||||
#: src/gpodder/libwget.py:293
|
||||
#: src/gpodder/libwget.py:294
|
||||
#, python-format
|
||||
msgid "Download error. Wget exit code was: %d"
|
||||
msgstr "Fehler beim Download. Wget's Exit-Status ist: %d"
|
||||
|
@ -342,42 +350,46 @@ msgid "Download Status"
|
|||
msgstr "Download-Status"
|
||||
|
||||
#: data/gpodder.glade.h:16
|
||||
msgid "Download link:"
|
||||
msgstr "Download-Link:"
|
||||
|
||||
#: data/gpodder.glade.h:17
|
||||
msgid "Download to:"
|
||||
msgstr "Herunterladen nach:"
|
||||
|
||||
#: data/gpodder.glade.h:17
|
||||
#: data/gpodder.glade.h:18
|
||||
msgid "Downloaded Podcasts"
|
||||
msgstr "Heruntergeladene Podcasts"
|
||||
|
||||
#: data/gpodder.glade.h:18
|
||||
#: data/gpodder.glade.h:19
|
||||
msgid "Downloads"
|
||||
msgstr "Downloads"
|
||||
|
||||
#: data/gpodder.glade.h:19
|
||||
#: data/gpodder.glade.h:20
|
||||
msgid "E_xport list..."
|
||||
msgstr "Liste e_xportieren..."
|
||||
|
||||
#: data/gpodder.glade.h:20
|
||||
#: data/gpodder.glade.h:21
|
||||
msgid "Episode Information"
|
||||
msgstr "Informationen zur Episode"
|
||||
|
||||
#: data/gpodder.glade.h:21
|
||||
#: data/gpodder.glade.h:22
|
||||
msgid "FTP Proxy:"
|
||||
msgstr "FTP-Proxy:"
|
||||
|
||||
#: data/gpodder.glade.h:22
|
||||
#: data/gpodder.glade.h:23
|
||||
msgid "Feed URL:"
|
||||
msgstr "Feed-Adresse:"
|
||||
|
||||
#: data/gpodder.glade.h:23
|
||||
#: data/gpodder.glade.h:24
|
||||
msgid "General"
|
||||
msgstr "Allgemeines"
|
||||
|
||||
#: data/gpodder.glade.h:24
|
||||
#: data/gpodder.glade.h:25
|
||||
msgid "HTTP Proxy:"
|
||||
msgstr "HTTP-Proxy:"
|
||||
|
||||
#: data/gpodder.glade.h:25
|
||||
#: data/gpodder.glade.h:26
|
||||
msgid ""
|
||||
"If you have to use a HTTP or FTP proxy server,\n"
|
||||
"you can use the usual format of the environment variables:\n"
|
||||
|
@ -389,123 +401,131 @@ msgstr ""
|
|||
"\n"
|
||||
"<b>http://benutzer:passwort@proxy_host:proxy_port/</b>"
|
||||
|
||||
#: data/gpodder.glade.h:29
|
||||
#: data/gpodder.glade.h:30
|
||||
msgid "Initializing..."
|
||||
msgstr "Initialisiere..."
|
||||
|
||||
#: data/gpodder.glade.h:30
|
||||
#: data/gpodder.glade.h:31
|
||||
msgid "No cover available."
|
||||
msgstr "Kein Cover verfügbar."
|
||||
|
||||
#: data/gpodder.glade.h:31
|
||||
#: data/gpodder.glade.h:32
|
||||
msgid "Play selected item"
|
||||
msgstr "Ausgewähltes Element abspielen"
|
||||
|
||||
#: data/gpodder.glade.h:32
|
||||
#: data/gpodder.glade.h:33
|
||||
msgid "Player application:"
|
||||
msgstr "Abspielprogramm:"
|
||||
|
||||
#: data/gpodder.glade.h:33
|
||||
#: data/gpodder.glade.h:34
|
||||
msgid "Proxy"
|
||||
msgstr "Proxy"
|
||||
|
||||
#: data/gpodder.glade.h:34
|
||||
#: data/gpodder.glade.h:35
|
||||
msgid "Publication date:"
|
||||
msgstr "Veröffentlichungsdatum:"
|
||||
|
||||
#: data/gpodder.glade.h:36
|
||||
msgid "Save downloads in:"
|
||||
msgstr "Downloads speichern in:"
|
||||
|
||||
#: data/gpodder.glade.h:35
|
||||
#: data/gpodder.glade.h:37
|
||||
msgid "Show \"gPodder downloads\" link"
|
||||
msgstr "\"gPodder Downloads\"-Verknüpfung anzeigen"
|
||||
|
||||
#: data/gpodder.glade.h:36
|
||||
#: data/gpodder.glade.h:38
|
||||
msgid "Skip this channel when syncing to the iPod"
|
||||
msgstr "Diesen Channel beim Synchronisieren überspringen"
|
||||
|
||||
#: data/gpodder.glade.h:37
|
||||
#: data/gpodder.glade.h:39
|
||||
msgid "Sync to Playlist:"
|
||||
msgstr "Synchronisiere mit Wiedergabeliste:"
|
||||
|
||||
#: data/gpodder.glade.h:38
|
||||
#: data/gpodder.glade.h:40
|
||||
msgid "Sync to Podcasts playlist"
|
||||
msgstr "Synchronisiere mit der Podcasts-Liste"
|
||||
|
||||
#: data/gpodder.glade.h:39
|
||||
#: data/gpodder.glade.h:41
|
||||
msgid "Synchronization"
|
||||
msgstr "Synchronisierung"
|
||||
|
||||
#: data/gpodder.glade.h:40
|
||||
#: data/gpodder.glade.h:42
|
||||
msgid "Title:"
|
||||
msgstr "Titel:"
|
||||
|
||||
#: data/gpodder.glade.h:41
|
||||
#: data/gpodder.glade.h:43
|
||||
msgid "Use environment variables"
|
||||
msgstr "Benutze Umgebungsvariablen"
|
||||
|
||||
#: data/gpodder.glade.h:42
|
||||
#: data/gpodder.glade.h:44
|
||||
msgid "Website link:"
|
||||
msgstr "Webseiten-Adresse:"
|
||||
|
||||
#: data/gpodder.glade.h:45
|
||||
msgid "_About gPodder..."
|
||||
msgstr "Üb_er gPodder..."
|
||||
|
||||
#: data/gpodder.glade.h:43
|
||||
#: data/gpodder.glade.h:46
|
||||
msgid "_Add channel..."
|
||||
msgstr "Ch_annel abbonieren..."
|
||||
|
||||
#: data/gpodder.glade.h:44
|
||||
#: data/gpodder.glade.h:47
|
||||
msgid "_Channels"
|
||||
msgstr "_Channels"
|
||||
|
||||
#: data/gpodder.glade.h:45
|
||||
#: data/gpodder.glade.h:48
|
||||
msgid "_Check for Updates"
|
||||
msgstr "Na_ch Aktualisierungen suchen"
|
||||
|
||||
#: data/gpodder.glade.h:46
|
||||
#: data/gpodder.glade.h:49
|
||||
msgid "_Cleanup iPod podcasts"
|
||||
msgstr "iP_od-Podcasts löschen"
|
||||
|
||||
#: data/gpodder.glade.h:47
|
||||
#: data/gpodder.glade.h:50
|
||||
msgid "_Close"
|
||||
msgstr "S_chließen"
|
||||
|
||||
#: data/gpodder.glade.h:48
|
||||
#: data/gpodder.glade.h:51
|
||||
msgid "_Edit channel..."
|
||||
msgstr "_Editiere Channel..."
|
||||
|
||||
#: data/gpodder.glade.h:49
|
||||
#: data/gpodder.glade.h:52
|
||||
msgid "_Help"
|
||||
msgstr "_Hilfe"
|
||||
|
||||
#: data/gpodder.glade.h:50
|
||||
#: data/gpodder.glade.h:53
|
||||
msgid "_Podcasts"
|
||||
msgstr "_Podcasts"
|
||||
|
||||
#: data/gpodder.glade.h:51
|
||||
#: data/gpodder.glade.h:54
|
||||
msgid "_Preferences..."
|
||||
msgstr "Ein_s_tellungen..."
|
||||
|
||||
#: data/gpodder.glade.h:52
|
||||
#: data/gpodder.glade.h:55
|
||||
msgid "_Remove channel"
|
||||
msgstr "Entfe_rne Channel"
|
||||
|
||||
#: data/gpodder.glade.h:53
|
||||
#: data/gpodder.glade.h:56
|
||||
msgid "_Sync to iPod"
|
||||
msgstr "iPod _synchronisieren"
|
||||
|
||||
#: data/gpodder.glade.h:54
|
||||
#: data/gpodder.glade.h:57
|
||||
msgid "gPodder - your podcast catcher."
|
||||
msgstr "gPodder - dein podcast catcher."
|
||||
|
||||
#: data/gpodder.glade.h:55
|
||||
#: data/gpodder.glade.h:58
|
||||
msgid "gPodder Channel Editor"
|
||||
msgstr "gPodder Channel-Editor"
|
||||
|
||||
#: data/gpodder.glade.h:56
|
||||
#: data/gpodder.glade.h:59
|
||||
msgid "gPodder properties"
|
||||
msgstr "gPodder Einstellungen"
|
||||
|
||||
#: data/gpodder.glade.h:57
|
||||
#: data/gpodder.glade.h:60
|
||||
msgid "iPod"
|
||||
msgstr "iPod"
|
||||
|
||||
#: data/gpodder.glade.h:58
|
||||
#: data/gpodder.glade.h:61
|
||||
msgid "iPod mountpoint:"
|
||||
msgstr "iPod Einhängepunkt:"
|
||||
|
||||
|
|
190
data/po/fr.po
190
data/po/fr.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: gPodder 0.7-svn\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-04-08 10:32+0200\n"
|
||||
"POT-Creation-Date: 2006-04-09 18:14+0200\n"
|
||||
"PO-Revision-Date: 2006-04-08 00:36+0100\n"
|
||||
"Last-Translator: Alain TAUCH <contrib@maisondubonheur.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -27,36 +27,36 @@ msgstr "supprimer le flux: %s"
|
|||
msgid "%s is not a valid id"
|
||||
msgstr "%s n'est pas un ID valide"
|
||||
|
||||
#: src/gpodder/gpodder.py:70
|
||||
#: src/gpodder/gpodder.py:71
|
||||
msgid "Contributors / patch writers:"
|
||||
msgstr "Contributeurs:"
|
||||
|
||||
#: src/gpodder/gpodder.py:74
|
||||
#: src/gpodder/gpodder.py:75
|
||||
msgid "See the AUTHORS file for all contributors"
|
||||
msgstr "Voir le fichier AUTHORS pour la liste complète des contributeurs."
|
||||
|
||||
#: src/gpodder/gpodder.py:131 src/gpodder/gpodder.py:146
|
||||
#: src/gpodder/gpodder.py:152
|
||||
#: src/gpodder/gpodder.py:135 src/gpodder/gpodder.py:150
|
||||
#: src/gpodder/gpodder.py:156
|
||||
msgid "Episode"
|
||||
msgstr "Émission"
|
||||
|
||||
#: src/gpodder/gpodder.py:136
|
||||
#: src/gpodder/gpodder.py:140
|
||||
msgid "Size"
|
||||
msgstr "Taille"
|
||||
|
||||
#: src/gpodder/gpodder.py:155
|
||||
#: src/gpodder/gpodder.py:159
|
||||
msgid "Speed"
|
||||
msgstr "Vitesse"
|
||||
|
||||
#: src/gpodder/gpodder.py:158
|
||||
#: src/gpodder/gpodder.py:162
|
||||
msgid "Progress"
|
||||
msgstr "Progression"
|
||||
|
||||
#: src/gpodder/gpodder.py:182
|
||||
#: src/gpodder/gpodder.py:186
|
||||
msgid "Channel Info"
|
||||
msgstr "Informations sur le flux RSS"
|
||||
|
||||
#: src/gpodder/gpodder.py:199
|
||||
#: src/gpodder/gpodder.py:205
|
||||
#, python-format
|
||||
msgid ""
|
||||
"<b>gPodder development version %s</b>\n"
|
||||
|
@ -65,11 +65,15 @@ msgstr ""
|
|||
"<b>Ceci est la version de développement %s de gPodder</b>\n"
|
||||
"Cette version est instable mais comprend de nouvelles fonctionnalités :)"
|
||||
|
||||
#: src/gpodder/gpodder.py:226
|
||||
#: src/gpodder/gpodder.py:220
|
||||
msgid "iPod connected. Do you want to sync now?"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/gpodder.py:249
|
||||
msgid "No downloaded podcasts found."
|
||||
msgstr "Aucun podcast n'a été encore téléchargé."
|
||||
|
||||
#: src/gpodder/gpodder.py:236
|
||||
#: src/gpodder/gpodder.py:259
|
||||
msgid ""
|
||||
"<b>No channels found</b>\n"
|
||||
"\n"
|
||||
|
@ -81,19 +85,19 @@ msgstr ""
|
|||
"Cliquer sur <b><i>Flux</i></b> > <b><i>Ajouter un flux RSS..</i></b> pour "
|
||||
"ajouter un nouveau flux RSS."
|
||||
|
||||
#: src/gpodder/gpodder.py:238
|
||||
#: src/gpodder/gpodder.py:261
|
||||
msgid "gPodder message"
|
||||
msgstr "Message gPodder"
|
||||
|
||||
#: src/gpodder/gpodder.py:246
|
||||
#: src/gpodder/gpodder.py:269
|
||||
msgid "Do you really want to do this?"
|
||||
msgstr "Voulez vous continuer ?"
|
||||
|
||||
#: src/gpodder/gpodder.py:246
|
||||
#: src/gpodder/gpodder.py:269
|
||||
msgid "gPodder confirmation"
|
||||
msgstr "Demande de confirmation gpodder"
|
||||
|
||||
#: src/gpodder/gpodder.py:311
|
||||
#: src/gpodder/gpodder.py:334
|
||||
msgid ""
|
||||
"There has been an error adding the channel.\n"
|
||||
"Maybe the URL is wrong?"
|
||||
|
@ -101,11 +105,11 @@ msgstr ""
|
|||
"L'ajout du flux a echoué.\n"
|
||||
"L'URL est sans doute erronée?"
|
||||
|
||||
#: src/gpodder/gpodder.py:317 src/gpodder/gpodder.py:454
|
||||
#: src/gpodder/gpodder.py:340 src/gpodder/gpodder.py:476
|
||||
msgid "Fetching channel index..."
|
||||
msgstr "Récupération de l'index du flux RSS"
|
||||
|
||||
#: src/gpodder/gpodder.py:330
|
||||
#: src/gpodder/gpodder.py:353
|
||||
msgid ""
|
||||
"Could not add new channel.\n"
|
||||
"Only <b>http://</b> and <b>ftp://</b> URLs supported at the moment."
|
||||
|
@ -114,16 +118,16 @@ msgstr ""
|
|||
"Seules les URL <b>http://</b> et <b>ftp://</b> sont supportées pour le "
|
||||
"moment."
|
||||
|
||||
#: src/gpodder/gpodder.py:341 src/gpodder/gpodder.py:354
|
||||
#, python-format
|
||||
#: src/gpodder/gpodder.py:362 src/gpodder/gpodder.py:373
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Cannot access iPod at %s.\n"
|
||||
"Make sure your iPod is connected and mounted."
|
||||
"Cannot access iPod.\n"
|
||||
"Make sure your iPod is connected."
|
||||
msgstr ""
|
||||
"Impossible d'accéder à l'iPod a partir de %s.\n"
|
||||
" Vérifiez que l'iPod est bien connecté et monté."
|
||||
|
||||
#: src/gpodder/gpodder.py:384
|
||||
#: src/gpodder/gpodder.py:403
|
||||
msgid ""
|
||||
"<big><b>Updating feed cache</b></big>\n"
|
||||
"\n"
|
||||
|
@ -135,7 +139,7 @@ msgstr ""
|
|||
"Merci de patienter pendant que gpodder met\n"
|
||||
"à jour le cache des flux RSS..."
|
||||
|
||||
#: src/gpodder/gpodder.py:408
|
||||
#: src/gpodder/gpodder.py:427
|
||||
#, fuzzy
|
||||
msgid "Do you really want to truncate the Podcasts playlist on your iPod?"
|
||||
msgstr ""
|
||||
|
@ -143,7 +147,7 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:447
|
||||
#: src/gpodder/gpodder.py:469
|
||||
msgid ""
|
||||
"Cannot edit this channel.\n"
|
||||
"\n"
|
||||
|
@ -153,7 +157,7 @@ msgstr ""
|
|||
"\n"
|
||||
"Flux RSS introuvable."
|
||||
|
||||
#: src/gpodder/gpodder.py:476
|
||||
#: src/gpodder/gpodder.py:498
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to remove this channel?\n"
|
||||
|
@ -164,7 +168,7 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:483
|
||||
#: src/gpodder/gpodder.py:505
|
||||
msgid ""
|
||||
"Could not delete channel.\n"
|
||||
"Probably no channel is selected."
|
||||
|
@ -172,23 +176,23 @@ msgstr ""
|
|||
"Impossible de supprimer ce flux.\n"
|
||||
"Il n'y a sans doute pas de flux selectionné."
|
||||
|
||||
#: src/gpodder/gpodder.py:491
|
||||
#: src/gpodder/gpodder.py:513
|
||||
msgid "Your channel list is empty. Nothing to export."
|
||||
msgstr "Votre liste de flux est vide. Il n'y a rien à exporter."
|
||||
|
||||
#: src/gpodder/gpodder.py:493
|
||||
#: src/gpodder/gpodder.py:515
|
||||
msgid "Export to OPML"
|
||||
msgstr "Exporter au format OPML"
|
||||
|
||||
#: src/gpodder/gpodder.py:522
|
||||
#: src/gpodder/gpodder.py:544
|
||||
msgid "translator-credits"
|
||||
msgstr "Alain Tauch <contrib@maisondubonheur.com>"
|
||||
|
||||
#: src/gpodder/gpodder.py:562
|
||||
#: src/gpodder/gpodder.py:584
|
||||
msgid "You have not selected an episode to download."
|
||||
msgstr "Vous n'avez pas selectionné d'émission à télécharger."
|
||||
|
||||
#: src/gpodder/gpodder.py:577
|
||||
#: src/gpodder/gpodder.py:599
|
||||
msgid ""
|
||||
"You have already downloaded this episode\n"
|
||||
"or you are currently downloading it."
|
||||
|
@ -196,7 +200,7 @@ msgstr ""
|
|||
"Vous avez déjà téléchargé cette émission\n"
|
||||
"ou elle est en cours de téléchargement."
|
||||
|
||||
#: src/gpodder/gpodder.py:602
|
||||
#: src/gpodder/gpodder.py:624
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to cancel this download?\n"
|
||||
|
@ -207,11 +211,11 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:605 src/gpodder/gpodder.py:642
|
||||
#: src/gpodder/gpodder.py:627 src/gpodder/gpodder.py:669
|
||||
msgid "No episode selected."
|
||||
msgstr "Aucune émission sélectionnée."
|
||||
|
||||
#: src/gpodder/gpodder.py:668
|
||||
#: src/gpodder/gpodder.py:695
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Do you really want to remove this episode?\n"
|
||||
|
@ -222,21 +226,21 @@ msgstr ""
|
|||
"\n"
|
||||
"%s"
|
||||
|
||||
#: src/gpodder/gpodder.py:678
|
||||
#: src/gpodder/gpodder.py:705
|
||||
msgid "Could not delete downloaded podcast."
|
||||
msgstr "La suppression du podcast a échoué"
|
||||
|
||||
#: src/gpodder/gpodder.py:718 src/gpodder/gpodder.py:719
|
||||
#: src/gpodder/gpodder.py:745 src/gpodder/gpodder.py:746
|
||||
#: data/gpodder.glade.h:1
|
||||
msgid "(unknown)"
|
||||
msgstr "(inconnu(e))"
|
||||
|
||||
#: src/gpodder/gpodder.py:946
|
||||
#: src/gpodder/gpodder.py:987
|
||||
#, python-format
|
||||
msgid "%d of %d"
|
||||
msgstr "%d sur %d"
|
||||
|
||||
#: src/gpodder/gpodder.py:989
|
||||
#: src/gpodder/gpodder.py:1030
|
||||
msgid ""
|
||||
"Please do not call gpodder.py directly. Instead, call the gpodder binary."
|
||||
msgstr ""
|
||||
|
@ -255,16 +259,21 @@ msgstr "T
|
|||
msgid "gPodder channel list"
|
||||
msgstr "Liste des flux RSS gPodder"
|
||||
|
||||
#: src/gpodder/libipodsync.py:94
|
||||
#: src/gpodder/libipodsync.py:112
|
||||
msgid "Saving iPod database..."
|
||||
msgstr "Sauvegarde la base de données de l'iPod..."
|
||||
|
||||
#: src/gpodder/libipodsync.py:180
|
||||
#: src/gpodder/libipodsync.py:201
|
||||
#, python-format
|
||||
msgid "Complete: %s"
|
||||
msgstr "Progression: %s"
|
||||
|
||||
#: src/gpodder/liblocdbwriter.py:49
|
||||
#: src/gpodder/libipodsync.py:224
|
||||
#, python-format
|
||||
msgid "%s (to \"%s\")"
|
||||
msgstr ""
|
||||
|
||||
#: src/gpodder/liblocdbwriter.py:42
|
||||
msgid "local download database, generated by gPodder"
|
||||
msgstr "Base de donnée locale, générée par gPodder"
|
||||
|
||||
|
@ -272,7 +281,7 @@ msgstr "Base de donn
|
|||
msgid "gPodder subscription list (exported)"
|
||||
msgstr "Liste des flux RSS de gPodder (export)"
|
||||
|
||||
#: src/gpodder/libpodcasts.py:306
|
||||
#: src/gpodder/libpodcasts.py:304
|
||||
msgid "No LocalDB found or error in existing LocalDB."
|
||||
msgstr "Base de donnée introuvable ou corrompue"
|
||||
|
||||
|
@ -281,11 +290,11 @@ msgstr "Base de donn
|
|||
msgid "unknown"
|
||||
msgstr "inconnu(e)"
|
||||
|
||||
#: src/gpodder/libwget.py:291
|
||||
#: src/gpodder/libwget.py:292
|
||||
msgid "Download has been cancelled."
|
||||
msgstr "Le téléchargement a été annulé."
|
||||
|
||||
#: src/gpodder/libwget.py:293
|
||||
#: src/gpodder/libwget.py:294
|
||||
#, python-format
|
||||
msgid "Download error. Wget exit code was: %d"
|
||||
msgstr "Erreur de téléchargement. Code de retour de wget: %d"
|
||||
|
@ -347,42 +356,47 @@ msgid "Download Status"
|
|||
msgstr "Téléchargements en cours"
|
||||
|
||||
#: data/gpodder.glade.h:16
|
||||
msgid "Download to:"
|
||||
#, fuzzy
|
||||
msgid "Download link:"
|
||||
msgstr "Enregistrer dans:"
|
||||
|
||||
#: data/gpodder.glade.h:17
|
||||
msgid "Download to:"
|
||||
msgstr "Enregistrer dans:"
|
||||
|
||||
#: data/gpodder.glade.h:18
|
||||
msgid "Downloaded Podcasts"
|
||||
msgstr "Podcasts téléchargés"
|
||||
|
||||
#: data/gpodder.glade.h:18
|
||||
#: data/gpodder.glade.h:19
|
||||
msgid "Downloads"
|
||||
msgstr "Téléchargements"
|
||||
|
||||
#: data/gpodder.glade.h:19
|
||||
#: data/gpodder.glade.h:20
|
||||
msgid "E_xport list..."
|
||||
msgstr "E_xporter la liste..."
|
||||
|
||||
#: data/gpodder.glade.h:20
|
||||
#: data/gpodder.glade.h:21
|
||||
msgid "Episode Information"
|
||||
msgstr "Informations sur l'épisode"
|
||||
|
||||
#: data/gpodder.glade.h:21
|
||||
#: data/gpodder.glade.h:22
|
||||
msgid "FTP Proxy:"
|
||||
msgstr "Proxy FTP:"
|
||||
|
||||
#: data/gpodder.glade.h:22
|
||||
#: data/gpodder.glade.h:23
|
||||
msgid "Feed URL:"
|
||||
msgstr "flux RSS:"
|
||||
|
||||
#: data/gpodder.glade.h:23
|
||||
#: data/gpodder.glade.h:24
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: data/gpodder.glade.h:24
|
||||
#: data/gpodder.glade.h:25
|
||||
msgid "HTTP Proxy:"
|
||||
msgstr "Proxy HTTP:"
|
||||
|
||||
#: data/gpodder.glade.h:25
|
||||
#: data/gpodder.glade.h:26
|
||||
msgid ""
|
||||
"If you have to use a HTTP or FTP proxy server,\n"
|
||||
"you can use the usual format of the environment variables:\n"
|
||||
|
@ -394,126 +408,134 @@ msgstr ""
|
|||
"\n"
|
||||
"<b>http://utilisateur:motdepasse@proxy:port</b>"
|
||||
|
||||
#: data/gpodder.glade.h:29
|
||||
#: data/gpodder.glade.h:30
|
||||
msgid "Initializing..."
|
||||
msgstr "Initialisation..."
|
||||
|
||||
#: data/gpodder.glade.h:30
|
||||
#: data/gpodder.glade.h:31
|
||||
msgid "No cover available."
|
||||
msgstr "Logo indisponible."
|
||||
|
||||
#: data/gpodder.glade.h:31
|
||||
#: data/gpodder.glade.h:32
|
||||
msgid "Play selected item"
|
||||
msgstr "Lire la sélection"
|
||||
|
||||
#: data/gpodder.glade.h:32
|
||||
#: data/gpodder.glade.h:33
|
||||
msgid "Player application:"
|
||||
msgstr "Application pour la lecture des podcasts:"
|
||||
|
||||
#: data/gpodder.glade.h:33
|
||||
#: data/gpodder.glade.h:34
|
||||
msgid "Proxy"
|
||||
msgstr "Proxy"
|
||||
|
||||
#: data/gpodder.glade.h:34
|
||||
#: data/gpodder.glade.h:35
|
||||
msgid "Publication date:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:36
|
||||
msgid "Save downloads in:"
|
||||
msgstr "Enregistrer les téléchargements dans:"
|
||||
|
||||
#: data/gpodder.glade.h:35
|
||||
#: data/gpodder.glade.h:37
|
||||
msgid "Show \"gPodder downloads\" link"
|
||||
msgstr "Afficher le lien \"Téléchargements gPodder\""
|
||||
|
||||
#: data/gpodder.glade.h:36
|
||||
#: data/gpodder.glade.h:38
|
||||
msgid "Skip this channel when syncing to the iPod"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:37
|
||||
#: data/gpodder.glade.h:39
|
||||
#, fuzzy
|
||||
msgid "Sync to Playlist:"
|
||||
msgstr "_Synchroniser l'iPod"
|
||||
|
||||
#: data/gpodder.glade.h:38
|
||||
#: data/gpodder.glade.h:40
|
||||
msgid "Sync to Podcasts playlist"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:39
|
||||
#: data/gpodder.glade.h:41
|
||||
msgid "Synchronization"
|
||||
msgstr "Synchronisation"
|
||||
|
||||
#: data/gpodder.glade.h:40
|
||||
#: data/gpodder.glade.h:42
|
||||
msgid "Title:"
|
||||
msgstr "Titre:"
|
||||
|
||||
#: data/gpodder.glade.h:41
|
||||
#: data/gpodder.glade.h:43
|
||||
msgid "Use environment variables"
|
||||
msgstr "Utiliser les variables d'environnement"
|
||||
|
||||
#: data/gpodder.glade.h:42
|
||||
#: data/gpodder.glade.h:44
|
||||
msgid "Website link:"
|
||||
msgstr ""
|
||||
|
||||
#: data/gpodder.glade.h:45
|
||||
msgid "_About gPodder..."
|
||||
msgstr "_A propos de gPodder..."
|
||||
|
||||
#: data/gpodder.glade.h:43
|
||||
#: data/gpodder.glade.h:46
|
||||
msgid "_Add channel..."
|
||||
msgstr "_Ajouter un flux RSS..."
|
||||
|
||||
#: data/gpodder.glade.h:44
|
||||
#: data/gpodder.glade.h:47
|
||||
msgid "_Channels"
|
||||
msgstr "_Flux"
|
||||
|
||||
#: data/gpodder.glade.h:45
|
||||
#: data/gpodder.glade.h:48
|
||||
msgid "_Check for Updates"
|
||||
msgstr "_Mises à jour"
|
||||
|
||||
#: data/gpodder.glade.h:46
|
||||
#: data/gpodder.glade.h:49
|
||||
#, fuzzy
|
||||
msgid "_Cleanup iPod podcasts"
|
||||
msgstr "Nettoyage de l'iPod"
|
||||
|
||||
#: data/gpodder.glade.h:47
|
||||
#: data/gpodder.glade.h:50
|
||||
msgid "_Close"
|
||||
msgstr "_Quitter"
|
||||
|
||||
#: data/gpodder.glade.h:48
|
||||
#: data/gpodder.glade.h:51
|
||||
msgid "_Edit channel..."
|
||||
msgstr "_Modifier le flux RSS"
|
||||
|
||||
#: data/gpodder.glade.h:49
|
||||
#: data/gpodder.glade.h:52
|
||||
msgid "_Help"
|
||||
msgstr "_Aide"
|
||||
|
||||
#: data/gpodder.glade.h:50
|
||||
#: data/gpodder.glade.h:53
|
||||
msgid "_Podcasts"
|
||||
msgstr "_Podcasts"
|
||||
|
||||
#: data/gpodder.glade.h:51
|
||||
#: data/gpodder.glade.h:54
|
||||
msgid "_Preferences..."
|
||||
msgstr "_Préférences"
|
||||
|
||||
#: data/gpodder.glade.h:52
|
||||
#: data/gpodder.glade.h:55
|
||||
msgid "_Remove channel"
|
||||
msgstr "_Supprimer le flux RSS"
|
||||
|
||||
#: data/gpodder.glade.h:53
|
||||
#: data/gpodder.glade.h:56
|
||||
msgid "_Sync to iPod"
|
||||
msgstr "_Synchroniser l'iPod"
|
||||
|
||||
#: data/gpodder.glade.h:54
|
||||
#: data/gpodder.glade.h:57
|
||||
msgid "gPodder - your podcast catcher."
|
||||
msgstr "gPodder - your podcast catcher."
|
||||
|
||||
#: data/gpodder.glade.h:55
|
||||
#: data/gpodder.glade.h:58
|
||||
msgid "gPodder Channel Editor"
|
||||
msgstr "Editeur de flux RSS"
|
||||
|
||||
#: data/gpodder.glade.h:56
|
||||
#: data/gpodder.glade.h:59
|
||||
msgid "gPodder properties"
|
||||
msgstr "Préférences gPodder"
|
||||
|
||||
#: data/gpodder.glade.h:57
|
||||
#: data/gpodder.glade.h:60
|
||||
#, fuzzy
|
||||
msgid "iPod"
|
||||
msgstr "iPod:"
|
||||
|
||||
#: data/gpodder.glade.h:58
|
||||
#: data/gpodder.glade.h:61
|
||||
msgid "iPod mountpoint:"
|
||||
msgstr "Point de montage de l'iPod:"
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
|
||||
.TH GPODDER "1" "April 2006" "gpodder 0.7+svn20060408 2006-04-08" "User Commands"
|
||||
.TH GPODDER "1" "April 2006" "gpodder 0.7+svn20060408 2006-04-09" "User Commands"
|
||||
.SH NAME
|
||||
gpodder \- manual page for gpodder 0.7+svn20060408 2006-04-08
|
||||
gpodder \- manual page for gpodder 0.7+svn20060408 2006-04-09
|
||||
.SH DESCRIPTION
|
||||
usage: gpodder [options] arg1 arg2
|
||||
.PP
|
||||
|
@ -29,8 +29,8 @@ Update channel list, download new podcasts
|
|||
\fB\-u\fR, \fB\-\-update\fR
|
||||
Update channel list and exit
|
||||
.TP
|
||||
\fB\-aFEEDURL\fR, \fB\-\-add\fR=\fIFEEDURL\fR
|
||||
\fB\-a\fR FEEDURL, \fB\-\-add\fR=\fIFEEDURL\fR
|
||||
Subscribe to channel from FEEDURL
|
||||
.TP
|
||||
\fB\-dn\fR, \fB\-\-delete\fR=\fIn\fR
|
||||
\fB\-d\fR n, \fB\-\-delete\fR=\fIn\fR
|
||||
Delete channel with ID n
|
||||
|
|
2
setup.py
2
setup.py
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python2.4
|
||||
|
||||
#
|
||||
# gPodder (a media aggregator / podcast client)
|
||||
|
|
|
@ -59,6 +59,7 @@ from libplayers import UserAppsReader
|
|||
|
||||
from libipodsync import gPodder_iPodSync
|
||||
from libipodsync import ipod_supported
|
||||
from libipodsync import iPodManagerSingleton
|
||||
|
||||
# for isDebugging:
|
||||
import libgpodder
|
||||
|
@ -101,6 +102,9 @@ class Gpodder(SimpleGladeApp):
|
|||
# User Apps Reader
|
||||
uar = None
|
||||
|
||||
# D-BUSified iPod Manager
|
||||
ipod_mgr = None
|
||||
|
||||
def __init__(self, path="gpodder.glade",
|
||||
root="gPodder",
|
||||
domain=app_name, **kwargs):
|
||||
|
@ -191,8 +195,10 @@ class Gpodder(SimpleGladeApp):
|
|||
|
||||
# disable iPod sync features if not supported
|
||||
if not ipod_supported():
|
||||
self.cleanup_ipod.set_sensitive( False)
|
||||
self.sync_to_ipod.set_sensitive( False)
|
||||
ipod_functions( False)
|
||||
else:
|
||||
self.ipod_mgr = iPodManagerSingleton()
|
||||
self.ipod_mgr.register( self.ipod_changed_callback)
|
||||
|
||||
# if we are running a SVN-based version, notify the user :)
|
||||
if app_version.rfind( "svn") != -1:
|
||||
|
@ -200,7 +206,24 @@ class Gpodder(SimpleGladeApp):
|
|||
#-- Gpodder.new }
|
||||
|
||||
#-- Gpodder custom methods {
|
||||
# Write your own methods here
|
||||
def ipod_functions( self, enable = True):
|
||||
self.cleanup_ipod.set_sensitive( enable)
|
||||
self.sync_to_ipod.set_sensitive( enable)
|
||||
|
||||
def ipod_changed_callback( self, ipod):
|
||||
if ipod != None:
|
||||
if libgpodder.isDebugging():
|
||||
print '(ipod) iPod attached / modified'
|
||||
connected = ipod.mount_point != None
|
||||
self.ipod_functions( connected)
|
||||
if connected:
|
||||
if self.showConfirmation( _('iPod connected. Do you want to sync now?')):
|
||||
self.on_sync_to_ipod_activate( self.gPodder)
|
||||
else:
|
||||
if libgpodder.isDebugging():
|
||||
print '(ipod) iPod removed / not attached'
|
||||
self.ipod_functions( False)
|
||||
|
||||
def updateComboBox( self):
|
||||
self.channels_model = channelsToModel( self.channels)
|
||||
|
||||
|
@ -334,11 +357,9 @@ class Gpodder(SimpleGladeApp):
|
|||
return self.comboDownloaded.get_model().get_value( iter, 0)
|
||||
|
||||
def sync_to_ipod_proc( self, sync_win):
|
||||
gpl = gPodderLib()
|
||||
gpl.loadConfig()
|
||||
sync = gPodder_iPodSync( ipod_mount = gpl.ipod_mount, callback_status = sync_win.set_status, callback_progress = sync_win.set_progress, callback_done = sync_win.close)
|
||||
sync = gPodder_iPodSync( callback_status = sync_win.set_status, callback_progress = sync_win.set_progress, callback_done = sync_win.close)
|
||||
if not sync.open():
|
||||
gobject.idle_add( self.showMessage, _('Cannot access iPod at %s.\nMake sure your iPod is connected and mounted.') % gpl.ipod_mount)
|
||||
gobject.idle_add( self.showMessage, _('Cannot access iPod.\nMake sure your iPod is connected.'))
|
||||
sync.close()
|
||||
return False
|
||||
for channel in self.downloaded_channels:
|
||||
|
@ -347,11 +368,9 @@ class Gpodder(SimpleGladeApp):
|
|||
sync.close()
|
||||
|
||||
def ipod_cleanup_proc( self, sync_win):
|
||||
gpl = gPodderLib()
|
||||
gpl.loadConfig()
|
||||
sync = gPodder_iPodSync( ipod_mount = gpl.ipod_mount, callback_status = sync_win.set_status, callback_progress = sync_win.set_progress, callback_done = sync_win.close)
|
||||
sync = gPodder_iPodSync( callback_status = sync_win.set_status, callback_progress = sync_win.set_progress, callback_done = sync_win.close)
|
||||
if not sync.open():
|
||||
gobject.idle_add( self.showMessage, _('Cannot access iPod at %s.\nMake sure your iPod is connected and mounted.') % gpl.ipod_mount)
|
||||
gobject.idle_add( self.showMessage, _('Cannot access iPod.\nMake sure your iPod is connected.'))
|
||||
sync.close()
|
||||
return False
|
||||
sync.clean_playlist()
|
||||
|
@ -424,6 +443,9 @@ class Gpodder(SimpleGladeApp):
|
|||
self.uar.read()
|
||||
prop = Gpodderproperties()
|
||||
prop.set_uar( self.uar)
|
||||
#if self.ipod_mgr != None:
|
||||
# self.ipod_mgr.register( prop.update_mountpoint)
|
||||
# prop.on_close = lambda: self.ipod_mgr.unregister( prop.update_mountpoint)
|
||||
#-- Gpodder.on_itemPreferences_activate }
|
||||
|
||||
#-- Gpodder.on_itemAddChannel_activate {
|
||||
|
@ -810,9 +832,16 @@ class Gpodderproperties(SimpleGladeApp):
|
|||
self.comboPlayerApp.pack_start( cellrenderer, True)
|
||||
self.comboPlayerApp.add_attribute( cellrenderer, 'markup', 0)
|
||||
# end setup cell renderers
|
||||
self.on_close = None
|
||||
#-- Gpodderproperties.new }
|
||||
|
||||
#-- Gpodderproperties custom methods {
|
||||
def update_mountpoint( self, ipod):
|
||||
if ipod == None or ipod.mount_point == None:
|
||||
self.iPodMountpoint.set_text( '')
|
||||
else:
|
||||
self.iPodMountpoint.set_text( ipod.mount_point)
|
||||
|
||||
def set_uar( self, uar):
|
||||
self.comboPlayerApp.set_model( uar.get_applications_as_model())
|
||||
# try to activate an item
|
||||
|
@ -839,6 +868,8 @@ class Gpodderproperties(SimpleGladeApp):
|
|||
def on_gPodderProperties_destroy(self, widget, *args):
|
||||
if libgpodder.isDebugging():
|
||||
print "on_gPodderProperties_destroy called with self.%s" % widget.get_name()
|
||||
if self.on_close != None:
|
||||
self.on_close()
|
||||
#-- Gpodderproperties.on_gPodderProperties_destroy }
|
||||
|
||||
#-- Gpodderproperties.on_comboPlayerApp_changed {
|
||||
|
|
|
@ -34,6 +34,10 @@ enable_ipod_functions = True
|
|||
try:
|
||||
import gpod
|
||||
import eyeD3
|
||||
import dbus
|
||||
# the following is taken from hal-device-manager source
|
||||
if getattr( dbus, 'version', (0,0,0)) >= (0,41,0):
|
||||
import dbus.glib
|
||||
except:
|
||||
enable_ipod_functions = False
|
||||
|
||||
|
@ -53,6 +57,18 @@ def ipod_supported():
|
|||
return enable_ipod_functions
|
||||
|
||||
|
||||
|
||||
__ipodmanager = None
|
||||
|
||||
def iPodManagerSingleton():
|
||||
global __ipodmanager
|
||||
if __ipodmanager == None:
|
||||
__ipodmanager = iPodManager()
|
||||
|
||||
return __ipodmanager
|
||||
|
||||
|
||||
|
||||
class gPodder_iPodSync(object):
|
||||
itdb = None
|
||||
ipod_mount = '' # mountpoint for ipod
|
||||
|
@ -62,12 +78,14 @@ class gPodder_iPodSync(object):
|
|||
callback_progress = None
|
||||
callback_status = None
|
||||
callback_done = None
|
||||
ipod_mgr = None
|
||||
|
||||
def __init__( self, ipod_mount = '/media/ipod/', callback_progress = None, callback_status = None, callback_done = None):
|
||||
def __init__( self, callback_progress = None, callback_status = None, callback_done = None):
|
||||
if not ipod_supported():
|
||||
if libgpodder.isDebugging():
|
||||
print '(ipodsync) iPod functions not supported. (libgpod + eyed3 needed)'
|
||||
self.ipod_mount = ipod_mount
|
||||
self.ipod_mgr = iPodManagerSingleton()
|
||||
self.ipod_mount = self.ipod_mgr.ipod.mount_point
|
||||
self.callback_progress = callback_progress
|
||||
self.callback_status = callback_status
|
||||
self.callback_done = callback_done
|
||||
|
@ -76,10 +94,10 @@ class gPodder_iPodSync(object):
|
|||
if not ipod_supported():
|
||||
return False
|
||||
if self.itdb == None:
|
||||
self.itdb = gpod.itdb_parse( self.ipod_mount, None)
|
||||
self.itdb = gpod.itdb_parse( str( self.ipod_mount), None)
|
||||
if not self.itdb:
|
||||
return False
|
||||
self.itdb.mountpoint = self.ipod_mount
|
||||
self.itdb.mountpoint = str(self.ipod_mount)
|
||||
self.pl_master = gpod.sw_get_playlists( self.itdb)[0]
|
||||
self.pl_podcasts = gpod.itdb_playlist_podcasts( self.itdb)
|
||||
return True
|
||||
|
@ -98,6 +116,9 @@ class gPodder_iPodSync(object):
|
|||
if self.callback_done != None:
|
||||
time.sleep(1)
|
||||
gobject.idle_add( self.callback_done)
|
||||
if self.ipod_mgr != None:
|
||||
if self.ipod_mgr.ipod != None:
|
||||
os.system( 'sudo eject %s' % ( self.ipod_mgr.ipod.device ))
|
||||
return True
|
||||
|
||||
def remove_from_ipod( self, track, playlists):
|
||||
|
@ -254,3 +275,139 @@ class gPodder_iPodSync(object):
|
|||
# silently ignore :)
|
||||
pass
|
||||
|
||||
|
||||
class iPod(object):
|
||||
__mountpoint = None
|
||||
|
||||
def __init__( self, udi):
|
||||
self.is_connected = False
|
||||
self.device = None # /dev/sda
|
||||
self.children = []
|
||||
self.udi = udi
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPod) new with udi: %s' % udi
|
||||
|
||||
def has( self, udi):
|
||||
return udi in self.children
|
||||
|
||||
def add( self, udi):
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPod) adding: %s' % udi
|
||||
self.children.append( udi)
|
||||
|
||||
def remove( self, udi):
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPod) removing: %s' % udi
|
||||
self.children.remove( udi)
|
||||
|
||||
def get_mount_point( self):
|
||||
return self.__mountpoint
|
||||
|
||||
def set_mount_point( self, mount_point):
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPod) mountpoint: %s' % mount_point
|
||||
self.__mountpoint = mount_point
|
||||
if self.__mountpoint[-1] != '/':
|
||||
self.__mountpoint = self.__mountpoint + '/'
|
||||
|
||||
mount_point = property( fget = get_mount_point, fset = set_mount_point )
|
||||
|
||||
def blowup( self):
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPod) blown up!'
|
||||
|
||||
|
||||
class iPodManager(object):
|
||||
mgr = 'org.freedesktop.Hal.Manager'
|
||||
mgr_path = '/org/freedesktop/Hal/Manager'
|
||||
|
||||
service = 'org.freedesktop.Hal'
|
||||
interface = 'org.freedesktop.Hal.Device'
|
||||
|
||||
ipod_key = 'portable_audio_player.storage_device'
|
||||
ipod_value = '/org/freedesktop/Hal/devices/storage_model_iPod'
|
||||
ipod_parent_key = 'info.parent'
|
||||
|
||||
bus = None
|
||||
|
||||
__ipod = None
|
||||
listeners = []
|
||||
|
||||
def __init__( self):
|
||||
self.dbus_connect()
|
||||
|
||||
def dbus_connect( self):
|
||||
self.bus = dbus.SystemBus()
|
||||
self.bus.add_signal_receiver( self.device_added, 'DeviceAdded', self.mgr, self.service, self.mgr_path)
|
||||
self.bus.add_signal_receiver( self.device_removed, 'DeviceRemoved', self.mgr, self.service, self.mgr_path)
|
||||
|
||||
def device_added( self, udi):
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPodManager) device_added: %s' % udi
|
||||
self.notify_me( udi)
|
||||
props = self.get_properties( udi)
|
||||
|
||||
# add new iPod if connected
|
||||
if props.has_key( self.ipod_key):
|
||||
if props[self.ipod_key] == self.ipod_value:
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPodManager) received device_added'
|
||||
self.ipod = iPod( udi)
|
||||
self.ipod.device = props['block.device']
|
||||
self.notify_all()
|
||||
|
||||
# iPod-related
|
||||
if self.ipod != None and props.has_key( self.ipod_parent_key) and props[self.ipod_parent_key] == self.ipod_value:
|
||||
self.ipod.add( udi)
|
||||
|
||||
def notify_me( self, udi):
|
||||
callback = lambda *args: self.device_modified( udi, *args)
|
||||
self.bus.add_signal_receiver( callback, 'PropertyModified', self.interface, self.service, udi)
|
||||
|
||||
def device_removed( self, udi):
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPodManager) device_removed: %s' % udi
|
||||
# iPod-related
|
||||
if self.ipod != None and self.ipod.has( udi):
|
||||
self.ipod.remove( udi)
|
||||
if self.ipod != None and self.ipod.udi == udi:
|
||||
if libgpodder.isDebugging():
|
||||
print '(iPodManager) received device_removed'
|
||||
self.ipod.blowup()
|
||||
self.ipod = None
|
||||
self.notify_all()
|
||||
|
||||
def device_modified( self, udi, num_changes, list):
|
||||
props = self.get_properties( udi)
|
||||
for item in list:
|
||||
key = item[0]
|
||||
if self.ipod != None:
|
||||
if key == 'volume.mount_point':
|
||||
self.ipod.mount_point = props[key]
|
||||
self.notify_all()
|
||||
|
||||
def get_properties( self, udi):
|
||||
object = self.bus.get_object( self.service, udi)
|
||||
return object.GetAllProperties( dbus_interface = self.interface)
|
||||
|
||||
def get_ipod( self):
|
||||
return self.__ipod
|
||||
|
||||
def notify_all( self):
|
||||
for listener in self.listeners:
|
||||
listener( self.ipod)
|
||||
|
||||
def set_ipod( self, ipod):
|
||||
self.__ipod = ipod
|
||||
|
||||
ipod = property( fget = get_ipod, fset = set_ipod )
|
||||
|
||||
def register( self, callback):
|
||||
if not callback in self.listeners:
|
||||
self.listeners.append( callback)
|
||||
callback( self.ipod)
|
||||
|
||||
def unregister( self, callback):
|
||||
if callback in self.listeners:
|
||||
self.listeners.remove( callback)
|
||||
|
||||
|
|
Loading…
Reference in a new issue