translations, pref class

This commit is contained in:
Zach Tibbitts 2007-02-16 20:58:16 +00:00
parent b105063a27
commit 3680e97a6a
7 changed files with 984 additions and 1 deletions

10
deluge.desktop Normal file
View File

@ -0,0 +1,10 @@
[Desktop-Entry]
Encoding=UTF-8
Name=Deluge BitTorrent Client
Comment=BitTorrent client in Python/PyGTK
Exec=deluge
Icon=deluge.xpm
Terminal=false
Type=Application
Categories=Application;Network
StartupNotify=true

415
deluge.xpm Normal file
View File

@ -0,0 +1,415 @@
/* XPM */
static char * deluge_torrent_xpm[] = {
"32 32 380 2",
" c None",
". c #8893A8",
"+ c #8994A8",
"@ c #B0B7C5",
"# c #919BAE",
"$ c #737F98",
"% c #A3ABBB",
"& c #8E98AD",
"* c #AEB5C4",
"= c #858FA5",
"- c #5E6D89",
"; c #929CB0",
"> c #8794A9",
", c #8592AA",
"' c #919FB5",
") c #A5B0C3",
"! c #7688A4",
"~ c #7687A1",
"{ c #8A99B1",
"] c #768AA7",
"^ c #7E92AE",
"/ c #8397B3",
"( c #92A4BD",
"_ c #96A8C0",
": c #5B7295",
"< c #8B9DB7",
"[ c #6A83A4",
"} c #728BAD",
"| c #7791B3",
"1 c #7B95B6",
"2 c #7C96B8",
"3 c #95ABC6",
"4 c #829CBC",
"5 c #45618C",
"6 c #7F96B3",
"7 c #6483A9",
"8 c #6384AC",
"9 c #6B8BB3",
"0 c #7091B8",
"a c #7495BC",
"b c #7596BD",
"c c #7496BD",
"d c #95AECC",
"e c #6F91B9",
"f c #6081A9",
"g c #3C6292",
"h c #365989",
"i c #4B6B97",
"j c #5676A1",
"k c #5F81AB",
"l c #6E93BF",
"m c #7097C2",
"n c #7297C3",
"o c #8FADCE",
"p c #618AB7",
"q c #476D9D",
"r c #5A779F",
"s c #1B4075",
"t c #1F4377",
"u c #365785",
"v c #4A6791",
"w c #4D6B94",
"x c #5D80AA",
"y c #6C93BF",
"z c #779DC6",
"A c #84A6CB",
"B c #5382B6",
"C c #3A659A",
"D c #5C789F",
"E c #224579",
"F c #1E4277",
"G c #274A7C",
"H c #2E4F7F",
"I c #335483",
"J c #44628D",
"K c #557197",
"L c #526E95",
"M c #506F99",
"N c #668FBD",
"O c #7FA3CA",
"P c #7299C4",
"Q c #36639A",
"R c #4F6D97",
"S c #345484",
"T c #305181",
"U c #42618A",
"V c #4E6992",
"W c #4A678F",
"X c #4B6992",
"Y c #4B6994",
"Z c #5F7A9E",
"` c #5E779C",
" . c #597398",
".. c #527099",
"+. c #618ABA",
"@. c #84A6CD",
"#. c #5D89BB",
"$. c #375A89",
"%. c #4C6992",
"&. c #3A5986",
"*. c #536E94",
"=. c #577197",
"-. c #6F92BB",
";. c #759ECA",
">. c #739CCA",
",. c #759DC9",
"'. c #6880A4",
"). c #5C7699",
"!. c #4F6F98",
"~. c #618DBD",
"{. c #81A4CA",
"]. c #4B7CB3",
"^. c #274F84",
"/. c #5A759B",
"(. c #375784",
"_. c #577196",
":. c #5A7498",
"<. c #6F89AB",
"[. c #8BADD1",
"}. c #7EA5D0",
"|. c #7FA6D0",
"1. c #7CA4CF",
"2. c #7CA4CE",
"3. c #789FC7",
"4. c #6984A7",
"5. c #5A7398",
"6. c #5076A5",
"7. c #6791C0",
"8. c #7198C3",
"9. c #2D5081",
"0. c #25477A",
"a. c #4C6890",
"b. c #627A9D",
"c. c #657DA1",
"d. c #A0BBD7",
"e. c #89AED6",
"f. c #8BAFD7",
"g. c #8BB0D7",
"h. c #8AAED6",
"i. c #86ACD4",
"j. c #82A8D2",
"k. c #7CA3CF",
"l. c #749DC8",
"m. c #6984A6",
"n. c #567298",
"o. c #5786BA",
"p. c #779CC6",
"q. c #5583B7",
"r. c #295086",
"s. c #2C4E7F",
"t. c #345483",
"u. c #5B7498",
"v. c #5D7699",
"w. c #93AAC4",
"x. c #9EBDDD",
"y. c #96B8DD",
"z. c #97B9DE",
"A. c #94B7DC",
"B. c #90B3DA",
"C. c #8AAFD6",
"D. c #83A9D2",
"E. c #7AA2CE",
"F. c #6F95BF",
"G. c #667E9F",
"H. c #577FAF",
"I. c #5585B8",
"J. c #759AC5",
"K. c #3F6FA7",
"L. c #254A80",
"M. c #5C769C",
"N. c #3C5B87",
"O. c #60789C",
"P. c #B0C3D8",
"Q. c #A1C0E3",
"R. c #A3C2E4",
"S. c #A3C3E5",
"T. c #A2C2E4",
"U. c #9EBFE2",
"V. c #98BADE",
"W. c #91B4DA",
"X. c #88AED6",
"Y. c #759ECB",
"Z. c #6885AD",
"`. c #5780B0",
" + c #5383B8",
".+ c #7299C3",
"++ c #4675AB",
"@+ c #395A89",
"#+ c #46648F",
"$+ c #3E5D88",
"%+ c #617A9C",
"&+ c #637B9D",
"*+ c #BFD1E4",
"=+ c #ADCBEA",
"-+ c #B0CDEB",
";+ c #AFCCEB",
">+ c #ACCAE9",
",+ c #A7C6E6",
"'+ c #9FC0E2",
")+ c #8DB1D8",
"!+ c #82A9D2",
"~+ c #77A0CC",
"{+ c #6A94C4",
"]+ c #5F8DBF",
"^+ c #5C89BA",
"/+ c #5C85B4",
"(+ c #3F5E8B",
"_+ c #3B5A86",
":+ c #647C9E",
"<+ c #61799D",
"[+ c #C1D2E4",
"}+ c #BBD5F1",
"|+ c #BCD6F2",
"1+ c #BAD5F1",
"2+ c #B5D1EE",
"3+ c #AECBEA",
"4+ c #A5C4E5",
"5+ c #9BBCE0",
"6+ c #84AAD3",
"7+ c #78A0CC",
"8+ c #6B96C6",
"9+ c #5F8CBF",
"0+ c #5282B8",
"a+ c #4F7FB4",
"b+ c #668CB7",
"c+ c #43618D",
"d+ c #325382",
"e+ c #5E779B",
"f+ c #5F789A",
"g+ c #BACADC",
"h+ c #C9E0F9",
"i+ c #C7DFF8",
"j+ c #C3DCF6",
"k+ c #BCD7F2",
"l+ c #B3CFED",
"m+ c #A8C7E7",
"n+ c #9DBEE1",
"o+ c #6A96C5",
"p+ c #5D8BBE",
"q+ c #5081B7",
"r+ c #497BB2",
"s+ c #698DB7",
"t+ c #45638E",
"u+ c #2E5080",
"v+ c #25487B",
"w+ c #506B93",
"x+ c #647B9E",
"y+ c #9DAFC7",
"z+ c #D6E9FD",
"A+ c #D1E8FE",
"B+ c #CAE2FA",
"C+ c #C1DAF5",
"D+ c #A9C8E8",
"E+ c #6894C4",
"F+ c #5A89BC",
"G+ c #4D7EB5",
"H+ c #4577AF",
"I+ c #6B8DB5",
"J+ c #3B6090",
"K+ c #3D5D8A",
"L+ c #3C5B89",
"M+ c #1D4276",
"N+ c #647C9C",
"O+ c #657D9E",
"P+ c #C2D4E6",
"Q+ c #D3E9FF",
"R+ c #CEE5FC",
"S+ c #C2DBF5",
"T+ c #80A7D1",
"U+ c #729CC9",
"V+ c #6491C2",
"W+ c #5686BA",
"X+ c #497BB3",
"Y+ c #5580B3",
"Z+ c #5B7EAA",
"`+ c #335686",
" @ c #4D6993",
".@ c #26497B",
"+@ c #4C6990",
"@@ c #6B82A2",
"#@ c #7D92B0",
"$@ c #C1D4E9",
"%@ c #C0DAF4",
"&@ c #B2CFED",
"*@ c #7BA3CE",
"=@ c #6F99C7",
"-@ c #6390C0",
";@ c #5886B9",
">@ c #4A7BB2",
",@ c #698CB7",
"'@ c #4C6F9C",
")@ c #284C7F",
"!@ c #577299",
"~@ c #2F517F",
"{@ c #536E93",
"]@ c #7086A5",
"^@ c #7B8FAC",
"/@ c #9FB3CD",
"(@ c #B8D2EE",
"_@ c #91B5DB",
":@ c #85ABD4",
"<@ c #7CA3CD",
"[@ c #729AC8",
"}@ c #6791C1",
"|@ c #5A87BA",
"1@ c #5280B4",
"2@ c #7A97BB",
"3@ c #416290",
"4@ c #2F5080",
"5@ c #4F6B91",
"6@ c #687F9F",
"7@ c #7B8FAB",
"8@ c #8396B0",
"9@ c #8AA1BF",
"0@ c #8CACCE",
"a@ c #8FB2D8",
"b@ c #86AAD2",
"c@ c #7DA3CC",
"d@ c #749BC7",
"e@ c #6993C1",
"f@ c #5B88B9",
"g@ c #7999C0",
"h@ c #587AA5",
"i@ c #21416E",
"j@ c #516D96",
"k@ c #415F8A",
"l@ c #567196",
"m@ c #637B9E",
"n@ c #6F84A3",
"o@ c #778BA7",
"p@ c #758BAA",
"q@ c #7490B3",
"r@ c #749BC5",
"s@ c #6992C0",
"t@ c #799DC4",
"u@ c #7291B6",
"v@ c #46658C",
"w@ c #264878",
"x@ c #4F6C94",
"y@ c #42608C",
"z@ c #294B7D",
"A@ c #4A6790",
"B@ c #567095",
"C@ c #597599",
"D@ c #587398",
"E@ c #536F96",
"F@ c #4F6D95",
"G@ c #7690B4",
"H@ c #7090B7",
"I@ c #4A6991",
"J@ c #2B4871",
"K@ c #41608C",
"L@ c #59749A",
"M@ c #234679",
"N@ c #214578",
"O@ c #3A5A87",
"P@ c #47648F",
"Q@ c #667EA2",
"R@ c #7188A9",
"S@ c #4B6892",
"T@ c #395985",
"U@ c #1C314F",
"V@ c #2E4F7D",
"W@ c #395986",
"X@ c #526E96",
"Y@ c #58739A",
"Z@ c #5B759B",
"`@ c #6A82A5",
" # c #627CA0",
".# c #365887",
"+# c #324B69",
"@# c #344B69",
"## c #34537D",
"$# c #294C7C",
"%# c #315383",
"&# c #40618D",
"*# c #40638F",
"=# c #3B5C87",
"-# c #36537A",
";# c #2E4156",
" ",
" . ",
" + @ # ",
" $ % & * = ",
" - ; > , ' ) ! ",
" ~ { ] ^ / ( _ ",
" : < [ } | 1 2 3 4 ",
" 5 6 7 8 9 0 a b c d e ",
" 7 f g h i j k l m n o p ",
" q r s s s t u v w x y z A B ",
" C D E s F G H I J K L M N O P ",
" Q R S s T U V W X Y Z ` ...+.@.#. ",
" $.%.t &.*.=.r -.;.>.,.0 '.).!.~.{.]. ",
" ^./.F (._.:.<.[.}.|.}.1.2.3.4.5.6.7.8. ",
" 9.v 0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q. ",
" r.v s.t.u.v.w.x.y.z.z.A.B.C.D.E.F.G.H.I.J.K. ",
" L.M.s N.b.O.P.Q.R.S.T.U.V.W.X.|.Y.Z.`. +.+++ ",
" @+#+s $+%+&+*+=+-+;+>+,+'+z.)+!+~+{+]+ +^+/+ ",
" (+S s _+:+<+[+}+|+1+2+3+4+5+B.6+7+8+9+0+a+b+ ",
" c+T s d+e+f+g+h+i+j+k+l+m+n+W.6+~+o+p+q+r+s+ ",
" t+u+s v+w+x+y+z+A+B+C+2+D+n+B.D.Y.E+F+G+H+I+J+ ",
" K+L+s M+N.N+O+P+Q+R+S+2+m+5+)+T+U+V+W+X+Y+Z+ ",
" `+ @s s .@+@@@#@$@R+%@&@4+z.e.*@=@-@;@>@,@'@ ",
" )@!@t s s ~@{@]@^@/@(@=+'+_@:@<@[@}@|@1@2@3@ ",
" S #+s s s 4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@ ",
" i@j@u s s s G k@l@m@n@o@p@q@a r@s@t@u@v@ ",
" w@x@y@s s s s z@_+A@B@C@D@E@F@G@H@I@ ",
" J@K@L@y@M@s s N@z@S O@P@Q@R@S@T@ ",
" U@V@W@X@L@Y@Z@L@c.`@ #v .#+# ",
" @###$#%#&#*#=#-#;# ",
" ",
" "};

2
gettextize.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
xgettext -f po/POTFILES.in -o po/deluge.pot

11
po/POTFILES.in Normal file
View File

@ -0,0 +1,11 @@
glade/delugegtk.glade
glade/dgtkpopups.glade
glade/dgtkpref.glade
src/dcommon.py
src/deluge.py
src/deluge_core.cpp
src/delugegtk.py
src/delugeplugins.py
src/deluge_stats.py
src/dgtk.py
src/pref.py

425
po/deluge.pot Normal file
View File

@ -0,0 +1,425 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-02-16 15:10-0500\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: glade/delugegtk.glade:96
msgid "<b>Estimated Time Remaining:</b>"
msgstr ""
#: glade/delugegtk.glade:134
msgid "<b>Peers:</b>"
msgstr ""
#: glade/delugegtk.glade:148
msgid "<b>Seeders:</b>"
msgstr ""
#: glade/delugegtk.glade:160
msgid "<b>Total Size:</b>"
msgstr ""
#: glade/delugegtk.glade:172
msgid "<b>Total Downloaded:</b>"
msgstr ""
#: glade/delugegtk.glade:184
msgid "<b>Downloaded this session:</b>"
msgstr ""
#: glade/delugegtk.glade:232
msgid "<b>Tracker:</b>"
msgstr ""
#: glade/delugegtk.glade:244
msgid "<b>Tracker Response:</b>"
msgstr ""
#: glade/delugegtk.glade:256
msgid "<b>Tracker Status:</b>"
msgstr ""
#: glade/delugegtk.glade:280
msgid "<b>Next Announce:</b>"
msgstr ""
#: glade/delugegtk.glade:306
msgid "<b>Pieces:</b>"
msgstr ""
#: glade/delugegtk.glade:320
msgid "<b>Total Uploaded:</b>"
msgstr ""
#: glade/delugegtk.glade:358
msgid "<b>Share Ratio:</b>"
msgstr ""
#: glade/delugegtk.glade:372
msgid "<b>Uploaded This Session:</b>"
msgstr ""
#: glade/delugegtk.glade:434
msgid "<b>Use compact storage allocation:</b>"
msgstr ""
#: glade/delugegtk.glade:458
msgid "<b>Download Rate:</b>"
msgstr ""
#: glade/delugegtk.glade:482
msgid "<b>Upload Rate:</b>"
msgstr ""
#: glade/delugegtk.glade:525
msgid "Details"
msgstr ""
#: glade/delugegtk.glade:552 glade/delugegtk.glade:746
#: glade/dgtkpopups.glade:37 src/delugegtk.py:263
msgid "Peers"
msgstr ""
#: glade/delugegtk.glade:581
msgid "Files"
msgstr ""
#: glade/delugegtk.glade:616
msgid "_File"
msgstr ""
#: glade/delugegtk.glade:623 glade/delugegtk.glade:858
msgid "Add Torrent"
msgstr ""
#: glade/delugegtk.glade:631
msgid "Add Torrent from URL"
msgstr ""
#: glade/delugegtk.glade:639
msgid "Remove selected Torrent"
msgstr ""
#: glade/delugegtk.glade:665
msgid "_Edit"
msgstr ""
#: glade/delugegtk.glade:682
msgid "_Manage Plugins"
msgstr ""
#: glade/delugegtk.glade:694
msgid "_View"
msgstr ""
#: glade/delugegtk.glade:702
msgid "Show Details Pane"
msgstr ""
#: glade/delugegtk.glade:711
msgid "Columns"
msgstr ""
#: glade/delugegtk.glade:719 glade/dgtkpopups.glade:10 src/delugegtk.py:260
msgid "Size"
msgstr ""
#: glade/delugegtk.glade:728 glade/dgtkpopups.glade:19 src/delugegtk.py:261
msgid "Status"
msgstr ""
#: glade/delugegtk.glade:737 glade/dgtkpopups.glade:28 src/delugegtk.py:262
msgid "Seeders"
msgstr ""
#: glade/delugegtk.glade:755 src/delugegtk.py:264 src/delugegtk.py:313
msgid "Download"
msgstr ""
#: glade/delugegtk.glade:764 src/delugegtk.py:265
msgid "Upload"
msgstr ""
#: glade/delugegtk.glade:773 glade/dgtkpopups.glade:64 src/delugegtk.py:266
msgid "Time Remaining"
msgstr ""
#: glade/delugegtk.glade:782 glade/dgtkpopups.glade:73
msgid "Share Ratio"
msgstr ""
#: glade/delugegtk.glade:799
msgid "_Help"
msgstr ""
#: glade/delugegtk.glade:871 glade/dgtkpopups.glade:81
msgid "Remove Torrent"
msgstr ""
#: glade/delugegtk.glade:884
msgid "Clear Finished Torrents"
msgstr ""
#: glade/delugegtk.glade:897
msgid "Update Tracker"
msgstr ""
#: glade/delugegtk.glade:910
msgid "Queue Torrent Up"
msgstr ""
#: glade/delugegtk.glade:923
msgid "Queue Torrent Down"
msgstr ""
#: glade/dgtkpopups.glade:46
msgid "Download Speed"
msgstr ""
#: glade/dgtkpopups.glade:55
msgid "Upload Speed"
msgstr ""
#: glade/dgtkpopups.glade:94
msgid ""
"<b>Are you sure you want to remove the selected torrent(s) from Deluge?</b>"
msgstr ""
#: glade/dgtkpopups.glade:104
msgid "Delete downloaded files"
msgstr ""
#: glade/dgtkpopups.glade:164
msgid "Show/Hide"
msgstr ""
#: glade/dgtkpopups.glade:172
msgid "Add a Torrent..."
msgstr ""
#: glade/dgtkpopups.glade:180
msgid "Clear Finished"
msgstr ""
#: glade/dgtkpopups.glade:193 glade/dgtkpref.glade:669
msgid "gtk-preferences"
msgstr ""
#: glade/dgtkpopups.glade:202 glade/dgtkpref.glade:694
msgid "Plugins"
msgstr ""
#: glade/dgtkpopups.glade:215
msgid "gtk-quit"
msgstr ""
#: glade/dgtkpref.glade:8
msgid "Preferences Dialog"
msgstr ""
#: glade/dgtkpref.glade:50
msgid "Enable system tray icon"
msgstr ""
#: glade/dgtkpref.glade:62
msgid "Minimize to tray on close"
msgstr ""
#: glade/dgtkpref.glade:77
msgid "Options"
msgstr ""
#: glade/dgtkpref.glade:112
msgid "Save all downloads to:"
msgstr ""
#: glade/dgtkpref.glade:124
msgid "Ask me where to save each download"
msgstr ""
#: glade/dgtkpref.glade:136
msgid "Save Location"
msgstr ""
#: glade/dgtkpref.glade:177
msgid ""
"Stop seeding torrents when\n"
"their share ratio reaches:"
msgstr ""
#: glade/dgtkpref.glade:187
msgid "Seeding"
msgstr ""
#: glade/dgtkpref.glade:206
msgid "Use compact storage allocation"
msgstr ""
#: glade/dgtkpref.glade:213
msgid "Storage"
msgstr ""
#: glade/dgtkpref.glade:243
msgid "General"
msgstr ""
#: glade/dgtkpref.glade:277
msgid "Try from:"
msgstr ""
#: glade/dgtkpref.glade:283
msgid "to:"
msgstr ""
#: glade/dgtkpref.glade:317
msgid "Active port:"
msgstr ""
#: glade/dgtkpref.glade:329
msgid "0000"
msgstr ""
#: glade/dgtkpref.glade:341
msgid "Test Port"
msgstr ""
#: glade/dgtkpref.glade:355
msgid "TCP Port"
msgstr ""
#: glade/dgtkpref.glade:378
msgid "<i>(-1 is unlimited)</i>"
msgstr ""
#: glade/dgtkpref.glade:388 glade/dgtkpref.glade:413
msgid "KB/s"
msgstr ""
#: glade/dgtkpref.glade:503
msgid "Maximum number of Downloads:"
msgstr ""
#: glade/dgtkpref.glade:514
msgid "Maximum Download Rate:"
msgstr ""
#: glade/dgtkpref.glade:525
msgid "Maximum number of Uploads:"
msgstr ""
#: glade/dgtkpref.glade:536
msgid "Maximum Upload Rate:"
msgstr ""
#: glade/dgtkpref.glade:548
msgid "Bandwidth "
msgstr ""
#: glade/dgtkpref.glade:576
msgid "Network"
msgstr ""
#: glade/dgtkpref.glade:598
msgid "gtk-cancel"
msgstr ""
#: glade/dgtkpref.glade:605
msgid "gtk-ok"
msgstr ""
#: glade/dgtkpref.glade:625
msgid "Plugin Manager"
msgstr ""
#: glade/dgtkpref.glade:715
msgid "gtk-close"
msgstr ""
#: src/dcommon.py:102
msgid "Infinity"
msgstr ""
#: src/dcommon.py:166
msgid "Error: no webbrowser found"
msgstr ""
#: src/delugegtk.py:207
msgid "Plugin"
msgstr ""
#: src/delugegtk.py:209
msgid "Enabled"
msgstr ""
#: src/delugegtk.py:259
msgid "Name"
msgstr ""
#: src/delugegtk.py:267
msgid "Ratio"
msgstr ""
#: src/delugegtk.py:300
msgid "IP Address"
msgstr ""
#: src/delugegtk.py:301
msgid "Client"
msgstr ""
#: src/delugegtk.py:302
msgid "Percent Complete"
msgstr ""
#: src/delugegtk.py:303
msgid "Download Rate"
msgstr ""
#: src/delugegtk.py:304
msgid "Upload Rate"
msgstr ""
#: src/delugegtk.py:312
msgid "Filename"
msgstr ""
#: src/delugegtk.py:636
msgid "Add torrent from URL"
msgstr ""
#: src/delugegtk.py:640
msgid "Enter the URL of the .torrent to download"
msgstr ""
#: src/delugegtk.py:678
msgid "Warning - all downloaded files for this torrent will be deleted!"
msgstr ""
#: src/dgtk.py:33
msgid "Choose a .torrent file"
msgstr ""
#: src/dgtk.py:37
msgid "Torrent files"
msgstr ""
#: src/dgtk.py:41
msgid "All files"
msgstr ""
#: src/dgtk.py:54
msgid "Choose a download directory"
msgstr ""

View File

@ -47,7 +47,6 @@ if not "org.deluge_torrent.Deluge" in dbus_objects:
import deluge, deluge.delugegtk
import gettext
gettext.install('deluge')
print _('message')
interface = deluge.delugegtk.DelugeGTK()
for arg in args:

121
src/pref.py Normal file
View File

@ -0,0 +1,121 @@
# pref.py
#
# Copyright (C) Zach Tibbitts 2006 <zach@collegegeek.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, write to:
# The Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor
# Boston, MA 02110-1301, USA.
# Preferences is basically a wrapper around a simple Python dictionary
# object. However, this class provides a few extra features on top of
# the built in class that Deluge can take advantage of.
class Preferences:
def __init__(self, filename=None):
self.mapping = {}
self.config_file = filename
if self.config_file is not None:
self.load_from_file(self.config_file)
# Allows you to access an item in a Preferences objecy by calling
# instance[key] rather than instance.get(key). However, this will
# return the value as the type it is currently in memory, so it is
# advisable to use get() if you need the value converted.
def __getitem__(self, key):
return self.mapping[key]
def __setitem__(self, key, value):
self.mapping[key] = value
def __len__(self):
return len(self.mapping)
def has_key(self, key): return self.mapping.has_key(key)
def items(self): return self.mapping.items()
def keys(self): return self.mapping.keys()
def values(self): return self.mapping.values()
def save_to_file(self, filename=None):
if filename is None:
filename = self.config_file
f = open(filename, mode='w')
for key in self.mapping.keys():
f.write(key)
f.write(' = ')
f.write(str(self.mapping[key]))
f.write('\n')
f.flush()
f.close()
self.config_file = filename
def load_from_file(self, filename=None):
if filename is None:
filename = self.config_file
f = open(filename, mode='r')
for line in f:
try:
(key, value) = line.split('=', 1)
key = key.strip(' \n')
value = value.strip(' \n')
self.mapping[key] = value
except ValueError:
pass
f.close()
self.config_file = filename
def set(self, key, value):
self.mapping[key] = value
def get(self, key, kind=None, default=None):
if not key in self.mapping.keys():
if default is not None:
self.mapping[key] = default
return default
else:
raise KeyError
result = self.mapping[key]
if kind == None:
pass
elif kind == bool:
if isinstance(result, str):
result = not (result.lower() == "false")
elif isinstance(result, int):
result = not (result == 0)
else:
result = False
elif kind == int:
try:
result = int(result)
except ValueError:
result = int(float(result))
elif kind == float:
result = float(result)
elif kind == str:
result = str(result)
else:
pass
return result
def remove(self, key):
self.mapping.pop(key)
def clear(self):
self.mapping.clear()
def printout(self):
for key in self.mapping.keys():
print key, ':', self.mapping[key]